Menu Fermer

Les commandes réseau utiles de Linux

Après l’article Les commandes réseau utiles de Windows, autour de GNU/Linux.
On retrouve d’ailleurs des commandes réseaux similaires aux deux systèmes d’exploitation.

Les principales commandes réseau de Linux pour configurer le réseau, faire des scans de ports, traceroute, vérifier les connexions établies.

Les commandes réseau utiles de Linux

Commandes basiques

ifconfig

Ifconfig (Interface Configuration) est un utilitaire en ligne de commandes Linux pour configurer, gérer et interroger des paramètres d’une interface réseau via une interface de ligne de commande ou dans des scripts de configuration système.

La commande ifconfig est utilisée pour afficher les informations de configuration de réseau actuelles, configurer une adresse IP, Netmask ou une adresse de diffusion à une interface réseau, créer un alias pour l’interface réseau, configurer d’une adresse MAC et activer ou désactiver les interfaces réseau.

La commande ip

Sur Linux, la commande IP est une commande avec plus de fonctionnalités que ifconfig.
La commande aide à faire diverses tâches liées à l’administration du réseau.
Par exemple, attribuer une adresse IP sur une interface réseau, changer le masque de sous-réseau, changer les routes IP.
Elle aide donc à configurer vos interfaces réseaux (NICs).

Ping

Le fonctionnement est assez similaire à Windows.
La différence est que la commande ping se lance en continue, vous devez appuyer sur CTRL+C pour l’arrêter.
Les paramètres de la commande diffère.
L’option -c permet de limiter le nombre de ping effectué, par exemple :

ping -c 10 www.google.fr
La commande ping sur Linux

Traceroute

De même traceroute permet d’obtenir le chemin vers une destination avec tous les routeurs et noeuds intermédiaires.
La commande est assez similaire à celle de Windows.

Traceroute sur Linux

Host

La commande host permet d’effectuer des résolutions DNS.

host www.google.fr
www.google.fr has address 216.58.213.131
www.google.fr has IPv6 address 2a00:1450:4007:80f::2003

Celle-ci est assez utile pour tester une résolution DNS rapide.

Commandes avancées

Il s’agit de commandes qui ne sont, en général, pas natif et qu’il faut installer.
Certaines commandes se lancent “en continue” en se mettant à jour pour suivre les connexions établies (mtr, iftop etc).
Il est bien entendu possible des lancer en batch, dans le cadre d’un script par exemple. Rendez-vous dans le man pour trouver l’option.

Dig

Dig sur Linux et résolution DNS

Dig est un couteau suisse complet des résolutions DNS.
L’outil interroge le serveur DNS présent dans /etc/resolv.conf mais il est tout à fait possible d’interroger un autre serveur, avec l’option @ipduserveur.

Dig sur Linux et résolution DNS

Ainsi dig affiche aussi le temps de la résolution DNS. On remarquera que la résolution avec Google est plus longue.

l’option -t permet de choisir le type, par exemple pour obtenir les MX d’un domaine :

dig -t mx +short google.fr
10 aspmx.l.google.com.
50 alt4.aspmx.l.google.com.
30 alt2.aspmx.l.google.com.
20 alt1.aspmx.l.google.com.
40 alt3.aspmx.l.google.com.

On peut aussi tracer la résolution DNS avec l’option +trace pour suivre la requête DNS.
Plus d’informations sur dig sur l’article :

Traceroute

traceroute ou tracert sont des commandes très utiles pour vérifier le chemin empruntés par des paquets réseaux pour atteindre une destination.
Ces commandes utilisent le protocole UDP ou ICMP afin de “pinguer” tous les routeurs utilisés pour atteindre une destination.
Vous pouvez l’utiliser pour diagnostiquer des problèmes de connexion.

traceroute : a quoi cela sert et comment faire sur Windows et Linux

mtr

mtr est un outil qui permet de lancer un traceroute en continue et ainsi de visualiser sur quel noeud, les pertes se font.
C’est un très bon outil de diagnostique.

Mtr traceroute avec le délai

iftop

iftop fait partie des commandes “top” mais pour le réseau qui permet de visualiser en temps réel le débit par adresses contactées.
Vous pouvez visualiser le débit en octet mais aussi par nombre de paquets envoyés/reçus, trier par débit, host etc.
C’est un outil idéal si vous souhaitez surveiller le débit par application.

iftop sur Linux pour visualiser le débit en temps réel

Programme similaire : pkstatdarkstat ou dstat
Enfin se reporter à la page suivante :

iptraf

iptraf est un équivalent plus ancien de iftop.
On retrouve les mêmes options.

iptraf sur Linux, visualiser le débit en temps réel

Programme similaire : bwm-ng (Bandwidth Monitor NG)

Enfin se reporter à la page suivante :

netstat

La commande netstat est une commande Linux de base pour analyser et vérifier les connexions réseaux.
Elle affiche diverses informations relatives au réseau, telles que les connexions réseau, les ports ouverts et en écoute, les tables de routage, les statistiques d’interface, les connexions masquerade, etc.

Comment lister toutes les connexions (établies, ouvertes, en attente) avec la commande netstat de Linux

ss

L’outil SS (socket statistics) est une commande CLI utilisée pour afficher les statistiques du réseau.
La commande SS est une version plus simple et plus rapide de la commande netstat désormais obsolète.
Avec la commande IP, SS est essentiel pour collecter des informations sur le réseau et résoudre les problèmes de réseau.

Syntaxe et utilisation de la commande ss sur Linux

netcat / nc

netcat est un outil complet d’utilitaire réseau qui permet d’effectuer pas mal d’opération.
Vous pouvez créer un socket ou vous pouvez y envoyer ce que vous voulez… des fichiers, du son n’importe quoi… il est ensuite possible de rediriger ce dernier sur des périphériques /dev/
Si c’est du son et que vous envoyez sur le périphérique de son, les données seront lues et jouées…
Si vous rediriger vers /bin/bash, on obtient un remote shell …

On peut aussi effectuer des scans de ports.

Pour tester la vitesse entre deux machines

Sur la machine A, on ouvtre un socket sur le port 2222 :

nc -l -n -p 20000 > /dev/null

et sur la machine B, on s’y connecte de cette manière :

dd if=/dev/zero bs=100M count=1 | nc -q 1 192.168.1.4 20000
 1+0 enregistrements lus
 1+0 enregistrements écrits
 104857600 octets (105 MB) copiés, 8,82765 s, 11,9 MB/s

ou encore…

Sur la machine A :

nc -v -v -l -n -p 2222 >/dev/null

Sur la machine B :

time yes|nc -v -v -n 192.168.1.4 2222 >/dev/null

Laisser tourner quelques secondes et couper avec CTRL+C

On obtient sur la machine B, on obtient le temps

real 0m15.616s
user 0m1.044s
sys 0m0.164s
netcat_tester_vitesse_entre_deux_serveurs_2

et sur la machine A, la connexion avec la quantité de données en octet :

connect to [192.168.1.4] from (UNKNOWN) [192.168.1.10] 54948
 sent 0, rcvd 185842872
netcat_tester_vitesse_entre_deux_serveurs

On divise la quantité en octet par le nombre de second real : 185842872 /15.616 / 1024 / 1024
=> 11,3 Mo/s

Pour mesurer le débit entre deux machines, voir aussi du côté de netperf.

Nmap et Scan de ports

Pour vérifier si un port est ouvert :

root@Mak-tux:/tmp# nc -vvv -w 10 -z www.malekal.com 80
DNS fwd/rev mismatch: ns206195.ovh.net != telecharger.malekal.com
ns206195.ovh.net [94.23.44.69] 80 (http) open
 sent 0, rcvd 0

On peut alors donner plusieurs ports ou une plage de ports, par exemple : 1024-5000

Nmap est un port scan qui permet d’obtenir des informations sur la version de Windows et des applications serveurs qui peuvent tourner.
En autre les versions.
Nmap bien entendu d’autres options

Nmap et le scan de ports sur Linux

Plus de détails sur la page suivante :

tcpdump

tcpdump permet d’effectuer des captures d’interface.
Avec tout le contenu ou simplement la liste des paquets et appliquer divers filtres, comme par exemple n’avoir que les paquets TCP avec certains flag (SYN, ACK etc).

Pour une utilisation basique et écouter par exemple l’interface eth0 :

tcpdump -i eth0

tcpdump est très complet et propose beaucoup de filtres.
Plus de détails :

ngrep

ngrep fonctionne comme tcpdump à la seul différence qu’il ne va afficher que les strings des paquets.
Cette commande est très intéressante pour récupérer le contenu non chiffré.

Commande IP pour configurer l’interface réseau

Que vous soyez sur Ubuntu, Mint, Debian, Fedora ou CentOS, il peut arriver que vous deviez modifier la configuration réseau.
Pour cela, il existe des commandes comme ifconfig, route ou ip link, ip route, etc.

Liens