【计算机网络】网络层和链路层网路协议分析
I.IP 协议分析概述:利用Wireshark 工具抓取网络数据,分析IP 数据报中各个字段的内容,分析IP 数据报的分片过程与细节:抓取数据包启动wireshark启动pingplotter,输入gaia.cs.umass.edu地址后,# of times to Trace设置为3(新版pingplotter设置不了,只能手动),把数据包的大小调整为56bytes同样,抓取2000字节的数据包
I.IP 协议分析
概述:利用Wireshark 工具抓取网络数据,分析IP 数据报中各个字段的内容,分析IP 数据报的分片
过程与细节:
-
抓取数据包
-
启动wireshark
-
启动pingplotter,输入gaia.cs.umass.edu地址后,# of times to Trace设置为3(新版pingplotter设置不了,只能手动),把数据包的大小调整为56bytes
-
同样,抓取2000字节的数据包
-
抓取3500字节的数据包
-
-
分析抓取的数据包并回答相关问题
当时问了我一个问题,为什么IP分片发送的包是1514个字节?因为网络层MTU的大小是1500字节,也就是规定了网络层的ip头加上ip报文的内容总共是1500字节,传递到链路层的时候,还要加上14字节的帧头。所有最大传输就是1514字节
-
IP 分片
-
单击Time 栏,按时间先后顺序排列数据报,找到在pingplotter 中将分组大小改为2000 字节后的第一个ICMP Echo Request 报文
-
分析IP 数据报分片信息
看下面的分片的抓包,ipv4就显示了,当前最后分片的包,这个包显示的主要信息有:该ICMP包分为了2块,一块是0到1479,另一块是1480到1979,也就是当前的包。
-
抓包的时候,发现了ICMP包和IPv4包,它们的关系如下。
互联网在数据传输时,必定会发生差错,有些差错是不可知的,但有些却是可以知道的。TCP/IP协议包含一个专门的用于发送差错报文的协议,这一协议即为ICMP(Internet控制报文协议)。它是TCP/IP协议族的一个IP层子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。
一个标准的IP协议中,ICMP是不可少的。ICMP的主要功能包括:确认IP包是否成功送达目标地址,通知在发送过程当中IP包被废弃的具体原因,改善网络设置等。同时ICMP的这种通知消息会使用IP进行发送,收到ICMP包的主机会分解ICMP的首部
II.Ethernet&ARP 协议分析
概述:
抓取并分析Ethernet 数据帧的内容,观察ARP 协议在现实网络中如何工作
过程和细节:
-
抓取Ethernet 数据帧并进行分析
使用wireshark抓包链接http://gaia.cs.umass.edu/wireshark-labs/HTTP-ethereal-lab-file3.html下的内容,通过ip过滤
下面分析包含了 HTTP GET 数据的 Ethernet frame 的内容Ethernet II, Src: Chongqin_86:10:5f (ec:5c:68:86:10:5f), Dst: NewH3CTe_d4:70:02 (44:1a:fa:d4:70:02) Destination: NewH3CTe_d4:70:02 (44:1a:fa:d4:70:02) Source: Chongqin_86:10:5f (ec:5c:68:86:10:5f) Type: IPv4 (0x0800)
由上图可知,我所在主机的以太网地址是 Chongqin_86:10:5f,即ec:5c:68:86:10:5f。以太网 Frame 中目标主机48位地址是:NewH3CTe_d4:70:02(44:1a:fa:d4:70:02)。它不是gaia.cs.umass.edu服务器的以太网地址,而是路由器的以太网地址。然后我们可以看到 Frame 头部 Type 字段的值为IPv4(0x0800),字段的值的含义是帧类型/长度,当该字段的值大于或等于 0x0800 时,表示上层数据使用的协议类型,8 表示以太网。
-
ARP 协议分析
-
Windows 操作系统进入 CMD 下,使用 ARP 命令,分析 ARPcache的内容
首先查看arp命令
下面显示ARP表
-
键入 arp -d *命令,清除 ARPcache内容
发现权限需要提升,就以管理员身份运行cmd,重新尝试
-
打开浏览器,打开wireshark,抓取链接http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-lab-file3.html下面的请求,使用arp过滤
使用eth.addr eqeth.addr eq来过滤对应的mac地址
-
分析其中的内容
很显然,里面的arp抓包的内容,包含了链路层的一些具体信息,主要的在以下
很显然,里面的arp抓包的内容,包含了链路层的一些具体信息,主要的在以下
-
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)