wiresharkをUbuntu16.04LTSにインストールしてみた。

 インストールしてちょっと動かしてみた。
※Windowsへのインストールには参考にならないと思う。

インストールはサクッと終了


 「Ubuntu software」にはwiresharkはなかったので、Synapticパッケージマネージャから行く。
 wiresharkをクリックしてマークすると、依存関係にあるものも自動で選択され、確認メッセージが出るので、OKする。
 「wireshark」以外のチェックマークはこれによってついたもの。
Screenshot from 2017-03-18 07-30-33.png
 インストール終盤で、こういう確認ウィンドウが開く。
Screenshot from 2017-03-18 07-32-41.png
   ウィンドウタイトルに「%現ログインユーザー名%-%コンピューター名%のDebconf」
   ウィンドウ内に「wireshark-commonを設定しています」「□非特権ユーザー(root以外のユーザ)がパケットをキャプチャできるようにしますか?」
って書いてあるので、□にチェックを付ける。
…wiresharkはrootでの使用は非推奨なのに、root以外がキャプチャできるのがデフォルトでOFFなのも、妙な気がする。
参照
●archlinux
Wireshark
https://wiki.archlinuxjp.org/index.php/Wireshark

root で Wireshark を実行するのは危険です。

Arch Linux は Wireshark wiki の方法 にそって権限を分けています。wireshark-cli のインストール時に、install スクリプトによって /usr/bin/dumpcap にケイパビリティが設定されます。

と書いてある。

 インストール作業の話に戻ります。
Screenshot from 2017-03-18 07-32-47.png
 とりあえずチェックマークが付いた状態で、「進む」をクリック。
Screenshot from 2017-03-18 07-34-04.png
 このとおり、インストールが終了したので、「Close」をクリック。
 あら、Synapticsパッケージマネージャに戻ったら、「libwireshark…」付近を表示していた。
Screenshot from 2017-03-18 07-34-24.png

wiresharkを起動してみる


 とりあえずUbuntuのデスクトップ左側のランチャー上のDashからwiresharkを呼ぶ。(これはぼじょ犬のPCの問題ですが、Dashの調子がイマイチなのか、「wir」まで入れないと、「残念ながら、入力された語句に一致するものは見つかりませんでした」だったけど、今は「w」だけでwiresharkを始め、名称に「w」が付かないアプリまでうじゃーっと表示されるようになった。)
Screenshot from 2017-03-18 07-34-41.png

 で、起動してみましたけど、
Screenshot from 2017-03-18 07-35-00.png
このとおり、「Couldn't run /usr/bin/dumpcap in child process:許可がありません」って、おーい、ファイルパーミッションがないらしいよ。ファイル名は、さっきのarchlinuxに書いてあったやつだよね。root以外のユーザーもキャプチャできるようにしたはずなのに、反映されてない。

Terminalから起動しないとダメみたい


 Dashからちゃんと起動できなかったので、先ほどのarchlinuxのwireshark説明ページに記載通りの作業をやってみる。

$ getcap /usr/bin/dumpcap

で、Terminal上には、
/usr/bin/dumpcap = cap_net_admin,cap_net_raw+eip
とお返事が表示された。

 続いて、wiresharkグループにユーザーを追加する方法でやってみた。前記archlinuxの説明では、

# gpasswd -a username wireshark

って書いてある。(先頭が#になっているから、このコマンドの前に、
$ sudo su
しておく。)

 で、gpasswd…のコマンドを打ち終えたら、Terminalから、

ユーザ ubu1604 をグループ wireshark に追加

とお返事が表示された。

 そして、archlinuxの説明では、
$ newgrp wireshark
って書いてある。(先頭が$だからsuから元のログインユーザーに戻る必要があるので、このコマンドの前に、
# exit
しておく。)

 で、これでDashからwiresharkを起動してみたけどPermissionなしは変わらなかった。

 そこで、archlinuxに説明のとおり、
sudoを使う
方で起動してみた。

$ sudo -g wireshark wireshark

 お、起動した。ただし、各種メニューが、Unity標準の、デスクトップ上端にマウスポインタを合わせた時だけ表示されるスタイルではなく、アプリケーションウィンドウ上端に表示されるスタイルになる。
Screenshot from 2017-03-19 05-46-54.png
 で、ちょっと試しに、Terminalからwiresharkを起動してみることにした。
$ wireshark
Screenshot from 2017-03-18 07-35-00.png
 なーんだ、これは大丈夫だった。どうやら、Dashから起動するには、更に何か調整が必要な模様。

この記事へのコメント