====== Diag réseau ====== 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 ===== [[https://www.ionos.com/digitalguide/server/configuration/linux-tcpdump-command/|doc utile]] ''tcpdump'' analyse le trafic qui passe sur le réseau. Donc réception, pas d'envoi. tcpdump ## 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 Examples : # vérifier si des connexions tcp arrivent sur le port 25 (SMTP) tcpdump port 25 # ===== nc ===== [[https://linuxize.com/post/netcat-nc-command-with-examples/|source]] ''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 # /!\ 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 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 # on peut aussi envoyer des fichiers au travers de nc # mais on découvrira ça plus tard ===== nmap ===== scanner des ports ===== curl ===== faire des requêtes (http)