IP网络抓包分析
--移动通信第三组
一:实验目的:
1.学习使用网络数据抓包软件Wireshark;
2.对互连网进行数据抓包,巩固对所学知识的理解。
二:实验内容:
1.分析传输层协议(TCP、UDP)的报文格式,TCP协议的连接管理。
2. 分析网络层协议的报文格式,IP、ICMP的报文格式。
3.分析数据链路层的帧格式。
三:实验工具
Wireshark抓包软件
四:实验步骤
- 安装Wireshark,简单描述安装步骤;
- 打开Wireshark,选择接口选项列表。或单击“Capture”,配置“Option”选项;
- 设置完成后,点击“start”开始抓包,显示结果;
- 选择某一行抓包结果,双击查看此数据包具体结构;
五:分析
1:分析传输层协议(TCP、UDP)的报文格式,TCP协议的连接管理。
(1)TCP的报文格式:
Source port是端口号:http(443);
Destination port是目的端口号:60655;
Acknowledgment number是32位确认序列号:1;值等于1表示数据包收到,确认有效;手动的数据包的头字节长度是20字节;
Sequence index是序号:0;
Header length是头部长度:32 bytes;
Flags是TCP标志:含6种标志;ACK:确认序号有效;SYN:同步序号用来发起一个连接;FIN:发端完成发送任务;RST:重新连接;PSH:接收方应该尽快将这个报文段交给应用层;URG:紧急指针(urgentpointer)有效;
Window sizes是流量控制的窗口大小:17520;
Checksum是数据段的校验和:0x2630;
(2)UDP的报文格式:
Source port是端口号:domain(53);
Destination port是目的端口号:57307;
Checksum是数据段的校验和:0x41d3;
(3)TCP的三次握手:
- I. 第一次握手数据包:
客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接。
- II. 第二次握手的数据包:
服务器发回确认包,标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的I S N加1,即0+1=1。
- III. 第三次握手的数据包:
客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1,并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方,并且在数据段放写ISN的+1。
- IV. Tcp的四次挥手:
2. 分析网络层协议的报文格式,IP、ICMP的报文格式。
(1)IP的报文格式:
Version: 4:IP协议版本为IPv4;
Header length: 20 bytes:头部数据长度为20字节;
Differentiated Services Field: 0x00 (DSCP : CS0, ECN : Not-ECT (Not ECN-ECT Transport)),区分的服务领域:0x00 (默认的是DSCP:0x00 );
Flags: 0x00;
Time to live:128,TTL,生存时间为128,TTL通常表示包在被丢弃前最多能经过的路由器个数,当数据包传输到一个路由器之后,TTL就自动减1,如果减到0了还没有传送到目标主机,那么就自动丢失;
Header checksum: 0x2316 [correct],头部校验和;
Source: 192.168.137.60,源IP地址为 : 192.168.137.60;
Destination: 119.75.217.26,目标IP地址为 : 119.75.217.26;
(2)ICMP的报文格式:
Type:8;占一字节,标识ICMP报文的类型,目前已定义了14种,从类型值来看ICMP报文可以分为两大类。第一类是取值为1~127的差错报文,第2类是取值128以上的信息报文。
Code:0;占一字节,标识对应ICMP报文的代码。它与类型字段一起共同标识了ICMP报文的详细类型。
Checksum:0x4a04[correct];是对包括ICMP报文数据部分在内的整个ICMP数据报的校验和,以检验报文在传输过程中是否出现了差错。其计算方法与在我们介绍IP报头中的校验和计算方法是一样的。
Identifier:0x0001;两字节,用于标识本ICMP进程,但仅适用于回显请求和应答ICMP报文,对于目标不可达ICMP报文和超时ICMP报文等,该字段的值为0。
Sequence number:855(0x0357):序列号。
3.分析数据链路层的帧格式。
数据链路层的帧格式:
Destination是目的mac地址:6a:07:15:80:4f:62
Source是源mac地址:00:28:f8:f3:82:57
Type:ip(0x0800);使用的IP协议