習うより慣れるtcpdump 3.3ウェイハンドシェイクを目視する
以下のエントリの続きです。
Cent OS6.5で以下の2ゲストOSを立ち上げています。
fe01 "Front End01" 192.168.33.11 telnetコマンドを使用して、TCPクライアントとして使用。 be01 "Back End01" 192.168.33.21 ncコマンドを使用して、TCPサーバーとして使用。
tcpdumpでの3ウェイハンドシェイクの確認
be01側のホスト上で以下のコマンドを実行します。
$ nc -l 23456
別ターミナルで、be01側のホストで、以下のコマンドを実行します。
$ sudo tcpdump -nn -i eth1 port 23456
fe01側のホスト上で以下のコマンドを実行します。
$ telnet 192.168.33.21 23456 Trying 192.168.33.21... Connected to 192.168.33.21. Escape character is '^]'.
tcpdumpを実行したホストのターミナルの以下の箇所を確認します。
IP 192.168.33.11.44325 > 192.168.33.21.23456: Flags [S] IP 192.168.33.21.23456 > 192.168.33.11.44325: Flags [S.] IP 192.168.33.11.44325 > 192.168.33.21.23456: Flags [.]
上記は、以下の情報を示します。
src > dst: flags src:送信元IP.ポート dst送信先IP.ポート flags:フラグ S (SYN), F (FIN), P (PUSH), R (RST), W (ECN CWR) , E (ECN-Echo), ‘.’ (no flags)の組み合わせ
さらにこの状態でbe01にて以下のコマンドを実行するとコネクションが確立( ESTABLISHED)されていることが確認できます。
$ netstat -n | grep 23456 tcp 0 0 192.168.33.21:23456 192.168.33.11:44325 ESTABLISHED