More than 5 years have passed since last update.
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のケーパビリティの設定
pi@raspberrypi:~ $ sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap
<<コマンドの意味>>
(1)setcap
「set file capabilities」の略で、ファイル機能の設定ができるコマンド
setcap [-q] [-v] (capabilities|-|-r) 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で設定したケーパビリティを確認
pi@raspberrypi:~ $ sudo getcap /usr/bin/dumpcap
/usr/bin/dumpcap = cap_net_admin,cap_net_raw+eip
3.3 一般ユーザをWireshark実行グループに追加
私の場合は、ラズパイにwiresharkをインストールした時点で、
「wireshark」というWiresharkの実行権限を持つグループがあったので、
新規でグループは作りませんでした。
pi@raspberrypi:~ $ sudo adduser pi wireshark
3.4 ラズパイ再起動
pi@raspberrypi:~ $ reboot
3.5 wireshark起動
pi@raspberrypi:~ $ wireshark
4.実行結果
Interfaceが表示・認識されるようになりました!
👁 Screenshot from 2019-12-20 16-08-47.png
Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
- You can use dark theme
