ubuntuにWiresharkをインストールする。

ubuntu 18.04 LTS に Wireshark(Version 2.4.5) をインストールしてみました。そのときの気づきのメモです。Wireshark は「ubuntuソフトウェア」からインストールしました。

インストールの途中に「非特権ユーザ(root以外のユーザ)がパケットをキャプチャできるようにしますか?」と聞かれるのでチェックをつけておく。(チェックをつけておいたのだけど、root以外のユーザではダメみたい。後述。)

インストールが無事終わったので、Wiresharkを起動してみる。キャプチャできるインターフェースが表示されるので任意のインターフェースを選択し、上部のラベルから「キャプチャ」→「開始」を選び実行しました。が、「Couldn’t run /usr/bin/dumpcap in child process:許可がありません」のメッセージが出てしまい、起動に失敗。。

どうやら権限がない模様。調べてみると他の方も同様の問題にあたったようでいろいろとネット上には情報がありました。で、整理してみて、以下の対応で起動できるようになりました。

[広告]

まず、起動させるときのユーザ(ここでは「usr1」とします、各自の環境にあわせてください)のid情報を確認します。


$ id usr1
uid=1000(usr1) gid=1000(usr1) groups=1000(usr1),4(adm),・・・,126(sambashare)

次に、Wiresharkをインストールした際に「wireshark」のグループがOSに作成されていますので、それを確認します。

$ grep usr1 /etc/group
adm:x:4:syslog,usr1
usr1:x:1000:
 :
sambashare:x:126:usr1
wireshark:x:128:usr1 ← ココです。

Wiresharkを起動する権限がないため、usr1を「wireshark」のグループに追加します。

$ sudo usermod -aG wireshark usr1

このとき、usermodのオプションは「a」と「G」の両方が必要みたいです。はじめ「a」だけの指定で usermod を実行したらエラーとなってしまいました。ちなみに、usermod の使い方のメッセージは次のようになっていました。

  • -G, –groups GROUPS 新たな補助グループのリストを与える。
  • -a, –append ユーザを (-G で指定された) 補助グループ群GROUPS に追加する。他のグループからの削除は行わない。

再度、id情報を確認します。


$ id usr1
uid=1000(usr1) gid=1000(usr1) groups=1000(usr1),4(adm),・・・,126(sambashare),128(wireshark)

末尾に「128(wireshark)」のグループが追加されていることが確認できます。これで「wireshark」のグループに追加されました。改めてWiresharkを起動すると、今まで表示されていなかったインターフェースが表示され、上部のラベルから「キャプチャ」→「開始」でキャッチャできるようになりました。

スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。