動機
iOSアプリを開発中、サーバーからレスポンスが来ないのでパケットをキャプチャするためにWiresharkを使ったのですが、
その時にPermissionエラーが発生したのでその対応策を残しておきます。
前提
下記サイトで、Macに接続したパケットを取得するための設定を行っていること。
[https://qiita.com/tenten0213/items/345b644e1212ea165ae8:embed:cite]
事象
Wiresharkのキャプチャオプションで 「rvi0」のネットワークインターフェースを選択した際に、エラーが発生。
デバイスにキャプチャを取るための権限が無いと言っているので、権限を与えてやりましょう。
手順
1. 次のコマンドを入力する
cd /dev
ls -la | grep bp
ユーザー名とグループ名がユーザー自身ではないことを確認します。
※ちなみにbpとはbpf(Berkeley Packet Filter)のことで、キャプチャしたパケットをフィルタリングするものです。
(自分も詳しくないので興味がある方は、「linux bpf」とかでググってみてください)
2. bpfの所有権のユーザー名を自分自身に、グループ名をadminにします。
sudo chown uematsu:admin bp*
3. 所有権が変更されていることを確認します。
ls -la | grep bp
これで権限の変更は終了です。
再度Wiresharkのキャプチャオプションで 「rvi0」を選択してみてください。
パケットがキャプチャできるはずです。