<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>&nbsp;</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 &gt; 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 &gt; <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 &gt; tabela-roteamento.txt<br>
<br>
touch lista-ips-destino.txt<br>
touch lista-ips-roteadores.txt<br>
<br>
echo &quot;&quot; &gt; lista-ips-destino.txt <br>
echo &quot;&quot; &gt;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 &quot;$ipdestino&quot; &gt;&gt; lista-ips-destino.txt<br>
echo &quot;$iproteador&quot; &gt;&gt; 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 -&gt; 24, 255.255.255.255 -&gt; 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 &quot;0.0.0.0&quot; ?<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>&nbsp;</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>&nbsp;</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 &eacute; respons&aacute;vel por seu conte&uacute;do e endere&ccedil;amento. Cabe ao destinat&aacute;rio cuidar quanto ao tratamento adequado. Sem a devida autoriza&ccedil;&atilde;o, a divulga&ccedil;&atilde;o, a reprodu&ccedil;&atilde;o, a distribui&ccedil;&atilde;o ou qualquer outra a&ccedil;&atilde;o em desconformidade com as normas internas da ELETRONORTE S/A s&atilde;o proibidas e pass&iacute;veis de san&ccedil;&atilde;o disciplinar, c&iacute;vel e criminal. Esta mensagem pode ser monitorada".<br>
</font><br>
</body><br>
</html><br>
</font></td></tr></table>