Ping
Da Wikipedia, l'enciclopedia libera.
Ping è un programma disponibile sui principali sistemi operativi che misura il tempo, espresso in millisecondi, impiegato da uno o più pacchetti ICMP a raggiungere un altro computer o server in rete (sia essa Internet o LAN) ed a ritornare indietro all'origine. È prettamente utilizzato per conoscere la presenza e la raggiungibilità di un altro computer connesso in rete.
Tecnicamente ping invia un pacchetto ICMP di echo request e rimane in attesa di un pacchetto ICMP di echo response in risposta. Solitamente infatti la parte di sistema operativo dedicata alla gestione delle reti (stack di rete) è programmata per rispondere automaticamente con un pacchetto echo response alla ricezione di un pacchetto di echo request.
L'autore originario di ping fu Mike Muuss che lo scrisse nel 1983 come tool diagnostico di rete mentre lavorava al Ballistics Research Lab dell'US Army. Il nome originario era dovuto alla somiglianza del programma da lui creato ad un sonar marino che appunto emette dei ping e aspetta il ritorno del suono dopo che questo è rimbalzato sul bersaglio. In seguito David L. Mills ha definito ping come l'acronimo di Packet InterNet Groper (ricercatore di pacchetti Internet).
Solitamente ping è uno strumento molto utile e in alcuni contesti necessario ma il fatto che la risposta ad un ping avvenga sempre e comunque in maniera automatica lo ha reso uno degli strumenti preferiti per gli attacchi di tipo DoS o DDoS. Infatti se ad un gran numero di computer viene inviato un pacchetto echo request con un ben preciso indirizzo ip mittente falsificato (spoofato in gergo internet) questi computer saranno portati automaticamente a rispondere al falso indirizzo ip inondandolo (flood) di pacchetti echo response. Questo potrebbe causare l'irraggiungibilità o (in caso di modem con scarsa larghezza di banda) la disconnessione della vittima da internet. Un tipico esempio di questo attacco era lo smurf, oggi difficilmente praticabile.
Un altro uso maligno del tool ping consisteva nell'uso del flag -f del programma che comportava un massiccio invio di pacchetti echo request verso la vittima designata. Se l'attaccante aveva un ampia larghezza di banda poteva facilmente floodare il destinatario mandando in crisi lo stack di rete e di conseguenza il sistema operativo della vittima impossibilitato a ricevere e a rispondere a tutti i pacchetti in arrivo.