Wiresharkでlocalhost(127.0.0.1)宛のパケット送受信をキャプチャする方法
「Goならわかるシステムプログラミング」のネットワークプログラミングの章でプログラムの検証をやりたかったのでLoopbackアドレスに対するパケット送受信ができないのか調べてみたところ、日本語ではあまりズバリな解決策*1が出なかったため英語で調べると解決した。
「wireshark how to capture localhost」でググったところ以下の投稿を参考にwiresharkのwikiにたどり着いた
https://stackoverflow.com/questions/5847168/wireshark-localhost-traffic-capture
https://wiki.wireshark.org/CaptureSetup/Loopback
Summary: you can capture on the loopback interface on Linux, on various BSDs including Mac OS X, and on Digital/Tru64 UNIX, and you might be able to do it on Irix and AIX, but you definitely cannot do so on Solaris, HP-UX, or Windows.
上記引用にある通り、WiresharkのNIC選択一覧に出ているものの中には、loopbackのパケットをキャプチャできるものがある。
今回はこちらを選択することで無事localhost宛のパケットをキャプチャすることができた
ただしmacOSではこの方法が使えたが
では使えないので該当OSユーザーの方は別の方法を模索してください
*1:ルーティングテーブルを書き換えろとか、別のツールを入れろとか