LoginSignup
2
1

More than 3 years have passed since last update.

Wiresharkを一般ユーザで実行(ラズパイ編)

Last updated at Posted at 2019-12-20

1. 一般ユーザでパケットキャプチャしたい!

ラズパイで、Wiresharkをrootで実行すると、パケットキャプチャ実行やキャプチャファイルの移動&共有できない...:disappointed_relieved:
そこで今回は、ラズパイでWiresharkの権限変更をしました。
(RaspberryPi 3B, Raspbian Strech使用)

2. 初期状態

一般ユーザでwiresharkをターミナル実行すると、無線LANなどInterfaceが表示されませんでした。
Screenshot from 2019-12-20 15-51-09.png

3.解決方法

3.1 dumpcapのケーパビリティの設定

terminal
pi@raspberrypi:~ $ sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap

<<コマンドの意味>>
(1)setcap
「set file capabilities」の略で、ファイル機能の設定ができるコマンド

setcap [-q] -v filename [ ... capabilitiesN fileN ]
引用元 : die.net「setcap(8) - Linux man page」

(2)CAP_NET_RAW

RAWソケットとPACKETソケットの使用を許可する
引用元:atmarkIT 第3回 権限を最小化するLinuxカーネルケーパビリティ

(3)CAP_NET_ADMIN

さまざまなネットワークに関係する操作(ルーティングテーブルの変更など)を許可する
引用元:atmarkIT 第3回 権限を最小化するLinuxカーネルケーパビリティ

3.2 setcapで設定したケーパビリティを確認

terminal
pi@raspberrypi:~ $ sudo getcap /usr/bin/dumpcap
/usr/bin/dumpcap = cap_net_admin,cap_net_raw+eip

3.3 一般ユーザをWireshark実行グループに追加

私の場合は、ラズパイにwiresharkをインストールした時点で、
「wireshark」というWiresharkの実行権限を持つグループがあったので、
新規でグループは作りませんでした。

terminal
pi@raspberrypi:~ $ sudo adduser pi wireshark

3.4 ラズパイ再起動

terminal
pi@raspberrypi:~ $ reboot

3.5 wireshark起動

terminal
pi@raspberrypi:~ $ wireshark

4.実行結果

Interfaceが表示・認識されるようになりました!
Screenshot from 2019-12-20 16-08-47.png

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1