首页 > 代码库 > tcp ip 草稿。
tcp ip 草稿。
应用层
表示层
会话层
传输层
网络层
数据链路层
物理层
除下http。来分析下每个字节。
Ethernet II, Src: Vmware_78:d3:e9 (00:0c:29:78:d3:e9), Dst: Vmware_ee:46:85 (00:50:56:ee:46:85)
1)每个mac地址是6个字节。目的mac地址:00:50:56:ee:46:85,是。源mac地址:00:0c:29:78:d3:e9是。
查看虚拟机的mac,正确。
2)而目的mac是虚拟机的网关。
3)后面是0800,是ip协议的代码。
4)Internet Protocol, Src: 192.168.87.128 (192.168.87.128), Dst: 220.181.164.104 (220.181.164.104)
1)4代表,是ipv4版本。
2)5代表5字节。
3)00代表:服务提供类型,第一个0:ecn-capable transport. 第二个0:ecn-ce。
4)0395是长度。10进制就是917.
5)3743,10进制是14147.是identifiation.
6)Fragmentation Flags: 0x4和0x0, 二进制就是01000000.
reserved bit: 0.
don‘t fragment:1
more fragments :00
fragment offset:00
7)0x80,代表 time to live 128.
8)0x06,上层协议。 0x06是tcp编码。
9)0x26d9 是hader checksum。
10)c0 a8 57 80 是原ip。192.168.87.128. 查看确实是本机ip。
11)dc b5a4 68 是目的ip。220.181.164.104.应该是baidu.comip。
12)fdfc 是原端口号。
13)0050是目的端口号。也就是80端口。
14)b8 45 d1 0d. sequence num 1+ next sequence number 878.+ack number 1+ header length 0d
15)4b7042aa
16)header length 0x50. 20bytes.
18)0x18 :psh,ack
20)faf0,window size:64240
21)check num:0xa8cf
22)0000
23)4745 54.后面就是http协议包和数据了。
0x47 ,acsii玛就是 g 45,e。54 .t。就是request method:get。
TCP使用三次握手建立一个连接:
第一次握手:客户端发送SYN包至服务器,并进入SYN_SENT状态,等待服务器确认
第二次握手:服务器收到客户端的SYN包,发送一个ACK,同时发送自己的SYN,此时服务器进入SYN_RCVD状态
第三次握手:客户端接收到服务器发送的SYN+ACK后,进入ESTABLISHED状态,并发送服务器SYN包的确认ACK,服务器接收到客户端ACK后,进入ESTABLISHED状态
当客户端和服务器都进入ESTABLISHED状态后,客户端和服务器之间就可以开始双向传递数据了
tcp ip 草稿。