Kann unter Windows nicht in Bash pingen


14

Wenn ich versuche zu rennen:

ping www.google.com

Ich erhalte folgenden Fehler:

ping: icmp open socket: Permission denied

Laufen mit sudomacht keinen Unterschied.


1
Why does the ping command require bash to be started with admin privileges? This is a known issue that has to due with differences between the way the Linux and the Windows kernel handle the ICMP request that makes ping possible. We plan to address this in future releases. msdn.microsoft.com/en-us/commandline/wsl/…
phuclv

Antworten:


23

Update: Dieses Problem wurde seit dem Windows 10 Creators Update (April 2017) behoben . Für Bash unter Windows sind keine Administratorrechte mehr erforderlich, um den Ping-Befehl auszuführen.

"Für den Windows TCP / IP-Stack sind Administratorrechte erforderlich, um RAW-Sockets für Sicherheitsmaßnahmen zu öffnen" [ Quelle ]. Siehe MSDN-Beitrag . Dies gilt nur für Netzwerkprotokolle auf niedriger Ebene wie ICMP, die von verwendet werden ping.

Wenn Sie Ihre "Bash on Windows" -Shell als Administrator ausführen, sollte der Befehl ping funktionieren. Klicken Sie einfach mit der rechten Maustaste auf die Verknüpfung und wählen Sie die Option:

Wählen Sie "Als Administrator ausführen" für die Verknüpfung zum Bash-Startmenü

Dies funktioniert nur für die einzelne Sitzung, die mit diesen Rechten geöffnet wurde.

Wenn andere Befehle auch nicht mit dem Internet verbinden können (zB apt-get, wget) dann könnten Sie auch betrachten müssen Internetzugang nicht für Linux in Windows - Subsystem arbeitet .


Dies wurde vor kurzem festgelegt - einige Insider - Builds müssen nicht als Administrator ausführen ping und ping6 Arbeits haben
Magnetic_dud

Es ist lustig, dass Sie bereits root sind, ohne als Administrator zu laufen, aber das funktioniert nicht
Michael

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.