moyen · Durée estimée : 30 min
Comprendre comment un système Linux communique sur le réseau : voir ses interfaces, tester la connectivité, inspecter les connexions ouvertes, télécharger des fichiers. C'est le socle avant d'aborder Nmap (tutoriel 05).
Toutes les commandes de ce tutoriel sont utilisables dans la console.
ifconfig / ip
ifconfig (ancienne commande) affiche les
interfaces réseau et leurs adresses IP :
ifconfig
eth0: inet 10.0.2.15 netmask 255.255.255.0lo: inet 127.0.0.1 netmask 255.0.0.0
La commande moderne (à privilégier sur Kali) :
ip a
ip addr
ip link
lo — loopback (127.0.0.1), local uniquementeth0 — première interface Ethernetwlan0 — première interface Wi-Fidocker0, tun0 — interfaces virtuelles (VPN, conteneurs)127.0.0.1 est toujours toi-même.
0.0.0.0 signifie "toutes les interfaces".
ip a et trouve ton adresse IP
(probablement 10.0.2.15 dans jslinux).
10.x.x.x ou 192.168.x.x.
ping
ping envoie des paquets ICMP à une cible
et mesure le temps de réponse.
ping google.com
Arrêter avec Ctrl+C.
Limiter à 4 paquets :
ping -c 4 google.com
Changer l'intervalle (par défaut 1 s) :
ping -i 0.5 google.com
64 bytes from 142.250.75.14: icmp_seq=1 ttl=115 time=12.3 ms
127.0.0.1 (toi-même), puis
google.com, puis une adresse inventée
192.0.2.1. Compare.
127.0.0.1 doit répondre instantanément.
google.com doit répondre si Internet est dispo.
192.0.2.1 doit timeout.
nslookup / host / digPour traduire un nom de domaine en adresse IP :
nslookup google.com
host google.com
dig google.com
host google.com → google.com has address 142.250.75.14
Sur Alpine, ces commandes peuvent nécessiter
apk add bind-tools. Si elles ne sont pas
disponibles, utilise ping qui résout aussi
le nom :
ping -c 1 google.com
/etc/hostsTu peux forcer la résolution manuellement :
cat /etc/hosts
127.0.0.1 localhost
/etc/hosts est consulté avant
les serveurs DNS. C'est une astuce classique en test
d'intrusion pour rediriger un domaine vers une machine
contrôlée.
google.com avec la commande disponible
sur ton système (nslookup, host
ou ping).
netstat / ss
netstat (ancien) et ss (moderne)
listent les connexions réseau actives et les ports en écoute.
netstat -tuln
ss -tuln
-t → TCP seulement
-u → UDP seulement
-l → ports en écoute (listening)
-n → afficher les ports en chiffres (pas les noms)
-p → afficher le processus (nécessite root)
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTENss -tulnp avec les droits root est
la commande à connaître pour voir quels
services écoutent sur ta machine.
netstat -tuln (ou ss -tuln)
et note les ports en écoute sur ta machine.
wget
wget télécharge un fichier depuis une URL.
wget https://example.com/fichier.txt
Options utiles :
wget -O nouveau_nom.txt https://example.com/fichier.txt
wget -c https://example.com/gros_fichier.iso # reprise
wget -q https://example.com/fichier.txt # silencieux
wget -r https://example.com/dossier/ # récursif
wget -O page.html https://example.com
→ télécharge la page d'accueil dans page.html.
wget -r peut saturer un serveur si mal utilisé.
Ne l'utilise jamais sur un site que tu ne possèdes pas
sans autorisation écrite.
https://example.com.
https://example.com dans un
fichier test_wget.html, puis vérifie avec
ls et cat test_wget.html.
curl
curl est plus puissant que wget :
il affiche la réponse sans la sauvegarder par défaut.
curl https://example.com
Sauvegarder dans un fichier :
curl -o page.html https://example.com
Voir uniquement les en-têtes HTTP :
curl -I https://example.com
Suivre les redirections :
curl -L https://example.com
Envoyer des données POST :
curl -X POST -d "nom=valeur" https://example.com/api
wget → conçu pour télécharger (miroir, récursif)
curl → conçu pour interroger des API, tester des URLs
curl -I
est parfait : tu vois le code HTTP (200, 301, 404, 500)
en une ligne.
curl -I https://example.com et
identifie le code de statut HTTP dans la première ligne.
HTTP/2 200 ou HTTP/1.1 200 OK.
traceroute
traceroute montre tous les routeurs traversés
pour atteindre une cible.
traceroute google.com
Sur Alpine, cette commande peut ne pas être installée par défaut :
apk add traceroute
Alternative avec BusyBox :
traceroute -n google.com
1 10.0.2.2 0.5 ms2 192.168.1.1 3.2 ms3 * * *
*
signifient que le routeur ne répond pas au ICMP.
google.com si
traceroute est disponible.
ip a / ifconfig → interfaces et IP
ping host → tester connectivité
ping -c 4 host → 4 paquets
nslookup host / host host → résolution DNS
netstat -tuln / ss -tuln → ports en écoute
wget URL → télécharger
wget -O nom URL → télécharger en renommant
curl URL → interroger une URL
curl -I URL → en-têtes seulement
curl -L URL → suivre redirections
traceroute host → chemin réseau
22 SSH
23 Telnet (obsolète, non chiffré)
25 SMTP (mail)
53 DNS
80 HTTP
110 POP3
143 IMAP
443 HTTPS
3306 MySQL
3389 RDP
8080 HTTP alternatif
ip a127.0.0.1 en 4 paquetsexample.comss -tulnhttps://example.com avec wgetcat ou headcurl -I https://example.com et noter le code HTTPls ne doit plus afficher
index.html ni test_wget.html.