使用网络协议分析仪Wireshark

  • 环境

操作系统:运行Win10操作系统的PC一台

网络平台:以太网

机器的IP地址:IPv4:xxxxxxxxxxxx

  • 实验目的

1)能够正确安装配置网络协议分析仪Wireshark

2)熟悉使用Wireshark分析网络协议的基本方法

3)加深对协议格式、协议层次和协议交互过程的理解。

  • 实验内容及步骤

1.安装网络协议分析仪

安装wireshark版本2.6.3。双击wireshark安装程序图标,机内安装过程。根据提示进行选择确认,可以顺利安装系统。安装好后需重启系统。

2.使用Wireshark分析协议

⑴启动系统。点击“Wireshark”图标,出现如图1所示的软件界面。

⑵打开命令行,输入tracert www.baidu.com

 

⑶在启动界面双击以太网开始抓包,在过滤器中输入“ip.addr==119.75.216.20”开始抓包。

  • 实验结果

1、tracert www.baidu.com

分析:

①Tracert:路由跟踪实用程序。用于确定IP数据包访问目标所采取的路径,其工作原理是通过向目标发送不同IP生存时间 (TTL) 值的“Internet控制消息协议(ICMP)”回应数据包,跟踪路由诊断程序确定到目标所采取的路由。实际应用中可以使用跟踪路由命令确定数据包在网络上的停止位置。TTL是有效的跃点计数,在必需路径的每个路由器转发数据包之前至少递减一,当TTL递减至0时,路由器将“ICMP超时”的消息发送回源地址。执行tracert命令后,源主机先发送TTL为1的回显数据包,并在随后的每次发送过程中将TTL递增一,直到目标响应或TTL达到最大值,从而确定路由。路由则通过检查中间路由器送回的“ICMP已超时”的信息来确定路由。

②截图中输入命令后第一行显示测试包最大跳数30,防止路由回环;域名解析后ip为119.75.216.61。

③下面15跳,通过百度这些ip地址可查到ip所在地信息,结合网上例子分析大致过程如下:

1行:请求从本机出发,是从湖北省武汉市教育网某主机出发

2-3行:本地局域网,来到了网关,即学校的总路由器

4行:湖北省武汉市教育网,根据本校的网络设置,找到了学校的外网出口,来到了湖北省教育局的路由器

5行:湖北省无百度服务器,来到了广东省教育局的路由器

6-8,9,10,11行:北京市海淀区教育网

12-15行:北京市北京市百度,最终成功找到了百度的服务器(其中14行请求超时可能是因为网络路径中间件不允许应答该类型报文,但路由通畅或是网络拥堵);

2、wireshark抓包分析

(1)路由分析

上图为包的简要纲略,每一列分别对应帧编号,发送时间,发送源ip地址,目的地ip地址,协议,长度以及该包报告信息或内容。

从上图也能看出,从本机(222.20.100.187)向目标地址www.baidu.com(119.75.213.61)连续发送三个TTL为1的ICMP包,当到达第一个路由(222.20.101.254)时,由于TTL由1减为0,该路由便向源主机发送一超时报文,同时不再转发该包。

当本机收到第一个路由送回的超时报文后,本机将TTL增1,向目标地址连续发送三个TTL=2的ICMP包,到达第一个路由后,TTL减1变为1,并向下一路由转发该包,于是到达IP为192.168.243.1的路由,由于TTL在该路由减1为0,所以将会向主机地址发送一ICMP超时报文,同时不再转发该包。

之后TTL=3、4……13,原理同上。

由上图可看到,TTL=14时,主机地址收不到回应,与tracert执行后第14行的结果对应,返回tracert执行结果可看到“请求超时”提示。一般情况下,tracert会连续发出三个同样TTL值的包,只要收到一个包的回应便能确定路由地址。而图中结果可能是因为网络拥堵或者路由器的原因,导致三个包请求都超时。但tracert命令会继续使TTL增1,发送三个TTL=15的包。

TTL=15时,从图中可看到,此时源主机请求收到目标地址www.baidu.com(119.75.213.61)的回应。

(2)报文内容分析

①选取具体某一帧,分析其分组内容。上面是分组首部的详细信息,下面是以十六制和ASCLL码形式展现的分组内容

上面是分组首部的详细信息,下面是以十六制和ASCLL码形式展现的分组内容

第一行:帧26(26为序号),所抓分组的字节数为106;

第二行:以太网,有限局域网技术,数据链路层,源mac地址为1c:39:47:d1:6c:37;目标mac地址为00:74:9c:7d:fc:93;

第三行:ipv4协议,是网络层协议,源ip地址为222.20.100.187;目标ip地址为119.75.213.61;

第四行:TCP协议,运输层协议。

②逐层分析

第一层:

1.Arrival time:到达时间,值为Sep 24,2018 20:52:52.286745000

2.Epoch Time:出现时间,值为1537793573.286745000秒

3.Frame Number:帧编号,26

4.Frame Length:帧长度,106bytes

5.Capture Length:所捕获的包长度,106bytes

6.[Frame is marked:False]:标记帧:无

[Frame is ignored:False]:忽略帧:无

7.[Protocols in frame:eth;ip;tcp;ssl]: 帧协议:以太网,以太网协议,ip协议,icmp协议,data协议

8.[Coloring Rule Name:TCP],色彩规则名称:ICMP;

[Coloring Rule String:tcop]:色彩规则字符串:icmp,icmpv6;

第二层:

1目标mac地址为00:74:9c:7d:fc:93;

2.源mac地址为1c:39:47:d1:6c:37;

3.Type:IPv4(0x0800):类型为IP数据包

第三层:

1.Version:4:即IP协议版本为IPv4

Header length:20bytes:首部数据长度为20字节

2.Differentiated Services Field: 0x00:差分服务字段(该帧采用默认值0),前六位代表DSCP(区分服务代码点),低两位为CU(现实网络拥塞通知)

3.Flags: 0x0000 (Don't Fragment),不支持分组;

4.Time to live: 56:即TTL,生存时间为1

5.Header checksum: 0x26d5 [validation disable],首部校验和 0x40d8,validation disable是指验证禁用,原因是因为tcp校验由网卡计算,wireshark不自动做tcp校验和的检验。

第四层:

1.type:icmp协议的类型

2.code:进一步划分ICMP的类型;例如,ICMP的目标不可达类型可以把这个位设为1至15等来表示不同的意思。

3.Checksum:0xf659[correct] 含有从ICMP报头和数据部分计算得来的,用于检查错误的数据;

4.Identifier:即ID值,在ECHO REPLY类型的消息中要返回这个字段

5.Sequence:字段包含一个序号,在ECHO REPLY类型的消息中要返回这个字段。

6.Data:填充数据,ICMP报头的后面(以8位为一组),共64字节。

  • 实验中的问题及心得

这是计算机网络的第一次实验,和以前的C语言或者数据结构实验都不同,这次计算机网络实验没有明确要求的实验效果展示,而是要深入了解网络信息传输的基本知识,后两者重在动手实现,而前者关键在于理解。刚开始实验时,照着实验指导书做了一遍,虽然中间没有什么曲折,但并不理解每一步的意思,只是走了个流程。随后跟着老师的讲解,开始慢慢了解了数据报文在每相邻路由间的交互方式,也大致看懂了数据包中每一字段的意思。

而通过这一实验,我开始接触到ip、icmp、tcp等协议在网络中的应用。虽然对这些协议的内容并不了解,但却激起了我对计算机网络的强烈兴趣。同时,这次实验也让我明白,实验操作虽简单,但要真正对实验内容理解透彻,还是需要狠下一番功夫。若只是照着流程做一遍,不求甚解,最终也只会一无所获。

  • 9
    点赞
  • 87
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值