Wireshark实验——入门

时间:2024-03-02 09:55:17

实验目的

  1. WireShark 的安装以及界面熟悉
  2. 简单 HTTP 的抓取和过滤,结果进行分析和导出

实验流程

启动浏览器

启动您喜欢的网页浏览器,显示您选择的主页。

启动 Wireshark

启动 Wireshark 软件。您最初将看到类似于图2所示的窗口.Wireshark尚未开始捕获分组。

准备抓包

要开始分组捕获,请选择“捕获”下拉菜单,然后选择“选项”。 这将显示“ Wireshark:Capture Interfaces ”窗口。

开始抓包

一旦开始分组捕获,将出现窗口显示正在捕获的分组。通过选择捕获下拉菜单并选择停止,您可以停止分组捕获。但是现在不要停止分组捕获。我们首先捕获一些有趣的分组。为此,我们需要产生一些网络流量。让我们使用 Web 浏览器,这将使用 HTTP 协议来从网站下载内容。

访问指定页面

当 Wireshark 正在运行时,输入 URL:http://gaia.cs.umass.edu/wireshark-labs/INTRO-wireshark-file1.html ,并在浏览器中显示该页面。为了显示此页面,您的浏览器将通过 gaia.cs.umass.edu 与 HTTP 服务器链接,并与服务器交换 HTTP 消息,以便下载此页面。包含这些 HTTP 消息(以及通过以太网的所有其他帧)的以太网帧将被 Wireshark 捕获。

停止抓包

在浏览器显示 INTRO-wireshark-file1.html 页面后(这是一行简单的祝贺消息),在 Wireshark 捕获窗口中点击停止按钮来停止 Wireshark 分组捕获。您现在有了计算机和其他网络实体之间交换的所有协议的实时分组数据!与 gaia.cs.umass.edu 的 Web 服务器交换的 HTTP 消息应该出现在捕获分组的列表中。但是,这里还会显示许多其他类型的分组(例如,许多不同的协议类型)。即使你唯一的动作仅仅是下载了一个网页,但显然还有许多其他协议在您的计算机上运行,这些是用户所看不见的。通过书中内容,我们将更多地了解这些协议!现在,你会亲眼看到许多事情即将发生!

过滤器

在主 Wireshark 窗口顶部的分组显示过滤器窗口中,键入 “http”(不含引号,且小写 - Wireshark中的所有协议名称均为小写)。然后选择应用(在您输入 “http” 位置的右侧)。这样就可以只让 HTTP 消息显示在分组列表窗口中。

信息提取

找到从您的计算机发送到 gaia.cs.umass.edu HTTP 服务器的 HTTP GET 消息。(在 Wireshark 分组列表窗口中查找 HTTP GET 消息,其后的 gaia.cs.umass.edu URL 中显示 “GET”)。

当您选择该 HTTP GET 消息,那么它的以太网帧,IP 数据报,TCP 段和 HTTP 消息首部将显示在分组首部窗口中,通过点击左侧的 “+” 和 “ - ” 或向右和向下箭头的分组详细信息窗口,将帧,以太网,IP 协议和 TCP 协议的信息最小化,同时将 HTTP 协议的信息最大化。(注意,特别是除了 HTTP 之外的所有协议的协议信息的最小量以及在分组报头窗口中用于HTTP的协议信息的最大量)。

退出程序

退出 Wireshark。

恭喜!你现在已经完成了第一个实验。

习题回答

第一个实验的目的主要是向你介绍Wireshark。以下问题将证明您已经能够使Wireshark启动并运行,并且已经探索了其中一些功能。根据您的Wireshark实验回答以下问题:
1.列出上述步骤 7 中出现在未过滤的分组列表窗口的协议列中的 3 种不同的协议。

分别是:OICQ、HTTP、TCP

  • 做实验时有其他干扰,排除后应该只有以上 3 种。
  1. 从 HTTP GET 消息发送到 HTTP OK 回复需要多长时间? (默认情况下,分组列表窗口中的时间列的值是自 Wireshark 开始捕获以来的时间(以秒为单位)。要想以日期格式显示时间,请选择 Wireshark 的“视图”下拉菜单,然后选择“时间显示格式”,然后选择“日期和时间”。)
  2. gaia.cs.umass.edu(也称为 wwwnet.cs.umass.edu)的Internet地址是什么?您的计算机的Internet地址是什么?

    gaia.cs.umass.edu IP: 128.119.245.12
    我的 IP: 192.168.0.103

流汇聚

有时候做抓包实验时,可能遇到后台有多个进程都在进行网络通信,从而导致抓到的流量中有混杂了很多不想要的包。例如我想要抓和 www.baidu.com(36.152.44.95) 建立 TCP 连接的包,但是某次实验可能会得到如下结果。

这个时候的包是和其他流量混杂在一起的,虽然可以使用过滤器将符合条件的流量筛选出来,但是有可能存在大量干扰。例如由于网络波动导致了重传收到了多个包,或者是不同的进程向同一个服务器发起了 TCP 连接。这个时候除了进一步过滤以外,还可以使用流汇聚的方式进行分析。所谓流汇聚,就是把属于同一个网络流的流量的包删选出来,这时再去分析就非常清楚了。常见的流汇聚有追踪 HTTP 流、追踪 TCP 流等方式。
例如上面的例子,首先先找到一个疑似是 TCP 三次握手的包,此处我先使用如下过滤规则进行过滤,找出和 36.152.44.95 通信的流量。

ip.src == 36.152.44.95

接着找到 NO.164 的包,因为这个报文段是 SYN/ACK 报文段,因此是三次握手的流量。

接着鼠标右键点击这个报文段,选择追踪流,由于要找 TCP 三次握手的流量,接着选择追踪 TCP 流(也只有这个能选哈)。

这个选项可以把 NO.164 报文段所属于的网络流量筛选出来,并且展示在界面上,显然 TCP 三次握手的包就在这个流的前 3 个包了。

同时我们也可以得知,此次抓包实验中的第 13 个流量是有 TCP 三次握手的包的,而且可以用 wireshark 对这个流量做进一步分析。

参考资料

《计算机网络 自顶向下方法》—— [美] James F.Kurose [美] Keith W.Ross 著,陈鸣 译
wireshark抓包新手使用教程