IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> Wireshark 实验 -> 正文阅读

[开发测试]Wireshark 实验

Wireshark 实验

本博客是主要是用来记录学习内容和收获,如有错误敬请斧正!
参考博客:琪哥教学网等博客


数据链路层

实作一熟悉 Ethernet 帧结构

使用 Wireshark 任意进行抓包,熟悉 Ethernet 帧的结构,如:目的 MAC、源 MAC、类型、字段等。

  1. ping 百度
    在命令行里ping www.baidu.com
    在这里插入图片描述

  2. wireshark 抓包,过滤(只看ping百度)
    在这里插入图片描述

  3. 查看Ethernet
    在这里插入图片描述
    目的Mac:(进行一些网络活动即接入Internet)下一跳物理地址(网关的Mac地址)即00:74:9c:9f:40:13
    源Mac:本机物理地址即80:2b:f9:8d:2f:ab
    类型:ipv4(0800)
    字段:ip包其中包中是ICMP

实作二 了解子网内/外通信时的 MAC 地址

1.ping 你旁边的计算机(同一子网),同时用 Wireshark 抓这些包(可使用 icmp 关键字进行过滤以利于分析),记录一下发出帧的目的 MAC 地址以及返回帧的源 MAC 地址是多少?这个 MAC 地址是谁的?

2.然后 ping qige.io (或者本子网外的主机都可以),同时用 Wireshark 抓这些包(可 icmp 过滤),记录一下发出帧的目的 MAC 地址以及返回帧的源 MAC 地址是多少?这个 MAC 地址是谁的?

  • ping qige.io
    在这里插入图片描述

  • wireshark抓包并过滤筛选
    在这里插入图片描述

  • 分析帧
    在这里插入图片描述
    目的Mac:00:74:9c:9f:40:13;为下一跳的Mac地址(因为ping非本子网内的主机该Mac地址为网关的Mac地址)
    返回帧的源Mac:00:74:9c:9f:40:13
    该Mac地址是本主机所在网关的Mac地址。

3.再次 ping www.cqjtu.edu.cn (或者本子网外的主机都可以),同时用 Wireshark 抓这些包(可 icmp 过滤),记录一下发出帧的目的 MAC 地址以及返回帧的源 MAC 地址又是多少?这个 MAC 地址又是谁的?

  • ping www.cqjtu.edu.cn
    在这里插入图片描述

  • wireshark 抓包 并过滤
    在这里插入图片描述

  • 分析帧
    在这里插入图片描述
    目的Mac:00:74:9c:9f:40:13;
    返回帧的源Mac:00:74:9c:9f:40:13
    该Mac地址是本主机所在网关的Mac地址。

实作三 掌握 ARP 解析过程

  1. 为防止干扰,先使用 arp -d * 命令清空 arp 缓存
    权限不够
    在这里插入图片描述
    管理员权限
    在这里插入图片描述

  2. ping 你旁边的计算机(同一子网),同时用 Wireshark 抓这些包(可 arp 过滤),查看 ARP 请求的格式以及请求的内容,注意观察该请求的目的 MAC 地址是什么。再查看一下该请求的回应,注意观察该回应的源 MAC 和目的 MAC 地址是什么。

  3. 再次使用 arp -d * 命令清空 arp 缓存
    在这里插入图片描述

  4. 然后 ping qige.io (或者本子网外的主机都可以),同时用 Wireshark 抓这些包(可 arp 过滤)。查看这次 ARP 请求的是什么,注意观察该请求是谁在回应。
    在这里插入图片描述
    arp发送广播帧的请求
    Who has 10.160.255.254? Tell 10.160.89.59
    回复是本机所在子网的的网关

问题&&解答

  1. 你会发现 Wireshark 展现给我们的帧中没有校验字段,请了解一下原因。
    答:
    Wireshark 抓包前,在物理层网卡已经去掉了一些之前几层加的东西,比如前导同步码,FCS等等,之后利用校验码CRC校验,正确时才会进行下一步操作,因此,抓包软件抓到的是去掉前导同步码、FCS之外的数据,没有校验字段。
  2. 通过实作二的实验,你会发现:
    访问本子网的计算机时,目的 MAC 就是该主机的
    访问非本子网的计算机时,目的 MAC 是网关的
    请问原因是什么?
    答:
    如果访问本子网的计算机不需要进入通信子网(即不需要连入wan),在同一子网中不需要经过网关可以直接跳到目的主机,所以帧中的Mac地址是就是目的主机的Mac地址。 如果访问非本子网的计算机,需要通过网关出本子网,其中大概率要通过通信子网,找到所访问的主机所在的子网,故下一跳的Mac地址是网关的Mac地址。
  3. 通过以上的实验,你应该会发现,
    ARP 请求都是使用广播方式发送的
    如果访问的是本子网的 IP,那么 ARP 解析将直接得到该 IP 对应的 MAC;如果访问的非本子网的 IP, 那么 ARP 解析将得到网关的 MAC。
    请问为什么?
    答:
    当访问的是本子网的ip时,网络的活动范围是本子网(lan),不会穿过通信子网,可以通过arp广播直接在子网内部得到对应的ip的Mac地址。
    当访问的是非同一子网的ip时,网络的活动的范围就是广域网(wan),大概率会穿过通信子网,需要通过网关来传播出去,通过是通过路由器传播。

网络层

实作一 熟悉 IP 包结构

使用 Wireshark 任意进行抓包(可用 ip 过滤),熟悉 IP 包的结构,如:版本、头部长度、总长度、TTL、协议类型等字段。

  1. ping 百度
    在这里插入图片描述

  2. wireshark抓包分析
    在这里插入图片描述
    重要分析:

实作二 IP 包的分段与重组

根据规定,一个 IP 包最大可以有 64K 字节。但由于 Ethernet 帧的限制,当 IP 包的数据超过 1500 字节时就会被发送方的数据链路层分段,然后在接收方的网络层重组。
缺省的,ping 命令只会向对方发送 32 个字节的数据。我们可以使用 ping 202.202.240.16 -l 2000 命令指定要发送的数据长度。此时使用 Wireshark 抓包(用 ip.addr == 202.202.240.16 进行过滤),了解 IP 包如何进行分段,如:分段标志、偏移量以及每个包的大小等

1.ping 202.202.240.16 -l 2000
在这里插入图片描述
2. wireshark进行抓包
在这里插入图片描述

在这里插入图片描述

实作三 考察 TTL 事件

在 IP 包头中有一个 TTL 字段用来限定该包可以在 Internet上传输多少跳(hops),一般该值设置为 64、128等。
在验证性实验部分我们使用了 tracert 命令进行路由追踪。其原理是主动设置 IP 包的 TTL 值,从 1 开始逐渐增加,直至到达最终目的主机。
请使用 tracert www.baidu.com 命令进行追踪,此时使用 Wireshark 抓包(用 icmp 过滤),分析每个发送包的 TTL 是如何进行改变的,从而理解路由追踪原理。

  1. tracert 百度
    在这里插入图片描述

  2. wireshark 抓包分析
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    通过抓包分析可知:
    通过抓包知:TTL由1开始,通过一个路由,TTL递增1

问题&&解答

  1. 实作一中你会发现,为提高效率,我们应该让 IP 的头部尽可能的精简。但在如此珍贵的 IP 头部你会发现既有头部长度字段,也有总长度字段。请问为什么?
    答:
    在传输时便于识别ip总长度,便于分段,当长度超过1500B时,会进一步分段。
  2. 实作二中你会发现,分段与重组是一个耗费资源的操作,特别是当分段由传送路径上的节点即路由器来完成的时候,所以 IPv6 已经不允许分段了。那么 IPv6 中,如果路由器遇到了一个大数据包该怎么办?
    答:
    发给可以处理的路由或者直接丢弃并返回给发送方一个ip包太大的消息
  3. 在 IPv4 中,TTL 虽然定义为生命期即 Time To Live,但现实中我们都以跳数/节点数进行设置。如果你收到一个包,其 TTL 的值为 50,那么可以推断这个包从源点到你之间有多少跳?
    答:
    TTL为50,其最接近的二进制数为64,故可推断有14跳。

传输层

实作一 熟悉 TCP 和 UDP 段结构

实作二分析 TCP 建立和释放连接

问题&&解答

应用层

实作一 了解 DNS 解析

实作二 了解 HTTP 的请求和应答

问题&&解答

总结

更新中。。。。

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-12-15 18:35:34  更:2021-12-15 18:35:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 7:38:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码