Dans cet article, nous cherchons à découvrir des outils pour voir si des ports sont ouverts, si le chemin pour aller d'un endroit à un autre existe, etc.
Pour cela, nous regarderons 2 outils, tcpdump
et nc
(aka NetCat).
tcpdump
analyse le trafic qui passe sur le réseau. Donc réception, pas d'envoi.
tcpdump <options> <filter> ## options (utiles) # -c (quantities) : tcpdump se termine tout seul quand un certain nombre de paquets sont arrivés # -i (interface) : pour choisir quelle interface est monitorée ## filters # port <number>
Examples :
# vérifier si des connexions tcp arrivent sur le port 25 (SMTP) tcpdump port 25 #
nc
(alias NetCat) est disponible presque partout d'office, même dans un container Alpine. Surnommé le couteau suisse du réseau, NetCat permet de faire plein de choses comme : lire, écrire des données au travers d'internet
nc
par l'exemple :
# Envoyer une requête TCP (par défaut) sur une IP et un port précis nc <ip> <port> # /!\ entame un échange de données # si on ne veut que scanner l'ouverture d'un port, rajouter -z et -v # -z : only scan open ports, pas d'envoi de données # -v : être + verbeux # Scan le port 80 en TCP sur NDD nc -z -v www.example.com 80 # Avec un timeout de 1 seconde nc -z -v -w 1 www.example.com 80 # Requête UDP nc -u example.com 80 # scanner une plage de port, par exemple de 1000 à 1100 nc -z -v <host> 1000-1100 # à combiner éventuellement avec un "grep succeeded" pour n'avoir que les ports ouverts # Ne fonctionne pas sous Alpine, car le nc est implémenté par Busybox est une version light # Mettre nc en mode écoute/listen nc -l <port> # on peut aussi envoyer des fichiers au travers de nc # mais on découvrira ça plus tard
scanner des ports
faire des requêtes (http)