เมื่อฉันพยายามเรียกใช้:
ping www.google.com
ฉันได้รับข้อผิดพลาดต่อไปนี้:
ping: icmp open socket: Permission denied
ทำงานกับsudo
ไม่ได้สร้างความแตกต่าง
เมื่อฉันพยายามเรียกใช้:
ping www.google.com
ฉันได้รับข้อผิดพลาดต่อไปนี้:
ping: icmp open socket: Permission denied
ทำงานกับsudo
ไม่ได้สร้างความแตกต่าง
คำตอบ:
อัปเดต:ปัญหานี้ได้รับการแก้ไขแล้วตั้งแต่Windows 10 ผู้สร้างอัปเดต (เมษายน 2017) Bash บน Windows ไม่ต้องการสิทธิ์ผู้ดูแลระบบเพื่อดำเนินการคำสั่ง ping อีกต่อไป
"สแต็ก Windows TCP / IP ต้องการสิทธิ์ผู้ดูแลระบบเพื่อเปิดซ็อกเก็ต RAW สำหรับมาตรการความปลอดภัย" [ แหล่งที่มา ] ดูโพสต์ MSDN นี้จะใช้กับโปรโตคอลเครือข่ายในระดับต่ำเช่น ICMP ping
ใช้โดย
ใช้เชลล์ "Bash บน Windows" ของคุณในฐานะผู้ดูแลระบบควรอนุญาตให้คำสั่ง ping ทำงาน เพียงคลิกขวาที่ทางลัดแล้วเลือกตัวเลือก:
สิ่งนี้จะใช้ได้กับเซสชันเดียวที่เปิดด้วยสิทธิ์เหล่านี้
หากคำสั่งอื่น ๆ ยังไม่สามารถเชื่อมต่ออินเทอร์เน็ต (เช่นapt-get
, wget
) แล้วคุณอาจยังต้องมองไปที่การเข้าถึงอินเทอร์เน็ตไม่ได้ทำงานใน Windows ระบบย่อยสำหรับลินุกซ์
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/…