Skip to content

fgillinux/ipcalc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ipcalc

Calculadora de IP

ipcalc é uma ferramenta de linha de comando simples para calcular detalhes de redes IPv4. Ela aceita um endereço IP e uma máscara CIDR, ou pode tentar descobrir o CIDR automaticamente usando o comando whois para IPs públicos. Além disso, a ferramenta pode calcular o número mínimo de sub-redes necessárias para atender a um requisito de número de hosts, o que é útil para planejamento de redes de computadores.

Funcionalidades

  • Cálculo de Sub-rede: Calcula Endereço de Rede, Broadcast, Máscara de Sub-rede, Faixa de Hosts (Min/Max) e Número de Hosts.
  • Auto-discovery de CIDR: Se o CIDR não for fornecido, a ferramenta consulta o comando whois para tentar determinar o bloco alocado (apenas para IPs públicos).
  • Validação de IP Privado: Detecta e alerta sobre IPs privados (RFC 1918), exigindo CIDR explícito para esses casos.
  • Suporte a CIDR /31 e /32: Trata corretamente redes ponto-a-ponto (/31) e hosts únicos (/32).
  • Modo Planejamento: Com as flags --plan-hosts ou --plan-subnets, encontra o CIDR mínimo que atende ao requisito e lista os blocos disponíveis dentro da rede fornecida.

Instalação

Obtenha os pacotes de instalação em release no github: https://github.com/fgillinux/ipcalc/releases

Faça a instalação:

Debian/Ubuntu (.deb):

sudo dpkg -i ipcalc_1.x.x86_64.deb

Fedora (.rpm):

sudo dnf install ipcalc-1.x.x86_64.rpm

Ou, se preferir, você pode compilar e instalar o projeto, seguindo as instruções de compilação descritas abaixo.

Requisitos para Compilação (opcional)

  • GCC: Compilador de C
  • Make: Utilizado para compilação
  • Whois: Utilizado para auto-discovery de CIDR

Compilação (opcional)

Obtenha o código-fonte do projeto em release no github: https://github.com/fgillinux/ipcalc/releases

Descompacte o arquivo .tar.gz

tar -xvf ipcalc-1.x.x86_64.tar.gz

Entre na pasta descompactada

cd ipcalc-1.x.x86_64

Ou, clone o repositório:

git clone https://github.com/fgillinux/ipcalc.git

Entre na pasta do repositório:

cd ipcalc

Para compilar o projeto, basta utilizar o make:

make

Para limpar os arquivos gerados:

make clean

Para instalar o projeto, basta utilizar o make install:

sudo make install

Uso

A sintaxe básica é:

./ipcalc <IP>/[<CIDR>] [--plan-hosts N | --plan-subnets N]

Exemplos

1. Calcular rede com CIDR específico:

./ipcalc 200.147.35.149/17

Saída:

Dados da Rede para:  200.147.35.149/17
----------------------------------------
IP Address:          200.147.35.149
Netmask:             255.255.128.0
CIDR:                /17
Network Address:     200.147.32.0
Broadcast Address:   200.147.63.255
Host Min:            200.147.32.1
Host Max:            200.147.63.254
Hosts/Net:           65534

2. Auto-discovery (sem CIDR):

./ipcalc 200.147.35.149

A ferramenta irá consultar o comando whois para encontrar o bloco do IP.

3. Planejamento por número de hosts (exemplo):

./ipcalc 192.168.0.0/24 --plan-hosts 50

Saída (trecho):

[Planejamento - Hosts]
Hosts desejados: 50
CIDR recomendado: /26 (62 hosts utilizáveis por bloco)
Blocos disponíveis dentro de /24: 4
Bloco    1: 192.168.0.0/26      Hosts: 192.168.0.1->192.168.0.62        Broadcast: 192.168.0.63
...

Você também pode planejar a quantidade de sub-redes desejada substituindo por --plan-subnets <N>.

Licença

Este projeto está licenciado sob a licença GPLv3.

CHANGELOG

Para maiores detalhes, ver arquivo CHANGELOG.md

Autor

  • Fábio Gil - Versão 1.1 (14/12/2025)

Criado com auxilio da Inteligência Artificial, usando:

  • Google Antigravity
  • Codex da OpenAI

About

ipcalc é uma ferramenta de linha de comando simples para calcular detalhes de redes IPv4.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published