Calcular faixas de endereçamento IP... [RESOLVIDO]

1. Calcular faixas de endereçamento IP... [RESOLVIDO]

José Nelson
jnsilvaleite

(usa Ubuntu)

Enviado em 16/06/2010 - 00:51h

Como criar um script que receba como parâmetros, um endereço IP e uma máscara. Em seguida,
deve ser impresso na tela todas as faixas de IP?


  


2. MELHOR RESPOSTA

Sandro Marcell
SMarcell

(usa Slackware)

Enviado em 16/06/2010 - 14:28h

Veja se esse ajuda? tá meio "tosquinho" mas... =)

===============================
#!/bin/bash
#
# Uso: ./script <ip> <mascara>
#
ip="$1"
mascara="$2"

OLD_IFS=$IFS
IFS="."

set - $ip
nip_1=$1
nip_2=$2
nip_3=$3
nip_4=$4

set - $mascara
nm_1=$1
nm_2=$2
nm_3=$3
nm_4=$4

network="$((nip_1 & nm_1)).$((nip_2 & nm_2)).$((nip_3 & nm_3)).$((nip_4 & nm_4))"
broadcast="$((nip_1 | (255 ^ nm_1))).$((nip_2 | (255 ^ nm_2))).$((nip_3 | (255 ^ nm_3))).$((nip_4 | (255 ^ nm_4)))"

set - $network
inicio=$(($4 + 1))
a=$1
b=$2
c=$3

set - $broadcast
fim=$(($4 - 1))

IFS=$OLD_IFS

echo -e "Network Address: ${network}\nBroadcast: $broadcast"
echo "IP's disponiveis:"

for i in `seq $inicio $fim`
do
echo "$a.$b.$c.$i"
done
===============================

3. Acho que isso te ajuda:

Renato Augusto Andrade
CerberusBH

(usa Slackware)

Enviado em 16/06/2010 - 19:03h

Olá jnsilvaleite!

Veja o site http://jodies.de/ipcalc

Você pode fazer o cálculo no site, ou baixar o aplicativo pra usar no console do Linux. Eu uso aqui e é excelente.

Você pode fornecer a máscara tanto no padrão "normal" quanto no formato CIDR.

Abraço!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts