网络抓包分析----第四组

IP抓包分析

抓包网址:www.2345.com

本机IP:172.31.116.111

目的网址IP:42.62.30.180

 传输层TCP报文格式

TCP协议的报文格式:整个报文由报文头部和数据两部分组成。

 TCP报文格式:

16位源端口(Source Port):53353

 

 16位目的端口(Destination Port):443

 32位序列号(Sequence Number):0

 

 32位确认号(Acknowledgement Number):0

 

 

首部长度(Header Length):32bytes

 保留字段(Reserved):000

紧急URG:0

确认ACK:0

推送PuSH:0

复位ReSeT:0

同步SYN:1

终止FIN:0

 

 16位窗口字段:65535

 

 16位TCP校验和(Checksum):0x69a7

 

 16位紧急指针(Urgent pointer):0

 

 选项(Option)

 

 TCP协议的连接管理

  TCP是面向连接的传输层协议,所谓面向连接就是在真正的数据传输开始前要完成连接建立的过程,否则不会进入真正的数据传输阶段。

  TCP的连接建立过程通常称为三次握手,步骤如下:

步骤1

 172.31.116.111的TCP向42.62.30.180发出连接请求报文段,其首部中的同步为SYN=1,并选择序号seq=0,表明传送数据的第一个数据字节的序号是0。

 

 步骤2

42.62.30.180的TCP收到连接请求报文段后,如同意,则发回确认。ACK=1。同时42.62.30.180向172.31.116.111 发起连接请求,应使SYN=1,自己选择的序号seq=0。

 

 步骤3

  172.31.116.111收到此报文段后向42.62.30.180发出确认,其ACK=1,确认号ack=1。172.31.116.111的TCP通知上层应用进程,连接已经建立。

 

 网络层协议的报文格式

  网络层位于TCP/IP协议栈数据链路层和传输层中间,网络层接受传输层的数据报文,分段为合适的大小,用IP报文头部封装,交给数据链路层。

 常见网络层协议     

IP协议      ICMP协议      ARP协议

 IP包格式

 

 抓包分析:

 

 1、

 版本(version):IP协议,4代表IPv4协议

 2、

 报文长度(header length):IP报头的长度

 3、

 服务类型:优先级标志位和服务类型标志位,被路由器用来进行流量的优先排序。

 IPv4报头中IP优先级的定义是相同的,CS0 ~CS7的级别相等于IP优先级0 ~7。这里的DSCP差分服务代码点:CS0所以优先级为0。

 3比特可以定义8个等级。

8个优先级的定义如下:
111 -Network Control  网络控制
110 -Internetwork Control  网间控制
101 -Critic  关键
100 - FlashOverride  疾速
011 -Flash  闪速
010 -Immediate 快速
001 -Priority  优先
000 -Routine  普通

优先级6和7一般保留给网络控制数据使用,比如路由。
优先级5推荐给语音数据使用。
优先级4由视频会议和视频流使用。
优先级3给语音控制数据使用。
优先级1和2给数据业务使用。
优先级0为缺省标记值。
在标记数据时,既可以使用数值,也可以使用名称(英文名称)。

 

 ECN:00,表示不支持ECN

 

 4

总长度(total length):IP报头加上IP报头上层协议的总长度

 5

 标识符(identification):表示该片是由那个数据包分片出来的,如果标识符相同,说明这些分片是由同一个数据包分片出来的

 MTU最大传输单元,默认网络中数据包不能超过1500个字节,如果超过,路由器或交换机必须对其进行分片,否则将会被丢弃

 6

 标志(flags):长度为上比特

第一个比特:保留位,没有意义

第二个比特:为1 代表可分片,为0代表不能被分片

第三个比特:为1,表示后面还有分片,为0,表示为最后一个分片

片偏移(fragment offset):将收到的数据包从第一个分片和最后一个分片进行整理,整合为一个完整的数据包

 7

 生存时间(time to live):TTL,有三个默认的值64(代表数据包的目的设备操作系统为Linux)、128(代表为windows 操作系统)、255(代表是一台路由器),每经过一台路由器,TTL值会减一,如果减到零,网络中的设备会丢弃该数据包,目的是防止数据包在网络中不停的被发送,避免发生路由环路。

这里的数字为:49。

8

 协议(protocol):为6代表IP报头上面承载的是TCP协议

 9

 报头检验和(header checksum):检测报文的完整性

 10

 源IP地址和目的IP地址:供路由选路

ICMP的报文格式分析

实验原理: 
ping是用来测试网络连通性的命令,一旦发出ping命令,主机会发出连续的测试数据包到网络中,在通常的情况下,主机会收到回应数据包,ping采用的是ICMP协议。

ICMP的报文格式

 

打开命令行窗口,执行命令:ping www.2345.com:

 

这时可以看到数据包抓取页面抓取到了8包,与命令行显示的已发送和已接受的包的数量是一致的:

 

ICMP的报文格式只有两种:

一:Type: 8 (Echo (ping) request)

类型:8(回应请求)代码/编码:0

校验和: 0x4d4e

 

二:Type: 0 (Echo (ping) reply)

类型:0(回应应答)

代码/编码:0

校验和: 0x554e

 

数据链路层帧结构分析

数据链路层有两个子层:逻辑链路接入控制子层LLC ,媒体接入控制子层MAC。

由于TCP/IP体系经常使用的局域网是DIX EthernetV2 而不是802.3标准中的几种局域网,且很多厂商生产的适配器仅有MAC协议而没有LLC协议,LLC作用已不大。所以一般都是分析MAC

以太网帧结构如下:

以太网的MAC帧格式 

 

抓包如下,抓的网址为www.2345.com。

 

目的MAC地址 Destination 6个字节  54 ee 75 a7 45 36

 

源MAC地址 Source  6个字节 04 f9 38 c9 6a 22

 

类型 Type 2字节 0800

 

帧检验序列在数据帧收到后会删除。

猜你喜欢

转载自www.cnblogs.com/1743875985qq/p/9986280.html
今日推荐