Nie można pingować w Bash w systemie Windows

14

Kiedy próbuję uruchomić:

ping www.google.com

Otrzymuję następujący błąd:

ping: icmp open socket: Permission denied

Bieg z sudonie robi różnicy.

Silveri
źródło
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

Odpowiedzi:

23

Aktualizacja: ten problem został rozwiązany od czasu aktualizacji Windows 10 Creators Update (kwiecień 2017 r.). Bash w systemie Windows nie wymaga już uprawnień administratora do wykonania polecenia ping.

„Stos TCP / IP systemu Windows wymaga uprawnień administratora do otwierania gniazd RAW ze względów bezpieczeństwa” [ źródło ]. Zobacz post MSDN . Dotyczy to tylko protokołów sieciowych niskiego poziomu, takich jak ICMP używane przez ping.

Uruchomienie powłoki „Bash w systemie Windows” jako administrator powinno umożliwić działanie polecenia ping. Po prostu kliknij prawym przyciskiem myszy jego skrót i wybierz opcję:

Wybierz „uruchom jako administrator” dla skrótu menu startowego Bash

Będzie to działać tylko w przypadku pojedynczej sesji otwartej z tymi uprawnieniami.

Jeśli inne polecenia również nie może połączyć się z Internetem (np apt-get, wget), to może też trzeba spojrzeć na Internet nie działa w systemie Windows Subsystem for Linux .

Silveri
źródło
zostało to ostatnio naprawione - niektóre kompilacje osób niejawnych nie muszą działać jako administrator, aby ping i ping6 działały
Magnetic_dud
to zabawne, że jesteś już rootem bez działania jako administrator, ale to nie działa
Michael