Page 1 sur 1
[Ex] Diagnostique connexion internet
Posté : lun. 25 nov. 2013 23:47
par Teckos
Bonsoir,
Je vous propose un petit utilitaire très simple et basique mais toutefois utile et qui pourrait intéresser des gens.
Le principe est très simple, il s'agit de cibler d'où viens le problème lorsque vous n'avez pas internet. Attention l'outils n'a pas pour but d'être quelque chose de très "précis", en effet le programme va effectuer quatre test à la suite :
- Un ping de la carte réseau
- Un ping de votre passerelle
- Un ping du DNS
- Un ping d'un site internet
La principale utilité du programme est de gagner un peu de temps en cas de diagnostique de panne internet.
► Afficher le texteChangement mise à jour
- Possibilités de choisir la carte réseau à tester.
- Possibilité de réinitialiser la carte réseau sélectionnée.
- Ping du DNS.
- Détection automatique de la passerelle.
- Détection automatique du DNS.
- Fichier de configuration en .INI
- Fenêtre principale cachée si affichage de la fenêtre Options.
- Changement de chemin de fichier pour éviter les problèmes de droits d'écriture.
- Correction de diverses fautes d'orthographe ( Désolé si il en reste ).
Merci à jguinch pour ses idées, conseils et son UDF.
► Afficher le texteLien mediafire executable 32bit ( A jour )
► Afficher le texteLien mediafire executable 64bit ( A jour )
Si vous avez des remarques n'hésitez pas, le programme n'est certainement pas parfait, et la critique constructive est toujours bonne à prendre
Bonne soirée à vous.
Re: [Ex] Diagnostique connexion internet
Posté : mar. 26 nov. 2013 23:47
par jguinch
Merci pour le partage, l'idée est sympa.
Petites améliorations à prévoir (pour moi) :
- corriger les fautes d'orthographe
- désactiver ou cacher la fenêtre principale quand la fenêtre Options est affichée
- utiliser un fichier INI pour stocker la config plutôt qu'un fichier texte (ça sera plus simple)
- éviter de stocker des fichiers dans "Program Files" car l'utilisateur n'aura pas forcément les droits d'écriture (privilégier un dossier dans le profil utilisateur - ex : @UserProfileDir)
- idem pour c:\windows\temp, privilégier @TempDir
Quelques suggestions d'évolution :
- permettre le choix de la carte réseau si plusieurs cartes sont connectées (ex : wifi + ethernet)
- détecter automatiquement la passerelle par défaut au lieu de demander à l'utilisateur de choisir lui-même
- ajouter un test de ping sur les adresses IP DNS
Voilà pour l'instant..
Re: [Ex] Diagnostique connexion internet
Posté : mer. 27 nov. 2013 16:53
par Teckos
Merci pour le retour.
T'es idées d'amélioration sont intéressantes, je vais essayer d'implanté tout ça =)
EDIT : J'ai déjà effectué quelques améliorations :
- Détection automatique de la passerelle par défaut et du DNS.
- Changement des chemins pour fichier de config. ( Je passerais en INI plus tard )
- Ajout de ping DNS.
- Fenêtre principale désactiver lorsque l'on ai dans les options.
Reste à pouvoir choisir la carte réseau, je n'ai pas encore regarder ça mais j'avoue que juste en y pensant comme ça je vois pas trop comment faire :/
Re: [Ex] Diagnostique connexion internet
Posté : mer. 27 nov. 2013 18:05
par jguinch
Regarde par
ici, peut-être que ça pourra te servir
Re: [Ex] Diagnostique connexion internet
Posté : mer. 27 nov. 2013 23:22
par Teckos
Merci pour ton UDF jguinch, ça m'a bien aidé.
Je met à jour le premier post, n'hésitez à me faire part de vos idées ou de dysfonctionnement.
Re: [Ex] Diagnostique connexion internet
Posté : jeu. 28 nov. 2013 09:35
par jguinch
Tu peux simplifier les fonctions _IPDetails() et _IPDetails2() en utilisant les fonctions de mon UDF :
► Afficher le texte
Code : Tout sélectionner
Func _IPDetails()
$netCard = ""
; <--- Si une carte réseau a été selectionnée, on détecte la passerelle pour cette carte
If _IsChecked($carte) Then $IPAdress = $netCard
$aInfos = _GetNetworkAdapterInfos($netCard )
$aSplit = StringSplit($aInfos[0][16], ",")
_GUICtrlIpAddress_Set($IPAddress1, $aSplit[1])
Return
EndFunc ;==>_IPDetails
Func _IPDetails2()
$netCard = ""
; <--- Si une carte réseau a été selectionnée, on détecte les DNS pour cette carte
If _IsChecked($carte) Then $IPAdress = $netCard
$aInfos = _GetNetworkAdapterInfos($netCard )
$aSplit = StringSplit($aInfos[0][25], ",")
_GUICtrlIpAddress_Set($IPAddress2, $aSplit[1])
Return
EndFunc ;==>_IPDetails2
Pour l'affichage de la carte réseau, rien ne s'affiche chez moi. Il faut faire une petite modif dans ton script :
► Afficher le texte
Code : Tout sélectionner
Case $MenuItem3
GUICtrlSetData($Combo1,"")
GUISetState(@SW_SHOW, $Form1)
GUISetState(@SW_HIDE, $Form1_1)
$infos = _GetNetworkAdapterList()
For $i = 0 To UBound($infos, 1) - 1 ; <---- La boucle doit commencer à 0, pas à 1
GUICtrlSetData($Combo1, $infos[$i][0], $infos[0][0]) ; <--- J'ajour le 3eme parametre ($infos[0][0]), pour ne pas avoir une ligne blanche
Next
Pour les fichiers INI, c'est plus simple, non. Par contre, tu n'as pas besoin de créer le fichier avant d'écrire dedans, tu peux donc enlever _FileCreate($file)
Re: [Ex] Diagnostique connexion internet
Posté : dim. 01 déc. 2013 15:16
par Teckos
Ok je regarderais ça demain.
EDIT: Mise à jour avec les modifications suggéré par jguinch + Ajout d'un bouton pour réinitialiser la carte réseau sélectionnée.
Re: [Ex] Diagnostique connexion internet
Posté : mar. 03 déc. 2013 17:59
par aulus
merci pour cet utilitaire. Le test a bien fonctionné !
Re: [Ex] Diagnostique connexion internet
Posté : mar. 21 janv. 2014 06:42
par arrkhan
Bonjour,
Dans les cas de blocage internet, il peut être intéressant de nettoyer également le cache DNS avec un ipconfig /flushdns.
Et dans les cas ou rien ne veut fonctionner, la commande réseau netsh winsock reset all permet la remise à zéro du socket qui gère la couche TCP/IP. un petit reboot (ou pas) et généralement ça repart.