Script que calcula os End.Rede e Broadcast

Publicado por Alessandro Dias 18/05/2007

[ Hits: 5.365 ]

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

PKG Sync v1.0 - Utilitário para backup de pacotes deb baixados

adicionar um gerenciador de janelas a lista do kdm

Download com barra de progresso

Validar IP

Gravando jogos do XBOX 360


  

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