Script que calcula os End.Rede e Broadcast
Publicado por Alessandro Dias 18/05/2007
[ Hits: 5.819 ]
Cálculo dos endereços de Rede e Broadcast.
Vc entra com o ip/máscara, como:
192.168.10.66/27
#!/bin/bash
function dec2bin() { echo "obase=2;$1" | bc -l }
function bin2dec() { echo "$((2#$1))" }
addr=`echo $1 | cut -d "/" -f 1`
mask=`echo $1 | cut -d "/" -f 2`
mask_BIN=$(echo 1|sed "/^1\{$mask\}$/bb;:a s/^1\{1,$(($mask-1))\}$/&1/;ta;:b;s/^[01]\{1,31\}$/&0/;tb;s/[01]\{8\}/&./g;s/\.$//")
for i in 1 2 3 4; do
eval ip$i=$(dec2bin $(echo $addr | cut -d'.' -f $i) | sed ':a;s/^[01]\{1,7\}$/0&/;ta')
eval nm$i=$(echo $mask_BIN | cut -d'.' -f $i)
done
echo "Entrada : "$addr"/"$mask
echo "End.IP(2) : "$ip1"."$ip2"."$ip3"."$ip4
echo "Mascara(2) : "$mask_BIN
nm_d="${nm1//0}${nm2//0}${nm3//0}${nm4//0}"
echo "End. IP : $addr"
echo "Mascara : $((2#$nm1)).$((2#$nm2)).$((2#$nm3)).$((2#$nm4)) = ${#nm_d}"
net=$((((2#$ip1$ip2$ip3$ip4)) & ((2#$nm1$nm2$nm3$nm4))))
i=$(echo $nm1$nm2$nm3$nm4 | sed 's/1/2/g;s/0/1/g' | sed 's/2/0/g')
bcast=$(($net | ((2#$i))))
addr=""; for i in 1 2 3 4; do ip1=$((net & 255)) net=$((net >> 8))
addr="${ip1}.$addr"; done; echo "Rede : ${addr%.} / ${#nm_d}"
addr=""; for i in 1 2 3 4; do ip1=$((bcast & 255)) bcast=$((bcast >> 8))
addr="${ip1}.$addr"; done; echo "Broadcast : ${addr%.}"
Instalando o Xen 4.0 no Debian 6 64 bits
Verificar e/ou limpar cache de memória
Instalar Mplayer e todos os Codecs Facilmente
Converter arquivos CSV para Ldif
A produção de áudio e vídeo no Linux e as distribuições dedicadas a esse fim
Criptografando sua Home com Gocryptfs para tristeza do meliante
A Involução do Linux e as Lambanças Desnecessárias desde o seu Lançamento
O Journal no Linux para a guarda e consulta de logs do sistema
A evolução do Linux e as mudanças que se fazem necessárias desde o seu lançamento
Instalar Ubuntu com Btrfs + LUKS de forma fácil
Habilitando "hotcorner" no Ubuntu
Zen Kernel no Arch Linux (instalar e remover)
Como instalar e remover o kernel Liquorix
Fazendo o controle de Xbox 360 USB funcionar no One Piece Pirate Warriors 4 (Arch Linux/Steam)
Executar um programa em Rust (2)
Não consigo publicar screenshots no Viva o Linux [RESOLVIDO] (5)









