Newsgroup: it.comp.os.linux.sys
Titolo: Sapere se l'host è "su"

Ho alcuni script che girano in cron e per vedere se la rete è "su", fanno alcuni ping a google, opendns, eccetera.
Faccio il test con host multipli, per sicurezza, nel caso che qualcuno sia down.
La cosa funziona da anni, però...
In questi giorni, non so perchè il ping non va, e non va per nessuno-nessuno (rete wind).  [1]
Gli script credono che la rete sia down ed abortiscono :(
Ho trovato una soluzuone alternativa con nmap.
Faccio un nmap -sn $HOST e greppo la risposta con "Host is up".
Funziona.
Ma ci sono altri modi (possibilmente veloci) per fare questa verifica ?
 
 
[1] ho pensato ad un problema dei filtri del router, ne ho disabilitato il firewall, ma nulla cambia
    ho pure (orrore) usato per prova un latop nuovo con windows 8.1 ....
 
-- 
Una password si puo' cambiare.
Un dato biometrico e' rubato per sempre!
Medita!


Ciao , 
 
se ho capito bene tu vuoi fare il check se l'ho raggiunge internet , giusto ?
teoricamente ti basta fare 1 ping al pop generalmente è il 3^ host di trace ed è statico .
 
puoi usare una cosa semplice di questo tipo : 
ping -c 1 127.0.0.1 &> /dev/null && echo success || echo fail
ma non ti conviene fare ping verso host di prodzione ( dns etc ) la cosa potrebbe essere mal digerita dal tuo provider 
 


Vai a vedere la porta 80 (http)
nmap -PS 80

 
 
Non capisco perchè di punto in bianco, dopo 7-8 anni almeno, tutti i ping mi vengano bloccati!


 nmap -PS 80
 
nmap -sn controlla 80 e 443.
Con -PS giustamente si possono testare più porte:
    Examples are -PS22 and -PS22-25,80,113,1050,3500
E forse è il più sicuro...
 
Ero interessato anche se esistevano altri trucchetti, oltre a nmap.
Vedi anche l'altra risposta.


 Vedi anche l'altra risposta.
 
C'è tcptraceroute che, come dice il nome, fa il traceroute tcp su porta
selezionabile.
 
traccia di saluti
 

 In questi giorni, non so perchè il ping non va, e non va per nessuno-nessuno (rete wind).  [1]
Se può interessare, su una adsl business telecom, i ping vanno "ogni tanto":
 
root@xxx ~> ping 8.8.8.8 ; ping 8.8.8.8 ; ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 
8.8.8.8
: icmp_seq=1 ttl=56 time=46.5 ms
^C
--- 8.8.8.8 ping statistics ---
9 packets transmitted, 1 received, 88% packet loss, time 8001ms
rtt min/avg/max/mdev = 46.508/46.508/46.508/0.000 ms
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
[...]
64 bytes from 
8.8.8.8
: icmp_seq=5 ttl=56 time=45.0 ms
^C
--- 8.8.8.8 ping statistics ---
8 packets transmitted, 5 received, 37% packet loss, time 7014ms
rtt min/avg/max/mdev = 44.257/45.133/47.822/1.386 ms
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
[...]
64 bytes from 
8.8.8.8
: icmp_seq=12 ttl=56 time=43.4 ms
^C
--- 8.8.8.8 ping statistics ---
17 packets transmitted, 12 received, 29% packet loss, time 16029ms
rtt min/avg/max/mdev = 43.467/44.507/47.009/0.889 ms

 Se può interessare, su una adsl business telecom, i ping vanno "ogni tanto":
 
Allora sono un fortunello, se per tanti anni ha sempre funzionato perfettamente!


 Non capisco perchè di punto in bianco, dopo 7-8 anni almeno, tutti i ping mi vengano bloccati!
 
   Probabilmente il tuo provider ha deciso di filtrare i pacchetti ICMP 
uscenti.
 
 
   Ciao,
 
 
-- 
Alessandro Selli 
http://alessandro.route-add.net
 
AVVERTENZA: i messaggi inviati a "trappola" non mi arriveranno.
WARNING: messages sent to "trappola" will never reach me.

 Ma ci sono altri modi (possibilmente veloci) per fare questa verifica ?
 
   Per i server di produzione aperti su reti complesse, e a maggior 
ragione su Internet, *LA* soluzione è una soluzione complessa ma 
affidabile e completa.  Ti devi installare un Internet Routing Daemon 
che faccia lui il lavoro sporco e che a te faccia arrivare 
un'informazione facile e intelligibile su cosa va o non va e come va 
nella/e interfaccia, rete, protocollo, instradamento, quello-che-è. 
Insomma, quagga o bird.
   Tutto il resto sono toppe che vanno bene in certi casi, fino ad un 
certo punto e fintanto che va bene ignorare numerosi aspetti del 
complesso mondo che si nasconde dietro a paroline apparentemente 
semplici come "connessione" e "routing".


 Ero interessato anche se esistevano altri trucchetti, oltre a nmap.
 
Premesso che io di reti non ne capisco un tubo ... credo che potresti
verificare l'IP pubblico con stun.
Ad esempio col solo client stun:
 
$ stun -v 
stun.l.google.com:19302
 2>&1 1>/dev/null | grep MappedAddress | sed -e 's/.*MappedAddress = //' -e 's/:.*//' | uniq