Etablir un diagnostic réseau en mode terminal sous Linux.

Il est vrai qu’avec ses interfaces graphiques Linux rend bien des services pour les débutants. Mais il existe en mode terminal des commandes réseaux très puissantes. Le bon vieux terminal que beaucoup déteste à cause de son utilisation archaïque et démodé va nous aider à établir un diagnostic réseau sous Linux très rapidement.

Et pourtant, le terminal reste encore un outil indispensable pour certaines choses comme la compilation d’un programme ou l’exécution de scripts ou de certains programmes sans interface graphique. Il faut pas oublier que c’est par le terminal (également appelé console) que Linux fut créé.

Le tutoriel a été réalisé sous Ubuntu.

Pour ce tutoriel nous allons voir un ensemble de commandes pour effectuer un diagnostic réseau, soit pour un réseau local, ou bien pour le réseau Internet.

Une fois ouvert, vous verrez votre nom avec un @ suivi de votre nom de machine juste avant le signe de $ comme ci-dessous. Le signe $ signifie que vous êtes connecté en mode utilisateur c’est-à-dire aussi limité sur ce que vous pouvez faire dans Linux (comme installer des programmes), ceci pour des raisons de sécurités. Pour avoir accès à tout les droits dans Linux, taper sudo su puis [Enter]. Votre mot de passe utilisateur vous sera demandé.

  • Connaître votre adresse IP et votre adresse MAC.

Pour avoir des informations sur votre configuration IP et sur votre carte réseau, vous pouvez taper la commande suivante :

ifconfig

ci-dessous j’ai fait apparaître en gras l’adresse réseau  et l’adresse MAC (unique pour chaque carte réseau).

eth2      Link encap:Ethernet  HWaddr 08:00:27:dc:83:c3
 inet adr:192.168.1.11 Bcast:192.168.1.255  Masque:255.255.255.0
 adr inet6: fe80::a00:27ff:fedc:83c3/64 Scope:Lien
 UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
 Packets reçus:22 erreurs:0 :0 overruns:0 frame:0
 TX packets:46 errors:0 dropped:0 overruns:0 carrier:0
 collisions:0 lg file transmission:1000
 Octets reçus:2448 (2.4 KB) Octets transmis:5747 (5.7 KB)
 Interruption:10 Adresse de base:0xd020
lo        Link encap:Boucle locale
 inet adr:127.0.0.1  Masque:255.0.0.0
 adr inet6: ::1/128 Scope:Hôte
 UP LOOPBACK RUNNING  MTU:16436  Metric:1
 Packets reçus:4 erreurs:0 :0 overruns:0 frame:0
 TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
 collisions:0 lg file transmission:0
 Octets reçus:240 (240.0 B) Octets transmis:240 (240.0 B)

l’interface lo est l’interface de loopback qui a pour adresse 127.0.0.1. (c’est une interface virtuelle qui permet à la machine de se connecter à elle même sans passer par le réseau, ce qui est nécessaire pour de nombreux programmes. On parle en français d’interface de boucle de retour, ou adresse de bouclage. )

  • Redémarrage du service réseau

Vous pouvez « redémarrer » votre carte réseau à l’aide de la commande suivante :

sudo /etc/init.d/networking restart

  • Comment savoir si votre fil réseau Ethernet est bien branché

Attention, cette commande ne vérifie pas si vous pouvez aller sur le web.
Elle vérifie seulement si votre câble réseau Ethernet est bien branché de votre ordinateur au modem (ou routeur).

sudo mii-tool

Résultat de la commande : eth2: negotiated 100baseTx-FD, link ok

  • Savoir si votre carte réseau est fonctionnelle et si vous pouvez aller sur Internet

Vérifier si votre carte réseau est fonctionnelle. L’option -c 10 signifie que la commande ping fera dix requêtes :

ping -c 10 127.0.0.1

Votre carte réseau est fonctionnelle, elle « répond » bien à la commande ping.

Pour vérifier si vous pouvez aller sur internet (très pratique si votre navigateur préféré vous fait des misères). Ici, l’adresse google.com est souvent utilisé dans le milieu réseau pour vérifier s’il y a un contact réseau.

ping -c 10 www.google.com

Vous pouvez voir ici que 10 commandes sont été envoyées et 9 sont arrivées donc 10% de perte.

  • Quelques exemples de l’utilisation de la commande dig pour vérifier vos dns.

Dig est une commande qui permet de diagnostiquer les dysfonctionnements dans la résolution de nom.

dig quick-tutoriel.com

Nous pouvons voir, ici, que la résolution de nom à bien fonctionné, le serveur DNS qui a effectué la requête à l’adresse 192.168.1.1 (ce qui correspond bien à ma livebox). On en profite aussi pour voir l’adresse ip publique du site quick-tutoriel.com 94.23.33.161.

La commande dig peut aussi vous servir à tester la rapidité de réponses des serveur DNS (Très à la mode en ce moment). Prenons comme exemple le site quick-tutoriel.com.

  • 1er Test avec le serveur DNS d’opendns : 208.67.222.222
dig @208.67.222.222 quick-tutoriel.com | grep "time"

la commande | grep « time » permet de n’afficher que cette ligne dans le résultat de la commande.

  • 2ème Test avec le serveur de google : 8.8.8.8

Léger avantage pour les serveurs de google.

  • Surveiller le trafic réseau en temps réel

cette commande permet de voir la quantité de données transitant sur votre carte réseau en indiquant la provenance de ceux-ci.

iftop

Par défaut la commande iftop n’est pas installée. Taper apt-get install iftop et tout doit rentrer dans l’ordre.

  • Afficher les ports ouverts

La commande netstat, affiche des informations et statistiques sur les connexions réseaux, la table de routage, etc.

sudo netstat -lp --inet

  • Afficher l’adresse route ou passerelle de votre réseau

C’est l’adresse qui vous permet de communiquer avec votre modem ou votre routeur.

route

  • Déterminer la route prise par un paquet pour atteindre la cible sur internet

Traceroute permet de déterminer la route prise par un paquet pour atteindre la cible sur internet. On peut utiliser soit l’adresse IP, soit le nom d’hôte. Attention certains fireWall ou routeurs ne se laissent pas voir avec la commande traceroute.
La commande traceroute est très utile pour savoir ou peut se trouver un blocage (plutôt ralentissement). Il existe un grand nombre d’options, entre autre il est possible de choisir les gateway ( jusqu’à 8 ) pour atteindre une machine. Je vous conseille de lire le man traceroute.

(par défaut l’utilitaire traceroute n’est pas installé dans ubuntu, utiliser la commande sudo apt-get install traceroute pour l’installer et l’utiliser).

traceroute quick-tutoriel.com

That’s All.

9 Potins

  1. Philippe Pique

    Bonjour,
    Suite à un orage je n’arrive plus à me connecter sur internet avec mon ordinateur Linux.
    La box est hors de cause car je peux me connecter avec mon portable Windows.
    Quand je tape la commande sudo /etc/init.d/networking restart
    le système me répond : commande introuvable
    Merci de votre aide
    Philippe

  2. Bonjour Jeanne,

    En fonction des éléments que vous m’avez donné (commande ifconfig), je vois que votre carte n’est pas détectée par votre système donc déjà ce n’est pas très bon.
    L’adresse 127.0.0.1 est une adresse « système » qui vérifie que la pile TCP est bien initialisée.
    Pour moi votre diagnostic est le bon, votre carte réseau est HS.
    Bon courage.

  3. Bonjour, en testant avec ifconfig ma carte réseau soudée à ma carte mère et qui n’a plus de diodes allumées je n’ai que l’interface lo, il manque ethernet au dessus, elle répond bien à la requête ping -c 10 127.0.0.1 mais avec ping -c 10 http://www.google.comet, elle ne sort pas sur internet (nom ou service inconnu) Le câble est ok car testé ailleurs. Carte réseau HS? Merci de votre aide.
    Jeanne

  4. Martine, moi j;utilise nordvpn avec linux, de mon côté tout fonctionne sans soucis. je pense que vous pouvez contacter le sav pour obtenir de l’aide par chat en direct, ils vous aideront en quelques minutes…

  5. Bonjour jecris de mon tel car impossible d’ouvrir une page web de mon pc sous linux ubuntu 16.04.
    Jai fait quelqurs manip pour installer nord vpn et depuis plus rien….
    Jai fais ega4 : dig quick tutorel voici le résultat :
    Global options; +cmd
    Connexion timeout; no severs could be reached.

    Pourriez vous m’aider ?
    Je vous remercie par avance de votre réponse.

  6. je voulais dire postfix avec base de donnée mysql et un webmail rouncube Merci!

  7. Très bon tuto ! vraiment merci car j’ai pu installer ubuntu server 9.04 sans difficulté!
    Je recherche un tuto sur l’installation et configuration de apache2 et postix_tls_mysql
    Merci d’avance!

  8. Bonjour,

    Merci pour ces encouragements.

    A bientôt sur Quick-Tutoriel.com.

  9. Merci, très bon article pour certaines bases en réseau !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *