网络抓包分析作业
一:实验目的:
学习使用网络数据抓包软件Wireshark,
对互连网进行数据抓包,巩固对所学知识的理解
二:实验内容:
分析传输层协议(TCP、UDP)的报文格式,TCP协议的连接管理。
分析网络层协议的报文格式,IP、ICMP的报文格式。
分析数据链路层的帧格式。
三:实验工具
Wireshark抓包软件
四:实验步骤
安装Wireshark,简单描述安装步骤。
打开wireshark,选择接口选项列表。或单击“Capture”,配置“option”选项。
设置完成后,点击“start”开始抓包,显示结果。
选择某一行抓包结果,双击查看此数据包具体结构
五:分析
传输层分析:(网址www.battlenet.com.cn [114.113.217.11])
Tcp报文格式
Wireshark抓包分析
源端口/目的端口:
端口是传输层与应用层的服务接口。用于标示和区分源端设备和目的端设备的应用进程。此次抓包的结果为源端口(source port:56274)目的端口(destination port:443)
确认号(Sequence number)
Sequence Number这个是发送序列号,用来标识从源端向目的端发送的数据字节流,它表示在这个报文端中的第一个数据字节的顺序号,序列号是32位的无符号类型,序列号表达达到2^32 - 1后又从0开始,当建立一个新的连接时,SYN标志为1,系列号将由主机随机选择一个顺序号ISN(Initial Sequence Number)。此报文中的序列号是1.
确认号(32bit):
Acknowledgment Number它包涵了发送确认一端所期望收到的下一个顺序号。因此确认序列号应当是上次成功接收到数据的顺序号加1。只有ACK标志为1时确认序号字段才有效。
首部长度(Header length):
TCP首部共有多少4个字节,长度在20-60之间。在报文中是20字节。
URG(Urgent Pointer Field Significant):
当URG=1时,表面紧急指针有效。他告诉系统次报文中有紧急数据需要快速处理。在这里的报文中为零说明没有紧急报文
ACK(Acknowledgement Field Signigicant):确认号字段,该字段为1时表示应答字段有效,即TCP应答号将包含在TCP报文中。
PSH(Push Function): 推送功能,所谓推送功能指的是接收端在接收到数据后立即推送给应用程序,而不是在缓冲区中排队。
RST(Reset the connection):1时表面出现差错,必须释放连接,重新建立连接
SYN(Synchronize sequence numbers):同步序列号,用来发起一个连接请求。
FIN(No more data from sender):表示发送端发送任务已经完成。
窗口字段(16bit):
表示现在运行对方发送的数据量。也就是告诉对方,从本报文段的确认号开始允许对方发送的数据量。由报文可以看出该窗口允许发送262144([Calculated window size: 262144])的数据量。
校验和(Checksum):
占2字节。校验和字段检验的范围包括首部和数据,用于校验TCP报头部分和数据部分的正确性。(Checksum: 0xc4f9 [unverified])
UDP报文分析
Wireshark抓包分析
与TCP相比,UDP仅有源/目的端口,长度,校验和及数据,因此不难看出UDP的无连接,不提供可靠性,无流量控制,传输速度快,协议开销小的特点。
三次握手分析
发送连接请求,syn=1,seq=0
服务器收到请求,SYN=1 ,ACK=1,请求号seq=0 ,确认号 ack=1
客户收到确认,发送 ACK=1,确认号 ack=1,请求号seq=1,服务器收到后建立连接。
Tcp终止连接。
客户发送终止请求 FIN=1 ,seq=52828。
服务器收到请求,发送ACK=1,请求号seq=2609.确认号ack= 52829.
之后服务器再次确认,发送FIN=1,ACK=1,seq=455395, seq=4611
客户收到确认,再发送ACK=1,ask=455396,seq=4611
网络层协议分析
ip的格式图
Wireshark抓包分析
版本号:【IP协议的版本号,目前为4。
头部长度:IP报头的长度。固定部分的长度(20字节)和可变部分的长度之和。共占4位。最大为1111,即10进制的15,代表IP报头的最大长度可以为15个32bits(4字节),也就是最长可为15*4=60字节,除去固定部分的长度20字节,可变部分的长度最大为40字节。IP报文中20bit的数量【Header Length: 20 bytes (5)】。
服务类型:占8位,用来获得更好的服务,但实际上一直没有被使用过。1998年IETF把这个字段改名为区分服务DS(Differentiated Services)。只有在使用区分服务时,这个字段才起作用。【Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)】。
总长度:整个数据包的长度,最长可达65535字节【Total Length: 250】。
标识:IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,并将此值赋给标识字段。但这个“标识”并不是序号,因为IP是无连接服务,数据报不存在按序接收的问题。
【Identification: 0x30b8 (12472)】
标志(Flags):共3位。R(Reserved bit)、DF(Don’t fragment)、MF(More fragment)三位。目前只有后两位有效,DF位:为1表示不分片,为0表示分片。MF:为1表示不是最后一片,还有其他分片,为0表示这是最后一片。
片偏移(Fragment offset):该字段是与ip分片后,相应的ip片在总的ip片的位置。该字段的单位是8字节。
生存时间(Time to live):IP报文所允许通过的路由器的最大数量。每经过一个路由器,TTL减1,当为0时,路由器将该数据报丢弃。TTL 字段是由发送端初始设置一个.推荐的初始值由分配数字 RFC 指定。
协议(Protocol):指出IP报文携带的数据使用的是那种协议,以便目的主机的IP层能知道要将数据报上交到哪个进程(不同的协议有专门不同的进程处理)。和端口号类似,此处采用协议号,TCP的协议号为6。
首部校验和(Header checksum):计算IP头部的校验和,检查IP报头的完整性。这里无法校验。【Header checksum: 0x590c [validation disabled]】
源IP地址(source):标识IP数据报的源端设备,由图可知该源IP地址为172.31.120.157。
目的IP地址(destination):标识IP数据报的目的地址,由图可知该目的IP地址为114.113.217.11。
Icmp分析
Wireshark抓包分析(这是ping 114.113.217.11的抓包)
Type:8 code:0由表可知时ping请求
Checksum:校验和成功。
数据链路层分析
Wireshark抓包分析
源mac地址: d0:17:c2:1c:1a:f0
目的mac地址:04:f9:38:c9:60:36
类型: Ethernet (1)
六,总结
在这次作业中学到最重要的东西是学会如何使用wireshark及对抓包进行分析,同时也对tcp,udp,IP,icmp,等协议加深理解,以及清晰的了解这些协议在网路上的应用。在做这次作业的也发现了tcp协议的断连过程与书本是有些地方是不同的。这次的作业中我得到不少的收获。