<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<style>
<!--
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
p.MsoAutoSig, li.MsoAutoSig, div.MsoAutoSig
        {mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman";}
span.EstiloDeEmail17
        {mso-style-type:personal-compose;
        font-family:Arial;
        color:windowtext;}
@page Section1
        {size:595.3pt 841.9pt;
        margin:70.85pt 3.0cm 70.85pt 3.0cm;}
div.Section1
        {page:Section1;}
-->
</style>
</head>
<body lang=PT-BR link=blue vlink=purple>
<div class=Section1>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Olá comunidade, preciso de ajuda nesse script que vou ter q
rodar em um servidor CentOS.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>Fiz um script que processa uma tabela de roteamento de um <a
href="http://www.vivaolinux.com.br/topico/Shell-Script/Ajuda-em-Script-processador-de-Tabela-de-Roteamento"
oncontextmenu="return false;"><font color="#006600"><span style='color:#006600'>servidor</span></font></a>.
<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>A lista é bem maior, mostrei esse pedaço pra dar uma idéia. Eis uma
tabela de exemplo:<br>
<br>
user@servidor:~/user > route -n<br>
Tabela de Roteamento IP do Kernel<br>
Destino Roteador MßscaraGen. Opþ§es MÚtrica Ref Uso Iface<br>
10.114.32.154 192.164.34.140 255.255.255.255 UGH 6 0 0 eth0<br>
10.114.32.153 192.164.34.140 255.255.255.255 UGH 6 0 0 eth0<br>
152.13.49.21 192.164.34.140 255.255.255.255 UGH 2 0 0 eth0<br>
10.114.32.26 192.164.34.140 255.255.255.255 UGH 6 0 0 eth0<br>
152.13.174.121 192.164.34.110 255.255.255.255 UGH 2 0 0 eth0<br>
10.114.32.25 192.164.34.140 255.255.255.255 UGH 6 0 0 eth0<br>
152.13.49.25 192.164.34.110 255.255.255.255 UGH 2 0 0 eth0<br>
152.13.102.5 192.164.34.110 255.255.255.255 UGH 3 0 0 eth0<br>
152.13.174.4 192.164.34.110 255.255.255.252 UG 6 0 0 eth0<br>
152.13.104.0 192.164.34.110 255.255.255.252 UG 6 0 0 eth0<br>
152.13.53.4 192.164.34.140 255.255.255.252 UG 2 0 0 eth0<br>
152.13.49.20 192.164.34.140 255.255.255.252 UG 2 0 0 eth0<br>
152.13.49.24 192.164.34.110 255.255.255.252 UG 2 0 0 eth0<br>
152.13.103.4 192.164.34.110 255.255.255.252 UG 4 0 0 eth0<br>
152.13.103.0 192.164.34.110 255.255.255.252 UG 5 0 0 eth0<br>
152.13.41.24 192.164.34.110 255.255.255.252 UG 5 0 0 eth0<br>
152.13.41.0 192.164.34.110 255.255.255.252 UG 6 0 0 eth0<br>
152.13.95.24 192.164.34.110 255.255.255.252 UG 5 0 0 eth0<br>
152.13.95.20 192.164.34.110 255.255.255.252 UG 4 0 0 eth0<br>
172.19.174.0 192.164.34.110 255.255.255.0 UG 4 0 0 eth0<br>
192.168.49.0 192.164.34.140 255.255.255.0 UG 3 0 0 eth0<br>
10.114.32.0 192.164.34.140 255.255.255.0 UG 6 0 0 eth0<br>
172.19.103.0 192.164.34.110 255.255.255.0 UG 5 0 0 eth0<br>
10.129.1.0 192.164.34.140 255.255.255.0 UG 5 0 0 eth0<br>
172.20.104.0 192.164.34.110 255.255.255.0 UG 7 0 0 eth0<br>
192.164.34.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0<br>
192.164.43.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0<br>
12.89.0.0 0.0.0.0 255.255.252.0 U 0 0 0 eth1<br>
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1<br>
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo<br>
0.0.0.0 12.89.0.1 0.0.0.0 UG 0 0 0 eth1<br>
0.0.0.0 192.164.34.180 0.0.0.0 UG 1 0 0 eth0<br>
user@servidor:~/user > <br>
<br>
Fiz um script que lê essa tabela e gera 02 <a
href="http://www.vivaolinux.com.br/topico/Shell-Script/Ajuda-em-Script-processador-de-Tabela-de-Roteamento"
oncontextmenu="return false;"><font color="#006600"><span style='color:#006600'>arquivos</span></font></a>
com a lista de IPs destino e IPs dos roteadores.<br>
Eis o script:<br>
<br>
#!/bin/bash<br>
<br>
route -n > tabela-roteamento.txt<br>
<br>
touch lista-ips-destino.txt<br>
touch lista-ips-roteadores.txt<br>
<br>
echo "" > lista-ips-destino.txt <br>
echo "" >lista-ips-roteadores.txt<br>
<br>
cat tabela-roteamento.txt | while read linha; do <br>
<br>
ipdestino=`echo $linha | awk {'print $1'}`<br>
iproteador=`echo $linha | awk {'print $2'}`<br>
mascara=`echo $linha | awk {'print $3'}`<br>
<br>
echo "$ipdestino" >> lista-ips-destino.txt<br>
echo "$iproteador" >> lista-ips-roteadores.txt<br>
<br>
done<br>
<br>
Preciso melhorar esse script em alguns aspectos:<br>
<br>
1) Preciso ignorar as duas primeiras linhas; só quero IPs e mais nada. Como faz
isso em shell?<br>
<br>
2) Depois que o arquivo é formado, gostaria de classificar o arquivo pelos IPs,
tipo menores primeiros e maiores no fim do arquivo. Como fazer ?<br>
<br>
3) Preciso criar um arquivo de IPs destino no formato IP/numero de bits da
mascara. <o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>Isso, porque vou ter que utilizar esse formato no comando nmap pra
testar se essas máquinas estão ativas na rede.<br>
Exemplo: 192.168.45.0/24 ou 192.168.44.11/32. <o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>Para isso precisaria converter a mascara em numero de bits, tipo
255.255.255.0 -> 24, 255.255.255.255 -> 32, etc. Como posso fazer?<br>
<br>
4) Pela tabela acima dá pra vê que existem apenas 04 roteadores. Como posso
obter uma lista de roteadores com IPs não repetidos? <br>
<br>
1 - 192.164.34.110<br>
2 - 192.164.34.140<br>
3 - 20.89.0.1<br>
4 - 192.164.34.180<br>
<br>
5) Como ignorar os IPs "0.0.0.0" ?<br>
<br>
Agradeço a atenção de todos e estou no aguardo on-line. Att.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoAutoSig><b><font size=2 color=maroon face="Times New Roman"><span
style='font-size:10.0pt;color:maroon;font-weight:bold'>Newton Teixeira do
Nascimento Junior<br>
Analista de Sistemas - CMAO<br>
<br>
</span></font></b><o:p></o:p></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>
</div>
</body>
</html>
<table><tr><td bgcolor=#ffffff><font color=#000000><html><br>
<body><br>
<font face = "arial" size = "1" color = "#000080">Aviso:<br>"O emitente desta mensagem é responsável por seu conteúdo e endereçamento. Cabe ao destinatário cuidar quanto ao tratamento adequado. Sem a devida autorização, a divulgação, a reprodução, a distribuição ou qualquer outra ação em desconformidade com as normas internas da ELETRONORTE S/A são proibidas e passíveis de sanção disciplinar, cível e criminal. Esta mensagem pode ser monitorada".<br>
</font><br>
</body><br>
</html><br>
</font></td></tr></table>