通信内容を覗いてみる
たまに、サーバーとクライアントの通信内容を詳細に知りたいときがありますよね。
HTTPプロトコルのレベル
http://ws.apache.org/axis/ の Axisライブラリーの中の TCP Monitor
使い方は
java -cp axis.jar org.apache.axis.utils.tcpmon
サーバーがポート3000 で動いている場合、以下のように設定するとポート 3000 と 3001 の間の流れを表示してくれます。
当然、クライアントからは 3001 ポートにアクセスします。
TCP/IP レベルで見る
ローカル、ポート3000 で動いている場合は以下のようなコマンドで通信内容が見れます。
% sudo tcpdump -i lo0 -nX -s 2000 port 3000 14:58:09.730833 IP 192.168.1.40.3000 > 192.168.1.40.49943: P 276:788(512) ack 831 win 65535 <nop,nop,timestamp 1001780813 1001780813> 0x0000: 4500 0234 55bd 4000 4006 0000 c0a8 0128 E..4U.@.@......( 0x0010: c0a8 0128 0bb8 c317 9ffc f6f3 c0f3 33b4 ...(..........3. 0x0020: 8018 ffff 85c7 0000 0101 080a 3bb5 f64d ............;..M 0x0030: 3bb5 f64d 3c68 746d 6c3e 0a3c 6865 6164 ;..M<html>.<head 0x0040: 3e0a 3c74 6974 6c65 3ee6 97a5 e8a8 983c >.<title>......< 0x0050: 2f74 6974 6c65 3e0a 3c2f 6865 6164 3e0a /title>.</head>.
データには TCP/IP のヘッダーなども含まれているので注意して下さい。