Wireshark实验一:Web 浏览器与服务器的协议报文捕获与分析

目录

  • [步骤 1:以管理员身份启动 Wireshark(推荐)](#步骤 1:以管理员身份启动 Wireshark(推荐))
  • [步骤 2:选择正确的"网卡接口"](#步骤 2:选择正确的“网卡接口”)
  • [步骤 3:开始抓包](#步骤 3:开始抓包)
  • [步骤 4:制造实验流量------访问一个 HTTP 网站](#步骤 4:制造实验流量——访问一个 HTTP 网站)
  • [步骤 5:停止抓包](#步骤 5:停止抓包)
  • [步骤 6:用过滤器只看 HTTP 报文](#步骤 6:用过滤器只看 HTTP 报文)
  • [步骤 7:三块区域认识界面](#步骤 7:三块区域认识界面)

一个人通常能够通过以下方法加深对网络协议的理解:

观察它们的动作和经常摆弄它们,即观察两个协议实体之间交换的报文序列,钻研协议运行的细节,使协议执行某些动作,观察这些动作及其后果。这能够在仿真环境下或在如因特网这样的真实网络环境下完成。在本书配套 Web 站点上的 Java 小程序采用的是第一种方法。在 Wireshark 实验中,我们将采用后一种方法。你可以在家中或实验室中使用桌面计算机在各种情况下运行网络应用程序。在你的计算机上观察网络协议,它是如何与在因特网别处执行的协议实体交互和交换报文的。因此,你与你的计算机将是这些真实实验的有机组成部分。你将通过动手来观察和学习。

用来观察执行协议实体之间交换的报文的基本工具称为分组嗅探器(packet sniffer)。顾名思义,一个分组嗅探器被动地拷贝(嗅探)由你的计算机发送和接收的报文;它也能显示出这些被捕获报文的各个协议字段的内容。Wireshark 是一个运行在 Windows、Linux/Unix 和 Mac 计算机上的免费分组嗅探器。贯穿全书,你将发现 Wireshark 实验能让你探索在该章中学习的一些协议。在这第一个 Wireshark 实验中,你将获得并安装一个 Wireshark 的副本,访问一个 Web 站点,捕获并检查在你的 Web 浏览器和 Web 服务器之间交换的协议报文。

Wireshark 实验核心步骤要点

1、工具准备

获取并安装适配本地系统(Windows/Linux/Unix/Mac)的 Wireshark 软件(免费工具)。

2、实验操作流程

启动 Wireshark,选择对应网络接口(如连接互联网的网卡)开始报文捕获;

在本地 Web 浏览器中访问任意 Web 站点;

完成访问后,停止 Wireshark 的报文捕获。

3、报文分析重点

定位 Web 浏览器与目标 Web 服务器之间交换的报文序列;

查看报文中各协议字段的具体内容,对应学习的网络协议逻辑。

步骤 1:以管理员身份启动 Wireshark(推荐)

在桌面或开始菜单找到 Wireshark 图标。

右键 → 选择 "以管理员身份运行 "。

这样可以避免以后提示抓包权限不够。

步骤 2:选择正确的"网卡接口"

打开后你会看到界面,中间一大块"捕获"。

在列表里,你会看到诸如:

以太网

WLAN

vEthernet (WSL)

Adapter for loopback traffic capture

等等

每一行右边有折线图,表示这个接口上有没有流量。

怎么选?

如果你现在是插网线上网:
→ 优先选 以太网(折线图一般跳得比较明显)。

如果是连 WiFi 上网:
→ 优先选 WLAN(无线网络接口)。

你的截图里"以太网"折线图有明显波动,很可能就是当前真正上网的那块网卡,所以先选它。

如果后面发现抓不到访问网页的包,再换 WLAN 试一次即可,不会损坏任何东西。

步骤 3:开始抓包

在"捕获"界面,双击 你选中的那个接口(例如 以太网)。

这相当于点了"开始捕获"按钮。

界面会变成三块区域,上面开始出现很多行数据在往下滚动,这就是抓到的分组了。

此时你已经在"闻包"了。

步骤 4:制造实验流量------访问一个 HTTP 网站

不要关 Wireshark,让它一直抓。

打开浏览器(Edge / Chrome 都行)。

在地址栏输入一个明确使用 HTTP 的网址,例如:

cpp 复制代码
http://neverssl.com
http://example.com

重点:一定要有 http://,不要写成 https://。

很多网站会自动跳到 HTTPS,那样内容会被加密,我们在初学阶段不方便观察。

回车,让网页打开,停留个 2~3 秒。

这一步的目的就是:让浏览器和 Web 服务器之间真实地跑一段 HTTP 会话,好让 Wireshark 抓到。

步骤 5:停止抓包

回到 Wireshark 窗口。

点击上方工具栏里的红色方块按钮(鼠标放上去会写"停止捕获")。

或者菜单栏点:捕获© → 停止。

这时上面的分组列表不再滚动,说明抓包结束,你已经得到一份"实验数据"。

步骤 6:用过滤器只看 HTTP 报文

现在列表中有很多各种协议的分组(ARP、DNS、TCP 等),我们先按书里的思路,只看 HTTP:

在 Wireshark 界面上方,有一个写着"应用显示过滤器......"的白色输入框。在里面输入:

cpp 复制代码
http

按下 Enter。

如果刚才访问的网站是 HTTP,你现在应该能看到列表里只剩下少数几行,Protocol 一列显示 HTTP,Info 里可能有类似:

GET / ... HTTP/1.1

HTTP/1.1 200 OK

等等。

这就对应书上图 1-28 里的那些 Web 请求/响应报文。

步骤 7:三块区域认识界面


相关推荐
cookies_s_s1 小时前
项目--协程库(C++)前置知识篇
linux·服务器·c++
qq_310658511 小时前
mediasoup源码走读(二)环境搭建与 Demo 运行
服务器·c++·音视频
p***92482 小时前
服务器部署,用 nginx 部署后页面刷新 404 问题,宝塔面板修改(修改 nginx.conf 配置文件)
运维·服务器·nginx
HarrySunCn2 小时前
Rocky服务器部署前端静态项目的注意点
运维·服务器
星环处相逢2 小时前
Nginx 优化与防盗链及扩展配置指南
服务器·前端·nginx
XiaoCCCcCCccCcccC3 小时前
多路复用 select -- select 的介绍,select 的优缺点,select 版本的 TCP 回显服务器
服务器·c++
XiaoCCCcCCccCcccC3 小时前
多路复用 poll -- poll 的介绍,poll 的优缺点,poll 版本的 TCP 回显服务器
服务器·网络·c++
虾..3 小时前
Linux 进程等待
linux·运维·服务器
Han.miracle4 小时前
JavaEE-- 网络编程 http请求报头
运维·服务器·网络·网络协议·计算机网络·http