Script que calcula os End.Rede e Broadcast

Publicado por Alessandro Dias 18/05/2007

[ Hits: 5.459 ]

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

Escolhendo os diretorios e fazendo backup com Logs

SED: Números por extenso

strlen.sed: Tamanho de uma string com o sed

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

Shell-Script para deletar vírus e suas extensões


  

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