Diagnostic des Problèmes de Connexion Réseau

Dans un environnement informatique, il arrive parfois qu’un site web ou une plateforme ne réponde pas ou réponde très lentement. Ce type de problème peut être causé par un blocage réseau, un DNS mal configuré, un pare-feu trop restrictif ou une panne temporaire. Il est donc essentiel de savoir diagnostiquer correctement l’origine du problème pour pouvoir le corriger ou le contourner.
Dans ce tutoriel, je vais vous montrer comment diagnostiquer les problèmes de connexion réseau, en utilisant l’exemple de GitHub, une plateforme largement utilisée par les développeurs. Les tests décrits ici sont applicables à d’autres sites également, avec de simples adaptations d’adresse.

Note : tous les exemples utilisent GitHub, car c’est un cas concret que je rencontre régulièrement dans mon environnement — certains réseaux d’entreprise ou institutionnels le bloquent sans raison apparente. Remplacez simplement github.com par le domaine de votre choix dans chaque commande.

Tests de Diagnostic

1. Vérification des Résolutions DNS
L’une des premières étapes consiste à vérifier si GitHub est correctement résolu par le serveur DNS.
Commande nslookup

nslookup raw.githubusercontent.com

 

Si vous obtenez une réponse avec plusieurs adresses IP, alors votre DNS fonctionne correctement.

Commande dig

dig raw.githubusercontent.com

Cette commande fournit plus de détails sur la résolution DNS.

 

Si aucune adresse n’est retournée, il peut y avoir un blocage DNS.

Vérification de la Connectivité avec GitHub

Test de connexion via ping

ping -c 10 github.com

 

Si la commande ne renvoie aucune réponse, cela peut signifier que GitHub ne répond pas aux requêtes ICMP, ou que la connexion est bloquée.

Test de connectivité via curl

curl -I https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py

Si la réponse contient HTTP/2 200 OK, alors l’accès HTTP est fonctionnel.

Si vous obtenez une erreur 403 Forbidden ou Timeout, il y a probablement un blocage réseau.

Test de Récupération de Fichier

Vérification avec wget

wget https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py

Si le fichier est téléchargé avec succès, cela signifie que la connexion à GitHub est correcte.

 

Tracer le Chemin du Trafic avec traceroute

traceroute raw.githubusercontent.com

Si vous voyez des * * * à plusieurs endroits, cela peut indiquer un filtrage du trafic.

Tester la Connexion SSH et les Ports à GitHub

Si vous utilisez GitHub via SSH, testez la connexion :

ssh -vT [email protected]

Si la connexion fonctionne, vous devriez voir un message indiquant :

Hi <votre-utilisateur>! You’ve successfully authenticated, but GitHub does not provide shell access.

 

Vérification des ports avec nc

Si GitHub est bloqué, testez les ports 22 (SSH) et 443 (HTTPS) :

nc -zv github.com 22
nc -zv github.com 443
  • Si la connexion réussit, le port est ouvert.
  • Si la connexion échoue, le port est bloqué par le pare-feu ou l’administrateur réseau.

 

Si la connexion SSH est bloquée

 

Tester l’Accès via un VPN ou un Mobile Hotspot

Si GitHub ne fonctionne pas sur votre réseau mais fonctionne sur un autre Wi-Fi ou via un VPN, alors il y a probablement un filtrage réseau.

Solutions pour Contourner un Blocage GitHub

Changer de DNS : Essayez d’utiliser Google DNS ou Cloudflare DNS :

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null

Attention : Sur les systèmes modernes utilisant systemd-resolved, ce fichier peut être écrasé au redémarrage. Pour une modification permanente, utilisez nmcli ou modifiez votre configuration réseau via Netplan.

Utiliser un VPN pour contourner les restrictions réseau.

Changer de réseau : testez la connexion via un point d’accès mobile (partage de connexion).

Utiliser un proxy HTTP : Si votre réseau impose un filtrage strict, configurez votre terminal pour passer par un proxy :

export http_proxy="http://votre-proxy:port"
export https_proxy="http://votre-proxy:port"

Avec ces tests, vous pouvez rapidement diagnostiquer un problème de connexion à un site comme GitHub et identifier s’il est causé par un blocage réseau, un DNS défaillant, ou un filtrage. En appliquant les solutions proposées, vous pourrez accéder à GitHub (ou un autre site) même dans des environnements réseaux restrictifs. 🚀

 

Récapitulatif — Que signifie chaque résultat ?

Commande Résultat OK Problème possible
nslookup / dig Adresse IP retournée Blocage ou mauvaise config DNS
ping Réponses reçues Filtrage ICMP ou panne complète
curl -I HTTP/2 200 OK Blocage HTTP, proxy ou pare-feu
wget Fichier téléchargé Timeout = blocage réseau
traceroute Chemin complet visible * * * = filtrage en route
nc -zv port 22/443 Connection succeeded Port bloqué par pare-feu
ssh -vT Message d’authentification SSH bloqué, essayez le port 443

 

Si tous les tests échouent sauf via VPN ou hotspot mobile — le blocage vient de votre réseau local. C’est la conclusion la plus fréquente dans mon cas avec GitHub. 😄

Bonne chance!

👤

📁