UbuntuにWiresharkをインストールしたはいいものの、root以外ではネットワークインターフェイスを参照してくれませんでした。これはLinuxのパーミッションの挙動として正常であるようですが、Wiresharkを起動するのにわざわざ端末からsudoするのはメンドクサイ…(´・ω・`)
調べてみると、パケットキャプチャの為にネットワークインターフェイスを利用するプログラムの本体は/usr/bin/dumpcapで、こいつにネットワーク系のケーパビリティを与えれば上手く行くそうです。
忘れそうなのでメモメモ…φ(..)
ただインストールし、普通に起動しただけではInterface Listに何も表示されず、パケットキャプチャを行うことが出来ません。(´・ω・`)
単にdumpcapにケーパビリティを設定するだけでも良いのですが、あるユーザーグループを作ってdumpcapの所有グループをそいつにすれば、グループに所属するユーザー全員についてインターフェイスの問題が解決することになります。
さて、この設定を一つ一つコマンドを実行して行っても良いのですが、Wiresharkのパッケージにはこの設定をコマンド一発で行うスクリプトが同梱されています。
以下のコマンドを実行し、ログインし直せば上手く行くはずです。
$ sudo dpkg-reconfigure wireshark-common
$ sudo usermod -a -G wireshark <ユーザー名>
(1行目):”dpkg-reconfigure”はdebian系のパッケージでインストールされたアプリケーションの再設定を行うコマンドで、Wiresharkはこれに対応する形で上記の設定を行うスクリプトを用意しています。これを実行するとダイアログが表示されて、本当に実行しても良いか確認されるので “はい” を選択しEnterを押します。
(2行目):1行目のコマンド実行すると、新たに”wireshark”というユーザーグループが出来るので、後は任意のユーザーをwiresharkグループに所属させるだけです。
最後にwiresharkグループに所属させたユーザーでログインし直すと、普通にWiresharkを起動した場合にもネットワークインターフェイスのリストが表示されます。
これで一般ユーザーでもInterface Listにネットワークインターフェイスが表示され、パケットキャプチャが出来るようになりました。
この記事は以下のサイトの情報に依ります。
http://wiki.wireshark.org/ – [CaptureSetup/CapturePrivileges]