无法在Windows上的Bash中ping


14

当我尝试运行时:

ping www.google.com

我收到以下错误:

ping: icmp open socket: Permission denied

跑步 sudo 并没有什么区别。


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

Answers:


23

更新: 这个问题已经修复了 Windows 10 Creators更新 (2017年4月)。 Windows上的Bash不再需要管理员权限来执行ping命令。

“Windows TCP / IP堆栈需要管理员权限才能打开RAW套接字以进行安全措施”[ 资源 ]。看到 MSDN帖子 。这仅适用于低级网络协议,例如使用的ICMP ping

以管理员身份运行“Bash on Windows”shell应该允许ping命令工作。只需右键单击它的快捷方式,然后选择选项:

Select 'run as administrator' for Bash start menu shortcut

这仅适用于使用这些权限打开的单个会话。

如果其他命令也无法连接到互联网(例如 apt-getwget 那么你可能还需要看一下 Internet子系统访问在Windows Subsystem for Linux中不起作用


最近已经解决了这个问题 - 一些内部构建不需要以管理员身份运行ping和ping6工作
Magnetic_dud

很有趣的是,你已经是root用户而不是以管理员身份运行,但这不起作用
Michael

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.