ルート権限でwiresharkを実行するにはどうすればよいですか?


95

Wiresharkの標準インストールでは、プログラムがネットワークインターフェイスにアクセスする許可を与えません。

でプログラムを実行する必要があると思いsudoますが、それをアイコンに追加する方法がわかりません-それが方法である場合。


WireSharkについて話しているのですか?そうでない場合は、アプリケーションのホームページにリンクして、あなたが話している内容を見ることができます。ありがとう。
オリ

実際、彼はおそらくWireSharkではなくWiresharkについて話しているのでしょう。:-)

あまりにも多くのトラブルを与えているtcpdump場合wiresharkは、Linuxでツールを試すことができます。
warfreak92

回答:


149

WireSharkには、より良い方法があります。通常ルートを必要とするビットはパケット収集アプリケーションです、そして、特定の人々がそれなしsudoでそれを使用できるようにこれを構成できますgksuetc

ターミナルで(Alt + F2ダイアログだけでなく、ターミナルにいることが非常に重要です)これを実行します:

sudo dpkg-reconfigure wireshark-common

これにより、非rootユーザーがスニッフィングできるようにするかどうかを尋ねられます。それが私たちが目指していることなので、選択Yesしてリターンを押してください。

wireshark-commonの再設定

これにより、wiresharkグループが追加されます。そのグループのだれでも、ルートにならずににおいを嗅ぐことができます。これは、誰にも嗅ぎ付けることよりも明らかに安全ですが、パスワードのチェックがないことを意味します。技術的には、wiresharkアカウントを使用してログインしたコンピューターにアクセスできる人は誰でも盗聴できます。それがあなたに受け入れられるなら、続けてください。

そうでない場合は、再度実行して、noを選択します。

次に、そのグループにユーザーを追加するだけです。これを実行します:

sudo adduser $USER wireshark

再起動またはログアウトします。戻ったら、ルートになることについて大騒ぎせずにスニッフィングを開始できます。


2
再起動/ログアウト手順をスキップする方法はありますか?
タハジャハンギル

4
このソリューションは、14.04に機能を停止しました
長寿14年

9
そして、はい、それは間違いなく、ルートとしてWiresharkを実行するよりもはるかに良い方法です。WiresharkソースのREADME.packagingファイルには、「WIRESHARKには2千万行以上のソースコードが含まれています。ルートとして実行しないでください」と書かれています。

3
@TahaJahangir再起動/ログアウトが不便な場合newgrp wiresharkは、wiresharkグループのメンバーになった後、コマンドを使用して一時的にグループに入ることができます。
-Lekensteyn

3
@TahaJahangirとOli:ログアウトするよりもはるかに便利なのは、ログアウトせずにLinuxユーザーのグループ割り当てをリロードする-スーパーユーザーsu - $USER
-nealmcb

3

gksu wireshark端末から実行することにより、ルート権限でWiresharkを実行することもできます。

このモードでWiresharkを実行すると、セキュリティ上の懸念があることに注意してください。つまり、Wiresharkを侵害するエクスプロイトには、ユーザー特権ではなくルート特権が付与されます。Wiresharkは他のアプリケーションよりも懸念事項です。なぜなら、それはまさにその性質(任意の入力のキャプチャと処理)により、Wiresharkは典型的なデスクトップアプリケーションよりもエクスプロイトに対して脆弱だからです。SOHOネットワークではおそらく安全ですが、先に進む前にこの懸念に注意する必要があります。

引用:


--enable-setcap-installフラグを設定しただけで、これを実行できません。
Smile.Hunter

これは、完全なguiをrootとして実行するときに悪用可能なバグがあり、guiプログラムがrootとして実行されると構成の問題が発生する可能性があるため、はるかに危険で問題が多くなります。より良いオプションについては、上記のdpkg-reconfigureソリューションを参照してください。
-nealmcb

デスクトップユーザーの場合、これは回避策であると考えます。アプリをsudoするとき、作成されるすべてのファイルにはルート権限があり、ホームディレクトリで現在のユーザーが使用できるように、ファイル権限を常に変更する必要があります。一般にサーバーおよびシステム管理者にとって、sudoが実際には最良のアプローチです。
JulioHM

@JulioHM rootとしてWiresharkを実行することは、サーバーやシステム管理者を含むすべての人にとって危険です。
クラクソール14

1
Wiresharkのdoc / README.packagingファイルの約40行目に、「WIRESHARKには2 万行のソースコードが含まれています。ルートとして実行しないでください」と書かれています。その声明を非常に真剣に受け止めてください。

3

本当に、ルートとしてWireSharkを起動する必要はありません。お読みください公式ページを。簡単に言うと、次のことを行う必要があります。

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

その後、ログアウトして再度ログインします。

注:このメソッドは、16.04 LTS、17.10および18.04 LTSでテストされました。


1
変更しない限り、これはインターフェイスのロードを維持します。sudo chgrp USER_NAME / usr / bin / dumpcap
amrx

1

あなたもこれを試して、ターミナルを開いて、このコマンドを実行することができます

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

root以外のユーザーとしてwiresharkを実行する

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.