Bagaimana cara menjalankan wireshark, dengan hak akses root?


95

Instalasi standar Wireshark tidak memberikan izin program untuk mengakses antarmuka jaringan.

Saya kira saya harus menjalankan program dengan sudo, tetapi tidak tahu bagaimana menambahkannya ke ikon - jika itu cara untuk melakukannya.


Apakah Anda berbicara tentang WireShark? Jika tidak, bisakah Anda menautkan ke beranda aplikasi sehingga kami dapat melihat apa yang Anda bicarakan. Terima kasih.
Oli

Sebenarnya, dia mungkin berbicara tentang Wireshark daripada WireShark. :-)

Anda dapat mencoba tcpdumpalat di Linux jika wiresharkmemberi Anda terlalu banyak masalah.
warfreak92

Jawaban:


149

Untuk WireShark ada cara yang lebih baik. Bit yang biasanya membutuhkan root aplikasi koleksi paket dan ini dapat dikonfigurasi untuk memungkinkan orang-orang tertentu untuk menggunakannya tanpa sudo, gksu, etc.

Di terminal (sangat penting bahwa Anda berada di terminal, bukan hanya dialog Alt + F2) jalankan ini:

sudo dpkg-reconfigure wireshark-common

Ini akan menanyakan Anda apakah Anda ingin mengizinkan pengguna non-root untuk menghirup. Itulah tujuan kami, jadi pilih Yesdan tekan kembali.

Mengkonfigurasi ulang wireshark-common

Ini menambahkan wiresharkgrup. Siapa pun dalam grup itu akan dapat mengendus tanpa menjadi root. Ini jelas lebih aman daripada membiarkan siapa pun menghirup, tetapi itu berarti tidak ada pemeriksaan kata sandi. Secara teknis siapa pun yang memiliki akses ke komputer yang masuk dengan wiresharkakun akan dapat mengendus. Jika itu dapat Anda terima, lanjutkan.

Jika tidak, jalankan lagi dan pilih no.

Maka Anda hanya perlu menambahkan pengguna ke grup itu. Jalankan ini:

sudo adduser $USER wireshark

Dan restart atau logout. Ketika Anda kembali ke dalamnya, Anda harus mulai mengendus tanpa khawatir tentang menjadi root.


2
Adakah cara untuk melewatkan langkah restart / logout?
Taha Jahangir

4
Solusi ini berhenti bekerja pada 14,04
Janghou

9
Dan, ya, itu jelas cara yang jauh lebih baik daripada menjalankan Wireshark sebagai root. File README.paket dalam sumber Wireshark mengatakan "WIRESHARK MENGANDUNG LEBIH DARI DUA JUTA JENIS KODE SUMBER. JANGAN RUN MEREKA SEBAGAI ROOT."

3
@TahaJahangir Jika restart / logout tidak nyaman, Anda dapat menggunakan newgrp wiresharkperintah untuk sementara memasuki grup setelah Anda menjadi anggota wiresharkgrup.
Lekensteyn

3
@TahaJahangir dan Oli: Jauh lebih nyaman daripada logout adalah dengan menggunakan su - $USERseperti yang dijelaskan di Muat ulang tugas grup pengguna Linux tanpa keluar - Super User
nealmcb

3

Anda juga dapat menjalankan Wireshark dengan hak akses root dengan menjalankan gksu wiresharkdari terminal.

Perhatikan bahwa ada masalah keamanan dengan menjalankan Wireshark dalam mode ini, yaitu bahwa setiap eksploitasi yang mengkompromikan Wireshark sekarang memiliki hak akses root daripada hak pengguna. Ini lebih menjadi perhatian dengan Wireshark daripada aplikasi lain karena, pada dasarnya (menangkap dan memproses input sewenang-wenang), Wireshark lebih rentan terhadap eksploitasi daripada aplikasi desktop biasa. Anda mungkin aman di jaringan SOHO, tetapi Anda harus mengetahui masalah ini sebelum melanjutkan.

Kutipan:


Saya baru saja mengonfigurasinya dengan flag --enable-setcap-install maka saya tidak bisa melakukan ini.
Smile.Hunter

Ini jauh lebih berbahaya dan lebih bermasalah, karena ada bug yang lebih dapat dieksploitasi ketika menjalankan gui penuh sebagai root, dan masalah konfigurasi dapat muncul ketika program gui berjalan sebagai root. Lihat solusi dpkg-konfigurasi ulang di atas untuk opsi yang jauh lebih baik.
nealmcb

Untuk pengguna desktop, saya menganggap ini sebagai solusi. Saat Anda sudo aplikasi, semua file yang dibuatnya memiliki izin root, dan Anda harus terus mengubah izin file untuk membuatnya tersedia untuk pengguna Anda saat ini di direktori home Anda. Untuk server dan sysadmin secara umum, sudo sebenarnya adalah pendekatan terbaik.
JulioHM

@JulioHM Menjalankan Wireshark sebagai root berbahaya bagi semua orang, termasuk server dan sysadmin.
kraxor

1
Pada kira-kira baris 40 dari file paket doc / README. Wireshark , tertulis "WIRESHARK MENGANDUNG LEBIH DARI DUA JUTA JENIS KODE SUMBER. JANGAN MENJALANKAN MEREKA SEBAGAI ROOT." Perhatikan pernyataan itu dengan sangat serius.

3

Benar-benar Anda tidak perlu meluncurkan WireShark sebagai root. Silakan baca halaman resmi . Secara singkat yang harus Anda lakukan:

sudo groupadd wireshark
sudo usermod -a -G wireshark $USER
sudo chgrp wireshark /usr/bin/dumpcap
sudo chmod o-rx /usr/bin/dumpcap
sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap
sudo getcap /usr/bin/dumpcap

Kemudian log-out dan masuk lagi.

Catatan: metode ini diuji pada 16,04 LTS, 17,10 dan 18,04 LTS.


1
Ini akan tetap antarmuka dari memuat kecuali diubah. sudo chgrp USER_NAME / usr / bin / dumpcap
amrx

1

Anda dapat mencoba ini juga, buka terminal, jalankan perintah ini

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

jalankan wireshark sebagai pengguna non-root

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.