一:环境说明:
1,my_recoder.tcpdump是我在服务器端抓包的文件
2,在这里,只显示与11.11.11.6主机相关的所有信息:
3,网络模型:同一个局域网
4,11.11.11.6 是客户机
5,11.11.11.8 是服务器
6,11.11.11.11 是网关
二:tcpdump抓包信息
root@ubuntu14:~# tcpdump -r my_recoder.tcpdump -n host 11.11.11.6 17:11:09.373704 ARP, Request who-has 11.11.11.8 tell 11.11.11.6, length 46 17:11:09.374536 ARP, Reply 11.11.11.8 is-at 00:0c:29:ed:22:c1, length 28 17:11:15.613318 IP 11.11.11.6.35065 > 11.11.11.8.22: Flags [S], seq 3706370055, win 14600, options [mss 1460,sackOK,TS val 38898 ecr 0,nop,wscale 7], length 0 17:11:15.613344 IP 11.11.11.8.22 > 11.11.11.6.35065: Flags [S.], seq 2580729023, ack 3706370056, win 28960, options [mss 1460,sackOK,TS val 5307525 ecr 38898,nop,wscale 7], length 0 17:11:15.613637 IP 11.11.11.6.35065 > 11.11.11.8.22: Flags [.], ack 1, win 115, options [nop,nop,TS val 38899 ecr 5307525], length 0 17:11:15.623865 IP 11.11.11.8.22 > 11.11.11.6.35065: Flags [P.], seq 1:42, ack 1, win 227, options [nop,nop,TS val 5307527 ecr 38899], length 41 17:11:15.624167 IP 11.11.11.6.35065 > 11.11.11.8.22: Flags [.], ack 42, win 115, options [nop,nop,TS val 38909 ecr 5307527], length 0 17:11:15.624434 IP 11.11.11.6.35065 > 11.11.11.8.22: Flags [P.], seq 1:22, ack 42, win 115, options [nop,nop,TS val 38909 ecr 5307527], length 21 17:11:15.624470 IP 11.11.11.8.22 > 11.11.11.6.35065: Flags [.], ack 22, win 227, options [nop,nop,TS val 5307527 ecr 38909], length 0 17:11:15.624647 IP 11.11.11.6.35065 > 11.11.11.8.22: Flags [P.], seq 22:982, ack 42, win 115, options [nop,nop,TS val 38909 ecr 5307527], length 960 17:11:15.624657 IP 11.11.11.8.22 > 11.11.11.6.35065: Flags [.], ack 982, win 242, options [nop,nop,TS val 5307527 ecr 38909], length 0 17:11:15.625277 IP 11.11.11.8.22 > 11.11.11.6.35065: Flags [P.], seq 42:1690, ack 982, win 242, options [nop,nop,TS val 5307528 ecr 38909], length 1648 17:11:15.626013 IP 11.11.11.6.35065 > 11.11.11.8.22: Flags [.], ack 1690, win 137, options [nop,nop,TS val 38911 ecr 5307528], length 0 17:11:15.626031 IP 11.11.11.6.35065 > 11.11.11.8.22: Flags [P.], seq 982:1006, ack 1690, win 137, options [nop,nop,TS val 38911 ecr 5307528], length 24 17:11:15.627834 IP 11.11.11.8.22 > 11.11.11.6.35065: Flags [P.], seq 1690:1842, ack 1006, win 242, options [nop,nop,TS val 5307528 ecr 38911], length 152 17:11:15.628570 IP 11.11.11.6.35065 > 11.11.11.8.22: Flags [P.], seq 1006:1150, ack 1842, win 160, options [nop,nop,TS val 38914 ecr 5307528], length 144 ......省略一大堆类似上面这样的数据报文: 17:11:20.344004 IP 11.11.11.6.35065 > 11.11.11.8.22: Flags [F.], seq 2430, ack 4178, win 228, options [nop,nop,TS val 43628 ecr 5308707], length 0 17:11:20.344225 IP 11.11.11.8.22 > 11.11.11.6.35065: Flags [.], ack 2431, win 302, options [nop,nop,TS val 5308707 ecr 43628], length 0 17:11:20.423528 IP 11.11.11.8.22 > 11.11.11.6.35065: Flags [F.], seq 4178, ack 2431, win 302, options [nop,nop,TS val 5308727 ecr 43628], length 0 17:11:20.423826 IP 11.11.11.6.35065 > 11.11.11.8.22: Flags [.], ack 4179, win 228, options [nop,nop,TS val 43710 ecr 5308727], length 0 root@ubuntu14:~#
三:客户端的操作信息:
[root@oracle11 ~]# ssh chunli@11.11.11.8 chunli@11.11.11.8's password: chunli@ubuntu14:~$ logout Connection to 11.11.11.8 closed. [root@oracle11 ~]# netstat -ant Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 11.11.11.6:35066 11.11.11.8:22 TIME_WAIT [root@oracle11 ~]#
四:tcpdump,Flags含义说明:
S(SYN)
F(FIN)
P(PUSH)
R(RST)
U(URG)
W(ECN CWR)
E ECN-Echo) or `.' (ACK), or `none' if no flags are set.
五:报头分析:
一,建立ARP请求:
服务器11.11.11.8端收到arp请求广播包,回应客户端11.11.11.6自己的MAC地址
二,3次握手:
1,客户端11.11.11.6向服务端11.11.11.8发出SYN,并告知自己的窗口大小和每次能接受数据包的大小
2,服务端11.11.11.8向客户端11.11.11.6会有ACK并发出SYN,并告知自己的窗口大小和每次能接受数据包的大小
3,客户端11.11.11.6向服务端11.11.11.8发送ACK.
三,数据互传
从17:11:15.613637秒就开始互传数据了.
四,4次断开(情景--客户端主动请求关闭)
客户端11.11.11.6向服务端11.11.11.8发出FIN
服务端11.11.11.8向客户端11.11.11.6发出ACK
服务端11.11.11.8向客户端11.11.11.6发出FIN
客户端11.11.11.6向服务端11.11.11.8发出ACK
客户端11.11.11.6:35066端口,转换TIME_WAIT状态
【本文谢绝转载原文来自http://990487026.blog.51cto.com】