Tidak dapat melakukan ping di Bash di Windows

14

Ketika saya mencoba menjalankan:

ping www.google.com

Saya mendapatkan kesalahan berikut:

ping: icmp open socket: Permission denied

Berlari dengan sudotidak membuat perbedaan.

Silveri
sumber
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

Jawaban:

23

Pembaruan: Masalah ini telah diperbaiki sejak Pembaruan Windows 10 Creators (April 2017). Bash di Windows tidak lagi membutuhkan hak administrator untuk menjalankan perintah ping.

"Tumpukan Windows TCP / IP memerlukan hak admin untuk membuka soket RAW untuk langkah-langkah keamanan" [ sumber ]. Lihat posting MSDN . Ini hanya berlaku untuk protokol jaringan tingkat rendah seperti ICMP yang digunakan oleh ping.

Menjalankan shell "Bash on Windows" Anda sebagai administrator harus memungkinkan perintah ping berfungsi. Cukup klik kanan pintasannya dan pilih opsi:

Pilih 'jalankan sebagai administrator' untuk pintas menu mulai Bash

Ini hanya akan berfungsi untuk sesi tunggal yang dibuka dengan hak-hak ini.

Jika perintah lain juga tidak dapat terhubung ke internet (misalnya apt-get, wget) maka Anda mungkin juga perlu melihat akses Internet yang tidak berfungsi di Subsistem Windows untuk Linux .

Silveri
sumber
ini telah diperbaiki baru-baru ini - beberapa build orang dalam tidak perlu dijalankan sebagai admin agar ping dan ping6 berfungsi
Magnetic_dud
lucu bahwa Anda sudah melakukan root tanpa menjalankan sebagai administrator, tetapi itu tidak berhasil
Michael