Tidak ada antarmuka di mana penangkapan dapat dilakukan

24

Saya menggunakan Ubuntu 13.04.

Wireshark tidak akan menunjukkan log apa pun kepada saya, tidak akan berfungsi sama sekali. Saya terhubung ke WiFi saya, router Belkin.

Mike Wentworth
sumber
Sebuah solusi cepat, bukan solusi: Anda dapat menjalankan wireshark sebagai root: gksudo wireshark.
soulsource

Jawaban:

45

Buka terminal dengan menekan Ctrl+ Alt+ Tdan ketik perintah berikut:

sudo dpkg-reconfigure wireshark-common

tekan panah kanan dan masukkan untuk ya

sudo chmod +x /usr/bin/dumpcap

Anda sekarang dapat menjalankannya tanpa root dan Anda akan dapat menangkapnya.

M.Tarun
sumber
4
+1. Ini bekerja pada 14,04 juga. Catatan: dokumen mengatakan : "menangkap paket USB tidak diaktifkan untuk pengguna non-root dengan menggunakan Kemampuan Linux. Anda harus menangkap paket menggunakan metode yang dijelaskan dalam I./a., Mengatur id pengguna yang ditetapkan secara permanen menggunakan dpkg -memulai atau menjalankan Wireshark sebagai root. "
jfs
Ini akan sangat membantu bagi para pemula, jika Anda juga dapat menggambarkan apa yang dilakukan dengan perintah di atas yang membuatnya berfungsi
Ahmed
1
ITU BEKERJA di LTS 14.04 .... Terima kasih banyak.
ThN
chmod +xmembuat dumpcap dapat dieksekusi untuk semua orang. Alternatifnya adalah menambahkan pengguna yang ingin Anda ijin masuk ke grup wireshark.
Domen
2

Pesan "Tidak ada antarmuka dapat digunakan untuk menangkap dalam sistem ini dengan konfigurasi saat ini" biasanya muncul ketika Anda tidak memiliki hak istimewa untuk mengakses antarmuka jaringan untuk pemantauan. Coba buka terminal dan jalankan wireshark gksudo. Jika beberapa antarmuka jaringan muncul, itu karena ketika Anda menjalankan wireshark tanpa izin root, Anda tidak memiliki hak untuk memantau.

Untuk memperbaikinya, jalankan perintah berikut di terminal:

sudo setcap CAP_NET_RAW,CAP_NET_ADMIN,CAP_DAC_OVERRIDE+eip /usr/bin/dumpcap
Vis
sumber
"Coba buka terminal dan jalankan gksudo wireshark." Harap dicatat bahwa dokumen ini mengatakan "WIRESHARK MENGANDUNG LEBIH DARI DUA JUTA KODE SUMBER. JANGAN MENJALANKAN MEREKA SEBAGAI ROOT." sebelum melakukan itu. Melakukan sudo setcapperintah bukan - atau menggunakan sudo dpkg-reconfigure wireshark-commonuntuk memiliki paket mengatur kemampuan untuk Anda.
0

Ketika saya mencoba menjalankan wireshark saya mendapatkan kesalahan ini:

Couldn't run /usr/bin/dumpcap in child process: Permission denied

jadi saya biasa menjalankannya sebagai root, yang menonaktifkan LUA. Jendela sembul yang memberi tahu saya bahwa LUA telah dinonaktifkan sangat menjengkelkan, sehingga saya mencoba memperbaikinya.

pertama saya memeriksa hak istimewa dengan menjalankan

ls -l /usr/bin/dumpcap

yang menghasilkan:

-rwxr-xr-- 1 root wireshark 96464 Jan 24 10:31 /usr/bin/dumpcap

ini sudah jelas, itulah yang dikatakan Wireshark kepada saya. Jadi saya baru saja mengubah pemilik dari root ke acc saya

sudo chown -R $LOGNAME /usr/bin/dumpcap

Yang berhasil, saya sekarang dapat menjalankan wireshark tanpa root

Adam Verner
sumber
0

Googled “tidak dapat menjalankan / usr / bin / dumpcap dalam proses anak” dan menemukan pertanyaan ini:

Saya tidak dapat menggunakan wireshark "tidak dapat menjalankan / usr / bin / dumpcap dalam proses anak"

Yang ditandai sebagai duplikat dan membawa saya ke sini. Solusi yang diusulkan adalah:

sudo chmod +x /usr/bin/dumpcap

Perintah di atas benar-benar berfungsi, tetapi saya ingin menambahkan PERINGATAN keamanan . Itu akan memungkinkan penangkapan paket untuk SEMUA PENGGUNA di sistem. Ini bisa menjadi solusi sementara, tetapi tidak diinginkan sebagai solusi permanen.

Saya mengikuti instruksi dari halaman wireshark tentang tentang hak istimewa menangkap:

https://wiki.wireshark.org/CaptureSetup/CapturePrivileges

Mereka MENYARANKAN pelaksanaan eksekusi dumpcap untuk grup atau pengguna tertentu.

Saya mengikuti instruksi itu (dengan adaptasi):

Menetapkan hak jaringan untuk dumpcap jika kernel dan sistem file Anda mendukung kemampuan file

  • Pastikan Anda telah menginstal alat yang diperlukan, seperti perintah setcap.

    sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap

(CATATAN: Ganti / usr / bin dengan / usr / sbin jika Anda menerima kesalahan yang menunjukkan bahwa dumpcap tidak ada di / usr / bin)

  • Mulai Wireshark sebagai non-root dan pastikan Anda melihat daftar antarmuka dan dapat melakukan live capture. ( SAYA MENGHARGAI INSTRUKSI INI. TIDAK BEKERJA UNTUK SAYA )

Menetapkan hak jaringan untuk dumpcap jika kernel dan sistem file Anda tidak mendukung kemampuan file

Dalam hal ini, Anda perlu membuat set dump-UID untuk melakukan root.

sudo chown root /usr/bin/dumpcap 

(CATATAN: Ganti / usr / bin dengan / usr / sbin dalam perintah ini dan perintah berikutnya jika Anda menerima kesalahan yang menunjukkan bahwa dumpcap tidak ada di / usr / sbin)

sudo chmod u+s /usr/bin/dumpcap

Membatasi izin penangkapan hanya untuk satu grup

Setelah menetapkan hak jaringan dumpcap:

  • Buat pengguna "wireshark" di grup "wireshark".

    sudo chgrp wireshark /usr/sbin/dumpcap

    sudo chmod o-rx /usr/sbin/dumpcap

  • Pastikan Wireshark hanya berfungsi dari root dan dari pengguna di grup "wireshark" ( SAYA MELAKUKAN LANGKAH INI HANYA DI AKHIR - TIDAK SELAMANYA )

Dan akhirnya, dua langkah lagi:

sudo dpkg-reconfigure wireshark-common

Pilih 'ya'.

Logout SEMUA antarmuka untuk pengguna (termasuk ssh yang merupakan kesalahan terbesar saya) dan masuk kembali.

Semoga, Anda harus mulai wireshark dan melihat semua antarmuka sebagai pengguna biasa (tidak menggunakan sudo)

wireshark &

Dan jika Anda memeriksa izin file

ls -la /usr/bin/dumpcap

Hal ini memungkinkan HANYA PENGGUNA dan GROUP untuk mengeksekusi

-rwxr-xr-- 1 root wireshark

Marco A. Pivetta
sumber