はじめに
本記事は「体験しながら学ぶネットワーク技術入門」のP.54の下記コマンドを実施した際に発生したエラーを解決する手順です。
root@cl2:/# tcpdump -i net0 -w /tmp/tinet/ethernet.pcap ether host 02:42:ac:01:10:01
tcpdump: Couldn't change ownership of savefile
環境の説明
Windowsではなく、macOS(M1)を利用しています。
$ sw_vers
ProductName: macOS
ProductVersion: 14.6.1
BuildVersion: 23G93
P.17のMacに検証環境を構築したいときは
を実施し、P.54まで書籍通りに進めた状態です。
原因の調査
上記リンクにある、Mシリーズ Mac対応版のファイルを使用する際の注意点(PDF)
内の下記2項目を実施しましたが解決しなかったため、補足として記事に残しておきます。
tcpdump コマンドの-w オプションを使用して、パケットを保存する際、拡張子を「pcapng」とすると、「Couldn't change ownership of savefile」というエラーになります。拡張子を「pcap」としてください。
拡張子をpcap にしても同様のエラーが出た場合は、「multipass stop UBUNTU」→ 「multipassstart UBUNTU」で、仮想マシンを一度再起動してみてください。
chmodやchownで/tmp/tinet/ethernet.pcap
の権限変更を試しましたが、同じエラーが発生しました。
解決策
tcpdumpコマンドでpcapファイルの吐き出し先を変更し、吐き出した後/tmp/tinet
にコピーしました。
root@cl2:/# tcpdump -i net0 -w /tmp/ethernet.pcap ether host 02:42:ac:01:10:01
tcpdump: listening on net0, link-type EN10MB (Ethernet), capture size 262144 bytes
^C4 packets captured
4 packets received by filter
0 packets dropped by kernel
root@cl2:/# cp /tmp/ethernet.pcap /tmp/tinet/
ローカル端末の~/tinet
ディレクトリは、multipass上のubuntuにあるディレクトリ/tmp/tinet/
へマウントされているので、これによりローカル端末でWireSharkを起動し、対象のpcapファイルを選択することでパケット解析ができました。
おわりに
まだ本書籍を読んでいる途中のため、またエラーが発生することがあればトラブルシュートを行い解決策を記事にしていけたらと思います。
同じ事象が発生した方の力になれば幸いです。
ここまでお読みいただきありがとうございました。