yuu_nkjm blog


2008-08-19(Tue) 編集

[Linux][Network][Troubleshooting] TCP/UDPパケットをtshark(Wireshark)でキャプチャ

Bind9のロギング機能では,Severityをどう調整しても,「"iken.ac.jp"という問い合わせに対して"*.*.*."と答えました」という様な項目が吐けない.

仕方ないので,パケットキャプチャでもやってみっかってことで,tcpdumpを使ってみた.ざっと見た感じ,パケットのヘッダは見られるけど中身が見られない様だったので,パス.つづいて,Etherrealの後継であるwireshark(テキスト版だとtshark)を使ってみる事にした.

tcpdumpで特定のポートへのパケットを監視する - yuu_nkjm blog(2012-12-04)も使えそう.

まずはインストール.Fedora 7(?)のyumにwiresharkがあったので,

yum install wireshark

として終了.

つづいて,キャプチャ.

tshark port 53 and not host 192.168.0.1 -q -b filesize:500 -w dns.log

上記コマンドは,監視するのはポートが53番で送信元ホストが192.168.0.1以外.quietにしておく.filesizeが500KBごとにローテートしながら,dns.logと連番と日付からなるファイルに書き込む.ということ.

んで,キャプチャしたログを見る.

tshark -t ad -r dns.log

上記コマンドは,パケットのタイムスタンプを日時で表示.dns.logを読み込む.と言うこと.

1 2008-08-19 14:31:24.89 *.*.*.* -> *.*.*.* DNS Standard query A hoge.com
2 2008-08-19 14:31:24.89 *.*.*.* -> *.*.*.* DNS Standard query response A "*.*.*.1"

もうちょっと詳細まで見たい場合には,xオプションを使用する.

tshark -x -r dns.log

ちょっと詰まったのは,書き込み時に"-t ad"を使おうとしたこと.パケットは生パケットのまま保存されて,出力する時に-tで指定したフォーマットを適用するイメージなわけね.

wiresharkのマニュアルはこちら.


トップ «前の日(08-18) 最新 次の日(08-20)» 追記 設定
2006|01|06|12|
2007|06|09|
2008|01|03|04|06|07|08|09|10|12|
2009|01|02|05|06|07|08|10|11|12|
2010|03|04|05|06|07|08|09|10|11|
2011|01|02|03|04|05|06|07|08|09|11|12|
2012|01|02|04|06|07|08|10|11|12|
2013|01|02|03|07|08|10|11|12|
2014|01|02|04|05|06|07|08|09|10|11|
2015|01|02|07|11|12|
2016|01|03|05|07|08|09|