计算机网络第三次实验

计算机网络第三次实验

实验名称

协议分析

实验目的

学会安装wireshark软件,熟悉wireshark,用wireshark来观察网络。了解wireshark工具的使用方法。了解使用wireshark抓包中各个字段的含义。

实验内容(步骤)

  1. 安装捕获软件。在官网找到对应版本下载,一路默认安装,最后安装成功。
    在这里插入图片描述
    在这里插入图片描述

  2. 启动捕获软件并实现抓包。

    (1)在windows的“开始”菜单中,单击Wireshark菜单,启动Wireshark,如图所示:
    在这里插入图片描述

    (2)在上图中,选择捕获“本地连接”接口上的数据包。选择“本地连接”选项,然后单击左上角的“开始捕获分组”按钮,将进行捕获网络数据,图中没有任何信息,表示没有捕获到任何数据包。这是因为目前“本地连接”上没有任何数据。只有在本地计算机上进行一些操作后才会产生一些数据,如浏览网站。
    在这里插入图片描述

    (3)当本地计算机浏览网站时,“本地连接”接口的数据将会被 Wireshark 捕获到。捕获的数据包如图所示。图中方框中显示了成功捕获到“本地连接”接口上的数据包。
    在这里插入图片描述

    (4)Wireshark 将一直捕获“本地连接”上的数据。如果不需要再捕获,可以单击左上角的“停止捕获分组”按钮,停止捕获。
    在这里插入图片描述

  3. 设定所抓包类型。

    抓包过滤器类型Type(host、net、port)、方向Dir(src、dst)、协议Proto(ether、ip、tcp、udp、http、icmp、ftp等)、逻辑运算符(&& 与、|| 或、!非)。使用显示过滤器,需要在 Wireshark 的数据包界面中输入显示过滤器并执行,如图所示:
    在这里插入图片描述

  4. 分析包的内容。

    (1)以太协议分析。
    在这里插入图片描述
    在这里插入图片描述

    Frame:表示以太帧总信息。“Frame1:…”这段的含义是数据帧号码1,捕获了217个字节,也就是1736位,在interface 0上面,也就是在网卡0上面。
    在这里插入图片描述

    Ethernet II:表示以太帧头部。点开Ethernet II 可以清楚的看到里面包含了三个信息,Destination, Source,Type依次对应着结构图上面的DMAC SMAC TYPE 类型,而我们的type类型为IPV4也就是它是一个ip包,版本是v4。这就说明type类型对应的就是这个以太帧的高级层协议,结构图上面还标明了它还可以对应APR协议,也就是说,以太帧即可以与网络层相关联(IP协议),也可以与第二层数据链路层相关联(ARP协议)。这个Type,也叫Ether_Type,然而这里我们对应了IP协议。这就说明以太帧把每层都联系了起来。
    在这里插入图片描述

    Internet Protocol Version4:表示IP数据包。第一个红圈,Header Length,也就是首部的长度,0101转换成十进制就是5,然而它不等于说5就是首部的长度,因为它的一个单位代表32位,也就是四个字节。所以5X4=20正好是20个字节,说明这个UDP协议,只有固定的首部,没有多余的那些。因为首部长度的最小单位就是四个字节,所以当协议有可选字段的时候,会增加填充,直到它是4个字节的整数倍,所以才有了上图IP包的填充图示。total length,也就是这个ip数据包的总长度,首部加上数据部分的长度。最重要的字段就是Protocol,也就是这个IP数据包包含的高层协议,传输层协议,看名字知道这个我们分析的IP数据包包含的协议为UDP。还有比较重要的两个字段也就是Source 还有Destnation,这里封装了源ip地址也就是我们本机的,还有目标ip,也就是我们将要连接的那个ip地址。
    在这里插入图片描述

    User Datagram Protocol:表示UDP数据包。UDP的首部固定位8个字节,前两个字节Source Port 表示源端口,也就是本机的UDP端口。Destination Port表示目标主机的端口。长度,Length,是首部加上数据部分的长度,上图位183,183减去首都的长度8,也就是175,表示此udp数据包(或者叫做UDP数据报)的数据部分是29字节。

    (2)ARP协议分析。
    在这里插入图片描述

    首先在Frame帧中,可以知道该数据包的大小为42个字节。其次再看Ethernet部分的内容,会发现这个数据包目的地址是ff:ff:ff:ff:ff:ff,这是一个广播地址,说明当前数据包会被广播到当前网段中的所有设备上。而这个数据包中以太网的源地址就是本机的MAC地址。接下来展开ARP请求的头部信息。按照顺序依次为硬件类型、协议类型、硬件地址长度、协议长度、操作码(该值为1,表示这是一个ARP请求包)、发送方的MAC和IP地址,以及接收方的IP地址。而我们想要获取的目标MAC地址还是未知的,因此就以全0的形式显示。

    (3)IP协议分析。
    在这里插入图片描述
    在这里插入图片描述

    1)版本(4bit)IP报文中,版本占了4位,用来表示该协议采用的是那一个版本的IP,相同版本的才能进行通信。首部长度(4bit),该字段表示整个ip包头的长度,其中数的单位是4字节。一般来说此处的值为0101,表示头长度为20字节。2)总长度(16bit)。该字段指首部和数据之和的长度。总长度必须不超过最大传送单元 MTU。标识(16bit)。标识(identification)占 16 位,它是一个计数器,用来产生数据报的标识。3)片偏移。该字段指出较长的分组在分片后某片在原分组中的相对位置。片偏移以 8 个字节为偏移单位。4)生存时间。记为TTL(Time To Live)数据报在网络中可通过的路由器的最大值。Protocol:TCP(6)协议。该字段指出此数据报携带的数据使用的协议种类以便目的主机的IP层将数据部分上交给哪个处理过程。5)首部检验和。该字段只检验数据报的首部不检验数据部分。源地址/目的地址。

    (4)TCP协议分析。
    在这里插入图片描述
    在这里插入图片描述

    第一个圈:源端口16139和目的端口443;第二个圈:relative sequence number序号和relative ack number确认序号;第三个圈:表示头部长度为20bytes;第四个圈:Flags标志位,Window窗口大小为515;第五个圈:紧急指针;第六个圈表示数据。
    在这里插入图片描述

    TCP帧数据(灰色部分)。

    TCP三次握手过程:

    1)主机发起一个tcp连接请求(tcp);
    在这里插入图片描述

    第一个圈:表示帧号550;第二个圈:源端口与目标端口;第三个圈:序号0和确认序号0(ACK=0无效);第四个圈:SYN=1,发起一个请求。

    2)服务器响应连接请求(tcp);
    在这里插入图片描述

    第一个圈:帧号551;第二个圈:socket;第三个圈:序号0,是响应连接的序号,与请求的序号无关。确认序号请求序号+1;第四个圈:ACK=1确认序号有效,SYN=1。收到连接请求,返回一个ACK,SYN帧。

    3)主机返回ACK完成3次握手成功建立连接(tcp)。
    在这里插入图片描述

    第三个圈:序号和确认序号都为1;第四个圈ACK=1,确认序号有效。收到服务器的ACK,SYN帧后,回复一个ACK帧,连接建立完成,实现了三次握手。

    (5)UDP协议分析。
    在这里插入图片描述

    第一个圈:源端口和目标端口;第二个圈:长度55字节;第三个圈:可以看出这是腾讯QQ的协议;第四个圈显示了我的QQ号。

    (6)ICMP协议分析。

    确定目标地址,选择www.baidu.com作为目标地址;

    配置过滤器:针对协议进行过滤设置,ping使用的是ICMP协议,抓包前使用过滤器,设置为icmp;
    在这里插入图片描述

    启动抓包:
    在这里插入图片描述

    停止抓包:

    报文由IP首部和ICMP报文组成。蓝色部分为IP首部,共20字节。
    在这里插入图片描述

    红圈里为ICMP报文,共有40字节;类型是请求;Sequence number与回复报文对应。
    在这里插入图片描述

    通过查询ICMP报文类型可知,Type为8的包为回射请求(Ping请求)。
    在这里插入图片描述

    使用相同的方法,查看Echo (ping) reply包,得到type类型为0. 通过查询ICMP报文类型可知,Type为0的包为回射应答(Ping应答);

    在这里插入图片描述

实验结果(总结、分析)

在这次实验中,我学会了抓包,过滤及其分析数据包;在之前只是停留在理论层面的认识,在这次实验中,深刻认识到了网络连接,传输数据的复杂性,在抓包的过程,首先要选对网络的接口,分析数据包要充分,在tcp三次握手建立过程中,除开对状态码的确定,还需要看清楚此三条命令是否对应同一个页面的请求,查看他们的序号是否为前一条命令加一来判断。任何捕获的数据包都有它自己的层次结构,Wireshark 会自动解析这些数据包,将数据包的层次结构显示出来,供用户进行分析。这些数据包及数据包对应的层次结构分布在 Wireshark 界面中的不同面板中。

· Packet List 面板:上面部分,显示 Wireshark 捕获到的所有数据包,这些数据包从 1 进行顺序编号。

· Packet Details 面板:中间部分,显示一个数据包的详细内容信息,并且以层次结构进行显示。这些层次结构默认是折叠起来的,用户可以展开查看详细的内容信息。

Packet Bytes 面板:下面部分,显示一个数据包未经处理的原始样子,数据是以十六进制和 ASCII 格式进行显示。

,并且以层次结构进行显示。这些层次结构默认是折叠起来的,用户可以展开查看详细的内容信息。

Packet Bytes 面板:下面部分,显示一个数据包未经处理的原始样子,数据是以十六进制和 ASCII 格式进行显示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

瓶瓶瓶瓶瓶^_^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值