tcpdump 使うときは "-s" オプションでサイズ指定してね

困ったときは生データをあたれ。

サーバ間の通信というのはプログラムを作る人がクソ詳細ログを出すよう設定してくれてれば大体のトラブルシュートができますが、そんなことは稀ですので、じゃあどうしましょう。メーカーのサポートに丸投げする。確かにそれもあります。あるんですが。

実際に流れてるデータを見るのがはやいこともあります。

ネットワークを流れているデータは tcpdump で拾ってあげると良いです。

 

tcpdump host server1.example.com and port 80 

 

こんな感じで特定ホストの特定ポートの通信を拾えます。テキストで見にくければ、ファイルに保存して Windowswireshark などでグラフィカルに表示することもできます。

-w オプションでパケットの中身をファイルに保存できます。

 

tcpdump -w filename.pcap host server1.example.com and port 80 

 

ところが初期値では各パケット 68byte しか保存してくれません。どこからどこへといったくらいの情報なら十分取れますが、データの中身まで詳細に見ようと思ったら全然足りません。

こういう時は保存するパケットのサイズを指定しましょう。 -s 256 などと指定する -s オプションです。

普通の TCPIP 環境ならパケットのサイズがだいたい 1500byte くらいでしょうから、こんな感じで指定しておけばいいです。

 

tcpdump -s 1500 -w filename.pcap host server1.example.com and port 80 

 

取得したパケットはじっくり観察して、さあ問題を追いかけましょう。