web-dev-qa-db-fra.com

Impossible de faire un ping dans Bash sous Windows

Quand j'essaye de courir:

ping www.google.com

Je reçois l'erreur suivante:

ping: icmp open socket: Permission denied

Courir avec Sudo ne fait aucune différence.

14
Silveri

Mise à jour: Ce problème a été résolu depuis la mise à jour de Windows 10 Créateurs (avril 2017). Bash sous Windows ne nécessite plus de droits d'administrateur pour exécuter la commande ping.

"La pile TCP/IP de Windows nécessite des privilèges d'administrateur pour ouvrir les sockets RAW pour des raisons de sécurité" [ source ]. Voir MSDN post . Ceci s'applique uniquement aux protocoles réseau de bas niveau tels que ICMP utilisé par ping.

L'exécution de votre shell "Bash sur Windows" en tant qu'administrateur devrait permettre à la commande ping de fonctionner. Il suffit de cliquer avec le bouton droit sur son raccourci et de sélectionner l'option:

Select 'run as administrator' for Bash start menu shortcut

Cela ne fonctionnera que pour la session unique ouverte avec ces droits.

Si d'autres commandes ne peuvent pas non plus se connecter à Internet (par exemple, apt-get, wget), vous devrez peut-être également consulter l'accès Internet ne fonctionne pas dans le sous-système Windows pour Linux .

23
Silveri

Cela ne fonctionnait pas auparavant car, comme indiqué dans la réponse de @ Silveri, il nécessite le protocole ICMP, qui n'était pas implémenté dans les versions précédentes .

À partir de la construction 14352, il est devenu activé pour les consoles disposant de privilèges d’administrateur .

À partir de la version 14926, il est devenu activé pour les consoles ne disposant pas de privilèges d'administrateur .

2
Gaia