だいたいのコマンド
# tcpdump -Xi eth0 host HONTNAME
15:01:27.673120 IP myhost.60792 > ldaphost.ldap: S 740785676:740785676(0) win 5840 <mss 1460,sackOK,timestamp 1721577951 0,nop,wscale 7>
0x0000: 4500 003c 4fd3 4000 4006 8c92 ac18 8211 E..<O.@.@.......
0x0010: ac18 8414 ed78 0185 2c27 7e0c 0000 0000 .....x..,'~.....
0x0020: a002 16d0 a12b 0000 0204 05b4 0402 080a .....+..........
0x0030: 669d 31df 0000 0000 0103 0307 f.1.........
16進数は4ビットなので、最初のフィールド4500は
・バージョン番号
・ヘッダ長
・サービスタイプ
になる。
次の003cはパケット長、次の4fd3はIPパケットの識別子。フラグメントすると、同じ識別子が並ぶことになる。次の4000がフラグメント用のフィールド。
次の4006はTTLとプロトコル番号。TTLは64秒、プロトコルはTCP(6)になっている。次の8c92はヘッダのチェックサム。
次の32ビットは送信元IPアドレス。
ac18 8211なので、172.24.130.17を指す。
これで0x0000のフィールドはおしまい。
0x0010の最初は宛先IPアドレス。ac18 8414なので172.24.132.20。ヘッダ長に5が指定されていれば、32ビットx5のヘッダが出てきたので、ここでヘッダはおしまい。実データになる。
実データといっても、TCPなので、次はTCPヘッダがでてくる。
ed78は送信元のポート番号で60792。0185は宛先のポートで、389(LDAP)になる。
次の32bitはTCPのシーケンス番号。2c27 7e0cがシーケンス番号。その次はACK番号。今回はSYNパケットなので、0000 0000になる。これに対するACK応答の時に、シーケンス番号+1が返ってくる。
次の16bitはデータオフセット(TCPデータの開始位置)と、TCPのフラグになっている。a002なので、
10x4byte(32bit)、SYNパケット。
これがSYN/ACKになると、a012とかになる。
0 件のコメント:
コメントを投稿