PsPing

Esecuzione di Ping TCP tramite il tool PsPing.


Clock Icon 2 min Calendar Icon 18-11-2023 Like Icon 9

Il ping è sicuramente lo strumento più utilizzato da chi lavora con le reti informatiche, un semplice comando che permette di ottenere tante informazioni in tempo zero. Permette di capire se un host è raggiungibile o meno, la latenza media, massima e minima, il numero di pacchetti persi, o addirittura se ci sono problemi di configurazioni nelle routing table. Il ping viene anche usato da molti protocolli e tecniche come, ad esempio, il Ping Watchdog e il routing ricorsivo che in base alla raggiungibilità dell’host avviano azioni come avvisare l’amministratore di rete o disabilitare una rotta per utilizzarne un’altra di backup.

Il ping eseguito normalmente dal cmd di Windows o dal terminale di sistemi Unix si basa sull’utilizzo del protocollo ICMP. A volte però, quando si installa un server remoto o sistemi simili, sarebbe utile poter utilizzare un ping basato su TCP in modo tale da poter capire ad esempio:

  • Lo stato delle regole di filtraggio. Potremmo incappare in regole che bloccano i pacchetti ICMP ma non quelli TCP o viceversa.
  • La latenza dei pacchetti TCP. Sebbene le differenze in termini di latenze di solito sono trascurabili, se eseguiamo un ping normale le latenze riportate sono relative ai pacchetti ICMP. Questo è un protocollo livello 3 che, se paragonato al protocollo TCP il quale si trova a livello trasporto (livello 4) presenta un header molto più complesso siccome deve garantire affidabilità, quindi un overhead ben maggiore di ICMP.
  • Errori nelle regole di NAT. In alcune situazioni, magari con reti con una topologia non banale, potrebbe capitare di trovarsi con regole di NAT errate che mascherano solo pacchetti TCP e non ICMP, creando disservizi e problemi di sicurezza.
  • Il corretto funzionamento di applicativi in ascolto su socket TCP.


Di conseguenza abbiamo deciso di presentare il tool PsPing. Questo tool è stato sviluppato da Mark Russinovich ed è disponibile per sistemi Windows, implementa le funzionalità di ping, ping TCP e misurazioni di latenza e di larghezza di banda. L’installazione è molto semplice basta aprire il sito PsPing, scaricare il file zip, estrarlo e aggiungerlo alla variabile di ambiente PATH.

L’utilizzo di PsPing prevede un server su cui avviare il comando
psping -s <source:sourceport> dove:

  • source è l’indirizzo;
  • sourceport è la porta di ascolto del server.


Lato client invece è possibile eseguire:

  • psping <ipserver:porta> per eseguire il ping TCP;
  • psping -l 8k -n 10000 <ipserver:porta> per eseguire un test di latenza con pachetti TCP da 8kb con 10 mila invii e ricezioni;
  • psping -b -l 8k -n 10000 <ipserver:porta> per eseguire un test di larghezza di banda.

Oltre al protocollo TCP, per il test di larghezza e latenza, è possible usare anche UDP aggiungendo il flag -u.

Ad esempio: psping -u -b -l 8k -n 10000 <ipserver:porta> esegue un test di larghezza di banda con pacchetti UDP. Invece utilizzando il flag -r è possibile testare la ricezione di dati dal server anziché l’invio.