このページの対象Linuxディストリビューションは次のものです。


2011/05/07 作成
2012/03/211 更新

Wiresharkのインストールと設定


目標

Wiresharkをインストールし一般ユーザーのまま使用出来るように設定する。

インストール

debianではsudoの設定を行っておく

インストールする。

$ sudo apt-get install wireshark

もしくは

$ sudo aptitude install wireshark

Synapticパッケージマネージャーからもインストール出来る。
debianの場合はネットワークセクションにパッケージがある。
ubuntuの場合はネットワーク(universe)セクションにパッケージがある。
ubuntuの場合はUbuntuソフトウェアセンターからもインストール出来る。
[インターネット]-[すべてのソフト]にパッケージがある。

一般ユーザーでも使用出来る設定

インストールした時点では一般ユーザーではパケットのキャプチャーを行うことが出来ない。
設定を行わないと以下のような現象が起こる。
一般ユーザーでWiresharkを起動するとInterface Listにインターフェースが何も表示されていない。
[Capture]-[Interface]を選択するとThere are no interfaces on which a capture can be done.と表示される。
[Capture]-[Options]を選択しCapture optionsダイアログを表示してもInterfaceに選択できるインターフェースが存在しない。
Inrerfaceにeth0と入力して[Start]をクリックするとThe capture session could not be initiated (You don't have permission to capture on that device). と表示される。

一般ユーザーでもパケットキャプチャが出来るようにケーパビリティの設定を行う。
キャプチャを行うプログラムは/usr/bin/dumpcapだ。
以下の「表1 ケーパビリティの説明」で示す2つのケーパビリティの設定を行う。

表1 ケーパビリティの説明(キャプチャに必要な部分を抜粋)
ケーパビリティ名説明
CAP_NET_ADMINさまざまなネットワークに関係する操作(ルーティングテーブルの変更など)を許可する
CAP_NET_RAWRAWソケットとPACKETソケットの使用を許可する

$ sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap

setcapでケーパビリティを設定する事が出来る。
getcapで設定したケーパビリティを確認する事が出来る。

$ sudo getcap /usr/bin/dumpcap
/usr/bin/dumpcap = cap_net_admin,cap_net_raw+eip

eipの意味は「表2 ケーパビリティの要素の意味」になる。

表2 ケーパビリティの要素の意味
文字要素説明
eeffective実効実際に判定されるケーパビリティ
iinheritable継承プロセスをexec()した際に継承するケーパビリティ
ppermitted許可プロセスが持つことを許可されているケーパビリティ

これで一般ユーザーでもWiresharkを使用できるようになった。
ここで終わりにしても良いがwiresharkグループを作成しそのグループに参加しているユーザのみ実行できるようにする。

wiresharkグループを作成する。

$ sudo addgroup wireshark

dumpcapの所有権(グループ)をwiresharkグループにする。

$ sudo chgrp wireshark /usr/bin/dumpcap

パーミッションを変更する。

$ sudo chmod 754 /usr/bin/dumpcap

所有権を変更すると設定したケーパビリティが外れるので再度設定する。

$ sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap

ユーザーをwiresharkグループに参加させる。
ユーザー名がdummyuserの場合は以下になる。

$ sudo adduser dummyuser wireshark

自分自身をグループに参加させる場合、参加したグループを有効にするには一旦ログアウトし再ログインする必要がある。

グループに参加する設定はGUIから設定することも出来る。
gnome-desktopの場合、[システム]-[システム管理]-[ユーザーとグループ]を選択。
ubuntuでunityの場合、[アプリケーション]-[システム]を選択。
[インストール済みアプリ]の[さらに○○個の結果を見る]をクリック。
[ユーザーとグループ]をクリック。
ユーザーの設定ダイアログが開く。
グループの管理をクリック。
[追加]でグループを追加する事が出来る。
グループを選択し[プロパティ]で参加するユーザーの設定が出来る。

実行

[アプリケーション]-[インターネット]-[Wireshark]を選択するとWiresharkが起動する。


リンク

参考

サイト内リンク


はてなブックマークに追加 Tweet

サイト全体のアクセスカウンタ


[Top][Page Top]