Script que calcula os End.Rede e Broadcast

Publicado por Alessandro Dias 18/05/2007

[ Hits: 5.482 ]

Download lista_ips.sh




Cálculo dos endereços de Rede e Broadcast.

Vc entra com o ip/máscara, como:

192.168.10.66/27

  



Esconder código-fonte

#!/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%.}"


Scripts recomendados

Extrair ID de jogos de PS1 e PS2

Monitore seu pc com um comando fácil

Script simples para pegar informações sobre placa de rede

Mp3ToWav

Script que instala o repositório do BT em outras distros


  

Comentários
[1] Comentário enviado por diaspcf em 21/05/2007 - 17:25h

Pessoal, não sei o que está havendo, mas todos os meus scrits estão com esse problema. Já entrei em contato várias vezes com os moderadores pelo email do suporte, mas até agora nenhum retorno!!!
Caso alguem queira o script, me mande uma mensagem com o email que eu mando, ok?
Att.
Alessandro.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts