<br><br><div><span class="gmail_quote">2006/12/21, massimo schiavetta &lt;<a href="mailto:massimo.schiavetta@gmail.com">massimo.schiavetta@gmail.com</a>&gt;:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
&gt; ora ti spiego il mio problema per esteso.<br>&gt; nell&#39;azzienda dove lavoro stanno creando un dispositivo pc-based che si<br>&gt; dovrebbe auto configurare&nbsp;&nbsp;cercando un indirizzo ip libero se non presente<br>&gt; un server dhcp , e il tutto funziona riconosce la subnet che si usa ecc..
<br>&gt; visto che poi i problemi che si genereranno saranno miei volevo essere<br>&gt; sicuro che in caso non ci fossero + indirizzi liberi ci fosse almeno qualche<br>&gt; errore che me lo segni quindi devo riuscire a saturare tutti gli indirizzi
<br>&gt; privati :)<br><br><br>dunque, io farei in un modo un po&#39; diverso, ovvero invece di saturare<br>mi limiterei a contare gli ip liberi, facile almeno un una mask /24,<br>lento in termini di secondi, ma dipende da quanto frequentemente vuoi
<br>farlo girare, che so, se ti baste una volta all&#39;ora puo` andare bene:<br><br>#!/bin/bash<br><br># svuoto il file di controllo<br>cat /dev/null&gt;/tmp/contaliberi.txt<br># scrivo una riga per ogni ip che non risponde
<br>for i in $(seq 1 10);do ping -c1 -W1 172.117.2.$i|grep &quot;100% packet<br>loss&quot;&gt;&gt;/tmp/contaliberi.txt;done<br># li conto<br>liberi=`wc -l /tmp/contaliberi.txt|awk &#39;{print $1}&#39;`<br><br># soglia di 10 minimi
<br>if test $liberi -lt 10<br>then<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo &quot;ci sono solo $liberi indirizzi liberi&quot;|mailx<br><a href="mailto:tuoindirizzo@gmail.com">tuoindirizzo@gmail.com</a> -s &quot;alert controllo indirizzi: $liberi<br>
indirizzi liberi&quot;<br><br>fi<br><br>se vuoi velocizzarlo puoi per esempio suddividere lo script in piu`<br>parti, contando per es. da 1 a 100, da 101 a 200, ecc<br>lo stesso se hai piu` subnet e non vuoi sbatterti a usare 2 variabili
<br><br>il problema e` poi contare tutto insieme, ma a sto punto e` meglio se<br>lavoro un po&#39; e lascio a te il divertimento<br><br>ciao<br>m.<br><br>--<br>Mailing list info: <a href="http://lists.linux.it/listinfo/tilug">
http://lists.linux.it/listinfo/tilug</a><br></blockquote></div><br>devo dire che la tua soluzione è molto bella ma una cosa non mi è chiara , perchè dici di non volor saturare la rete ? e contare solo quelli liberi ? <br>
la parte di asseganzione e gia risolta e funziona benissimo, e la parte di gestine errore che sto cercando di testare e l&#39;unico caso che non riesco a provare è appunto l&#39;esaurimento degli indirizzi ma comunque penso che forse l&#39;unica cosa da fare è provare a ripetizione, cioè far girare più script fino a quando ifconfig si incarta o ottengo un bel crash di sistema:) ps per fortuna che questa volta + che che in modo empirico volevo usare un po di teoria :( 
<br>