计 算 机 网 络
实 验 报 告
实验四 以太网数据帧分析
一、实验目的
了解网络协议分析软件的过滤方式和原则,包括:按协议类型过滤,按IP地址过滤,按协议模式过滤,按端口过滤等,通过设置不同的过滤条件,熟悉协议类型、端口、协议等概念;分析以太网数据帧的构成,数据链路层将不可靠的物理层转变为一条无差错的链路,涉及的数据单位是帧(frame),高层的协议数据被封装在以太网帧的数据字段发送。使用网络协议分析软件可以捕获各种协议数据包,通过查看这些协议数据包中数据链路帧的各字段可以分析网络协议的内部机制。
二、实验内容
- 掌握网络协议分析软件的常用过滤规则使用方法;
- 分析以太网数据帧的构成
- 掌握以太网报文格式,掌握MAC地址的作用;
- 掌握LLC帧报文格式;
二、实验原理
1、网络协议分析软件的过滤规则
(1)按协议类型过滤
Wireshark支持的协议包括 TCP、UDP、ARP、ICMP、HTTP、SMTP、FTP、DNS、MSN、IP、SSL、OICQ、BOOTP等,例如只查看HTTP协议,则直接输入http。
(2)按IP地址过滤
若只要显示与指定IP(例如192.168.1.123)通信的记录则可输入id.addr==192.168.1.123。
如果要限制为源IP为192.168.1.123则输入ip.src===192.168.1.123;
如果要限制为目的IP为192.168.1.123,则输入ip.dst==192.168.1.123。
(3)按协议模式过滤
例如HTTP协议,可以针对HTTP的请求方式进行过滤,只显示发送GET或POST请求的过滤规则:http.request.method == “GET”
或 http.request.method == “POST”
(4)按端口过滤
tcp.dstport == 80 // 只显tcp协议的目标端口80
tcp.srcport == 80 // 只显tcp协议的来源端口80
tcp.port eq 80//不管端口是来源的还是目标的
(5)按MAC地址过滤
例如以太网头过滤,
eth.dst == A0:00:00:04:C5:84 // 过滤 目 标mac
eth.src eq A0:00:00:04:C5:84 // 过 滤 来源mac
eth.addr eq A0:00:00:04:C5:84 // 过滤 来 源MAC和目标MAC都等于A0:00:00:04:C5:84的
(6)按包长度过滤
udp.length == 26, 这个长度是指udp本身固定长度8加上udp下面那块数据包之和 ;
tcp.len >= 7 , 指的是ip数据包(tcp下面那块数据),不包括tcp本身;
ip.len == 94, 除了以太网头固定长度14,其它都算是ip.len,即从ip本身到最后 ;
frame.len == 119 ,整个数据包长度,从eth开始到最后
(7)按参数过滤
例如按TCP参数过滤:
tcp.flags 显示包含TCP标志的封包。
tcp.flags.syn == 0x02 显示包含TCP SYN标志的封包。
tcp.window_size == 0 && tcp.flags.reset != 1
(8)按过滤内容
例如:
tcp[20] 表示从20开始,取1个字符
tcp[20:]表示从20开始,取1个字符以上
tcp[20:8]表示从20开始,取8个字符
(9)采用逻辑运算过滤
过滤语句可利用&&(表示“与”)、||(表示“或”)和!(表示“非”)来组合使用多个限制规则,例如(http && ip.dst ==192.168.1.123 )。要排除arp包,则使用!arp或者not arp。
2、以太网数据帧的构成
EthernetII帧结构
目的地址 DMAC | 源地址 SMAC | 类型 TYPE | 数据 DATA | 帧校验 FCS |
6 | 6 | 2 | 46—1500 | 4 |
三、实验设备
- 计算机以太网环境
- Wireshark网络协议分析软件 3.6.19
四、实验内容与步骤
1. 网络协议分析软件的常用过滤规则
(1)打开网络协议分析软件(Wireshark),选择菜单命令“Capture”“Options”子菜单项。弹出“Wireshark: Capture Options”对话框。在Capture中选择网卡。单击“Start”按钮开始网络数据包捕获。在Filter过滤框中输入下面的过滤规则,分析相应过滤规则的含义并截图。
1)按协议类型过滤
答:图中为http协议过滤后的内容,只有http协议。
- 按IP地址过滤
答:例如输入ip.addr==地址,只显示与指定IP通信的记录,
例如http.request.method == "GET" 可以针对HTTP的请求方式进行过滤,只显示发送GET
- 按端口过滤
- 按MAC地址过滤
5)采用逻辑运算过滤
and: 逻辑与
or: 逻辑或
not: 逻辑非
2.分析以太网数据帧的构成
(1)清空浏览器缓存,然后在浏览器中访问某个网页,同时用wireshark抓包,过滤掉网络层及以上的包,例如:在 Analyze->Enabled Protocols 中选择禁用 IPv4,便于找到链路层数据帧;附上抓获的以太网数据帧截图,写出其目的地址、源地址、上层协议、数据字段的某些标识性 ASCII 码字符等内容。
(2)在cmd窗口清空arp缓存,然后ping本局域网上的某个活跃主机,抓包,抓包时过滤掉网络层及以上的包,找出其中查找被ping主机对应 MAC 地址的 ARP 请求与响应报文。
1)附上该ARP响应报文截图,分析该ARP响应报文的内容,是谁向谁请求其IP地址对应的mac地址。
- 附上以太网mac帧的详细内容截图,并根据截图,分析其目的地址、源地址、上层协议等内容。
(3)浏览某个网页,用wireshark抓包,获取http协议下的数据包,找出请求与响应的数据包并截图,以太网帧中本机的地址与目标主机的地址,并说明http信息与以太网帧之间的关系
1)附上该报文截图,分析该报文的内容
2)附上以太网mac帧的详细内容截图,并根据截图,分析其目的地址、源地址、上层协议等内容。
五.实验思考:在实验中遇到了哪些问题,如何解决的,获取了什么启发。
了解不同过滤条件的作用,例如按协议类型、IP地址、协议模式和端口进行过滤。通过设置不同的过滤规则,可以捕获特定类型的数据包,从而更好地理解协议类型和通信模式。
以太网数据帧是数据链路层的基本单位,用于在物理链路上传输数据。数据链路层将高层协议数据封装在以太网帧的数据字段中,确保数据传输的可靠性。以太网报文由目标MAC地址、源MAC地址和数据字段组成。MAC地址是设备的唯一标识符,用于在局域网中定位设备。可以根据数据包分析出内容。
实验五 网络层协议分析
一、实验目的
了解网络协议分析软件的过滤方式和原则,包括:按协议类型过滤,按IP地址过滤,按协议模式过滤,按端口过滤等,通过设置不同的过滤条件,熟悉协议类型、端口、协议等概念;分析以太网数据帧的构成,数据链路层将不可靠的物理层转变为一条无差错的链路,涉及的数据单位是帧(frame),高层的协议数据被封装在以太网帧的数据字段发送。使用网络协议分析软件可以捕获各种协议数据包,通过查看这些协议数据包中数据链路帧的各字段可以分析网络协议的内部机制。
二、实验内容
- 掌握网络协议分析软件的常用过滤规则使用方法;
- 分析ICMP协议报文
二、实验原理
ICMP协议是IP协议的补充,用于IP层的差错报告、拥塞控制、路径控制以及路由器或主机信息的获取。ICMP报文由首部和数据段组成。首部为定长的8个字节,前4个字节是通用部分,后4个字节随报文类型的不同有所差异。ICMP报文的一般格式如图所示。
补充ICMP协议的几种报文及其含义。
ICMP 协议的报文分为两大类:差错报告报文和查询报文。
差错报告报文是用于通知发送方数据报在传输过程中出现了错误或被丢弃的原因。常见的差错报告报文有:
- 目的站不可达报文:当路由器或主机无法将数据报发送到目的地时,会返回这种报文,代码字段指示具体的不可达原因,如网络不可达、主机不可达、协议不可达、端口不可达等。
- 数据报超时报文:当数据报在网络中被循环转发或分片重装超时时,会返回这种报文,代码字段指示具体的超时原因,如生存时间(TTL)为零或分片重装超时。
- 源站抑制报文:当路由器或主机因为拥塞而丢弃数据报时,会返回这种报文,建议发送方降低发送速率。
- 重定向报文:当路由器发现有更好的路由路径时,会返回这种报文,建议发送方改变路由选择。
- 数据报参数错误报文:当数据报的首部字段有错误或不支持时,会返回这种报文,指针字段指示出错的位置。
查询报文是用于测试或诊断网络性能的报文。常见的查询报文有:
- 回送请求或回答报文:用于检测两个网络设备之间是否可以相互通信,发送方发送回送请求报文,接收方返回回送回答报文,数据区域的内容应该相同。
- 时间戳请求或回答报文:用于测量两个网络设备之间的往返时间,发送方发送时间戳请求报文,接收方返回时间戳回答报文,数据区域包含发送、接收和回答的时间戳。
三、实验设备
计算机以太网环境及Wireshark网络协议分析软件Version 3.6.19
四、实验内容与步骤
1. 分析ICMP协议
- 利用Ping程序产生ICMP分组。Ping向因特网中的某个特定主机发送特殊的探测报文并等待表明主机在线的回复。具体做法:
- 启动打开网络协议分析软件(Wireshark),在Capture中选择网卡。Capture filter字段填入:“icmp”,单击“Start”按钮开始网络数据包捕获。
- 打开Windows命令提示符窗口(Windows Command Prompt),输入“ping –n 10 hostname” ,其中“-n 10”指明应返回10条ping信息,附上执行结果图。
- 当ping程序终止时,停止Wireshark 分组俘获。
- 停止分组俘获后,附上wireshark的界面:
- 截取其中ICMP协议的详细信息
- 观察这个ICMP分组,分析属于ICMP的哪种分组。
此ICMP分组为Echo (ping) request
- 查看ping请求分组,ICMP的type 和code是多少?这个ICMP 包包含了哪些其他的字段?Checksum、sequence number 和identifier 字段的值各为多少?
Type: 8
Code: 0
- 查看相应的ICMP响应信息,ICMP的type 和code又是多少?这个ICMP 包包含了哪些其他的字段?Checksum、sequence number 和identifier 字段的值各为多少?
- 用Tracert程序俘获ICMP分组。
Tracert能够映射出通往特定的因特网主机途径的所有中间主机。源端发送一串ICMP分组到目的端。发送的第一个分组时,TTL=1;发送第二个分组时,TTL=2,依次类推。路由器把经过它的每一个分组TTL字段值减1。当一个分组到达了路由器时的TTL字段为1时,路由器会发送一个ICMP错误分组(ICMP error packet)给源端。
- 启动Window 命令提示符窗口
- 启动Wireshark分组嗅探器,开始分组俘获。
- 在cmd窗口,运行Tracert命令, 附上执行结果图
- 当Tracet 程序终止时,停止分组俘获,附上捕获ICMP分组的截图
- 查看ICMP echo 分组 ,是否这个分组和前面使用 ping命令的ICMP echo 一样?
Tracert 64字节,ping 32字节
- 查看ICMP错误分组,它比ICMP echo 分组包括的信息多。ICMP错误分组比ICMP echo 分组多包含的信息有哪些?
IP 数据报的首部以及 TCP 协议的端口号
- 实验思考:在实验中遇到了哪些问题,如何解决的,获取了什么启发。
Ping是用来测试网络连通性,发出Ping命令主机会发出连续的测试数据包到网络中,ping采用的是icmp协议。ICMP协议主要是Type和Code来识别,
标签:分析,协议,报文,网络协议,过滤,分组,ICMP,以太网 From: https://www.cnblogs.com/maqun/p/18521671