ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

网络协议抓包分析

2019-11-27 14:56:14  阅读:353  来源: 互联网

标签:分析 ACK 网络协议 报文 端口 IP 序列号 ICMP 抓包


一、网络地址规划表

主机IP

子网掩码

默认网关

MAC地址

192.168.199.42

255.255.255.0

192.168.199.1

D4-6A-6A-C7-02-4B

 


二、连通性测试

 

 

 

 

 

三、应用层

 

 

 

 

分析

1.客户端请求(红色部分)

请求方法:GET

协议及版本:HTTP/1.1

客户机支持数据类型:Mozilla/5.0、AppleWebKit/537.36、Chrome/70.0.3538.102、                     Safari/537.36、Edge/18.18362

支持压缩格式:gzip, deflate

通过服务器访问的主机名:www.bilibili.com

请求后状态:Keep-Alive

Cookie:相关Cookie信息

 

2.服务器响应(蓝色部分)

状态行:HTTP/1.1 301 Moved Permanently即版本号为1.1,响应状态码为301,结果为:     所请求的页面已经转移至新的url

消息报头:反映了响应日期、服务器类型、连接类型、报文长度、连接后状态相关信息

 

 

 

 

四、传输层

1.TCP连接三次握手

 

第一个包

①  源端口:64668

②  目的端口:80

③  序列号(相对序号):0

④  首部长度:32 bytes

⑤  标志位 0x002

⑥  ACK:0

⑦  SYN:1

⑧  接收窗口:65535

⑨  检验和:0x8954

 

 

 

第二个包

①  源端口:80

②  目的端口:64668

③  序列号(相对序号):0

④  首部长度:32 bytes

⑤  标志位 0x012

⑥  ACK:1

⑦  SYN:1

⑧  接收窗口:29200

⑨  检验和:0xde89

 

 

 第三个包

①  源端口:64668

②  目的端口:80

③  序列号(相对序号):1

④  首部长度:32 bytes

⑤  标志位 0x010

⑥  ACK:1

⑦  SYN:0

⑧  接收窗口:1024

⑨  检验和:0x8d6e

 

 

过程分析

主机的TCP向服务器发出连接请求报文段,其首部的同步位SYN=1,并选择序列号seq=0,表明传数据时第一个数据字节的序号是0;

服务器的TCP收到连接请求报文段后,发回确认,ACK=1,同时服务器向主机发起连接请求,应使SYN=1;

主机收到此报文后向服务器给出确认,其ACK=1,主机的TCP通知上层应用进程,连接建立。

 

 


2.TCP释放四次握手

 

 

第一个包

①  源端口:80

②  目的端口:64668

③  序列号(相对序号):474

④  首部长度:20 bytes

⑤  标志位 0x011

⑥  ACK:1

⑦  SYN:0

⑧  FIN:1

⑨  接收窗口:62

⑩  检验和:0x8afd

 

 

 


第二个包

①  源端口:64668

②  目的端口:80

③  序列号(相对序号):1114

④  首部长度:20 bytes

⑤  标志位 0x010

⑥  ACK:1

⑦  SYN:0

⑧  FIN:0

⑨  接收窗口:1022

⑩  检验和:0x873d

 

 

 


第三个包

①  源端口:64668

②  目的端口:80

③  序列号(相对序号):1114

④  首部长度:20 bytes

⑤  标志位 0x011

⑥  ACK:1

⑦  SYN:0

⑧  FIN:1

⑨  接收窗口:1022

⑩  检验和:0x873c

 

 

 


第四个包

①  源端口:80

②  目的端口:64668

③  序列号(相对序号):475

④  首部长度:20 bytes

⑤  标志位 0x010

⑥  ACK:1

⑦  SYN:0

⑧  FIN:0

⑨  接收窗口:62

⑩  检验和:0x8afc

 

 

 

过程分析

服务器主动向其TCP发出连接释放报文段,并停止在发送数据,主动关闭TCP连接,服务器把令FIN=1,其seq=1114,等待主机确认;

主机发出确认,ACK=1,该报文段seq=474,服务器到主机的连接释放,若主机发送数据,服务器仍要接受;

应用进程通知TCP释放连接,FIN=1,seq=1114,ACK=1,服务器收到释放报文后,必须发出确认;


在确认报文中,ACK=1,seq=475。

 

3.UDP分析

 

 

UDP报文分UDP报头和UDP数据区两部分。报头由四个16位长(2字节)字段组成,分别说明该报文的源端口、目的端口、报文长度以及校验值。

16位源端口:4014

16位目的端口:8000

UDP长度:71

16位UDP校验和:0x3fb0

 

 

五、网路层


1.IP报文分析

IP报文:传输在网络层,它由IP报文头和IP报文用户数据组成,IP报文头的长度一般在20到60个字节之间,而一个IP分组的最大长度则不能超过65535个字节。 

版本号字段:4

头部长度:20字节

总长度:40字节

16位标识字段:0x9a76

标志位:0x4000

生存时间:128

协议:TCP(6)

16位头部校验和:0x3199

源IP:192.168.199.42

目的IP:112.25.54.212

 


2.ARP分析:通过电脑ping同一wifi下的手机,得到如下数据

 

 手机发数据给电脑。手机在局域网内广播ARP查询分组,其中包含电脑的IP地址(即Who has 192.168.42)。电脑接受ARP查询分组,IP地址匹配成功,向手机应答电脑的MAC地址(即192.168.199.42 is at d4:6a:6a:c7:02:4b)。此后手机在其ARP表中缓存电脑的IP-MAC地址对,直至请求超时。综上ARP是“即插即用”协议

 


3.ICMP分析:通过电脑ping同一wifi下的手机,得到如下数据

 

 Type:占一字节,标识ICMP报文的类型,目前已定义了14种,从类型值来看ICMP报文可以分为两大类。第一类是取值为1~127的差错报文,第2类是取值128以上的信息报文。

Code:0;占一字节,标识对应ICMP报文的代码。它与类型字段一起共同标识了ICMP报文的详细类型。

Checksum:是对包括ICMP报文数据部分在内的整个ICMP数据报的校验和,以检验报文在传输过程中是否出现了差错。其计算方法与在我们介绍IP报头中的校验和计算方法是一样的。

Identifier:两字节,用于标识本ICMP进程,但仅适用于回显请求和应答ICMP报文,对于目标不可达ICMP报文和超时ICMP报文等,该字段的值为0。

Sequence number:序列号。

 

 这是ICMP协议的请求,ICMP请求报文分析如下

类型:ping请求

代码:0

校验和:0x431d

序列号:BE: 1;LE:15882

响应帧:10

 

 


这是ICMP协议的响应,ICMP响应报文分析如下

类型:ping响应

代码:0

校验和:0x4b1d

序列号:BE:2622;LE:15882

请求帧:9

 


六、数据链路层

 

MAC帧格式

目的MAC地址:d4-ee-07-0c-af-7e

源MAC地址:d4-6a-6a-c7-02-4b

类型:0x0800,即IPv4

 

MAC地址分析

目的MAC地址:d4-ee-07-0c-af-7e

前6位:d4-ee-07代表网络硬件制造商编号,由IEEE分配;

后6位:0c-af-7e代表该制造商所制造的某个网络产品的系列号

源MAC地址:d4-6a-6a-c7-02-4b

前6位:d4-6a-6a代表网络硬件制造商编号,由IEEE分配;

后6位:c7-02-4b代表该制造商所制造的某个网络产品的系列号

标签:分析,ACK,网络协议,报文,端口,IP,序列号,ICMP,抓包
来源: https://www.cnblogs.com/X-Lee/p/11942199.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有