習うより慣れるtcpdump 3.3ウェイハンドシェイクを目視する

以下のエントリの続きです。

keikmobile.hatenablog.com

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