====== 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)