Quelques logiciels réseau #3 : NPing
NPing est un logiciel qui permet de tester des accès réseau et a fortiori de tester la sécurité d’un réseau.
Avec les logiciels de ping classiques, les demandes d’echo sont envoyées par ICMP, protocole de niveau 3 qui ne se préoccupe pas des ports (niveau 4).
NPing peut faire des requêtes d’echo ICMP mais aussi en ARP, TCP ou UDP.
Il peut même tester beaucoup plus de choses que ça…
Installation
NPing fait partie de la suite logicielle nmap donc ceci devrait convenir :
apt-get install nmap
Demandes d’echo par différents protocoles
Les demandes d’echo sont des requêtes qui attendent une certaine réponse de la machine distante pour déterminer si elle est vivante.
Par défaut, nping utilise TCP sur le port 80. Il fait un début de poignée de main TCP avec le flag SYN, si la cible renvoie un SYN/ACK, le port est ouvert :
sudo nping monip.org
Pour un ping classique par ICMP (aucun intérêt d’utiliser nping pour ça mais bon …) :
sudo nping --icmp monip.org
Moins classique maintenant : un ping UDP pour voir si le port 53/DNS est ouvert (si le port UDP est ouvert, le serveur de répond rien, si il est fermé, il m’envoie une réponse ICMP) :
sudo nping --udp -g 12345 -p 53 8.8.4.4
ARP est un protocole de niveau 3 dont le but est de trouver l’adresse MAC à partir d’une adresse IP. L’avantage d’utiliser ARP c’est qu’il est indépendant du bon fonctionnement de la couche TCP/IP. Les machines répondent sans restriction à ce protocole mais uniquement dans le réseau local (ARP fonctionne en broadcasr, il ne traverse pas les routeurs) :
sudo nping --arp 192.168.0.254
Pour utiliser un scan ARP à plus grande échelle, vous pouvez aussi utiliser Netdiscover.
Echos en client/serveur
NPing permet aussi de tester des echos en client/serveur, un peu à la façon de IPerf.
Côté serveur :
sudo nping --echo-server "monmotdepasse" -vvv
Côté client :
sudo nping --echo-client "monmotdepasse" <IP_DU_SERVEUR>