介绍
捕获实时网络数据是 Wireshark 的主要功能之一。 Wireshark 捕获引擎提供以下功能:
从不同类型的网络硬件(如以太网或 802.11)捕获。
同时从多个网络接口捕获。
在不同的触发器上停止捕获,例如捕获的数据量、经过的时间或数据包数量。
在Wireshark 捕获时同时显示解码的数据包。
过滤数据包,减少要捕获的数据量。 请参阅捕获时过滤。
在进行长期捕获时将数据包保存在多个文件中,可选择在固定数量的文件(“环形缓冲区”)中循环。
但是捕获引擎仍然缺乏根据捕获的数据停止捕获(或执行某些其他操作)的功能。
准备
初次设置 Wireshark 来捕获数据包会遇到一些问题,这个时候,可以提供一份指导文档来指导如何设置,具体的路径如下: https://gitlab.com/wireshark/wireshark/wikis/CaptureSetup 。
可以使用以下方法开始使用 Wireshark 抓包:
双击默认打开屏幕中的界面。
在默认打开屏幕中选择一个界面,然后选择捕获 › 开始或单击第一个工具栏按钮。
使用“捕获选项”对话框(捕获 › 选项…)获取有关可用接口的更多详细信息。
如果您已经知道捕获接口的名称,您可以从命令行启动 Wireshark:
$wireshark -i eth0 -k
这将在接口 eth0 上启动 Wireshark 捕获。
开始
当在不开始捕获或打开捕获文件的情况下打开 Wireshark 时,它将显示如下页面。其中列出了所有最近打开的捕获文件和可用的捕获接口。 每个接口的网络活动将显示在接口名称旁边的迷你图中。 可以选择多个接口并同时从它们中捕获。对于在不同操作系统下打开wireshark,具体的页面存在不同。这里是以常用的Windows系统为示例。
某些接口允许或要求在捕获之前进行配置。 这将由接口名称左侧的配置图标(齿轮状)设置指示。 单击该图标将显示该接口的配置对话框。将鼠标悬停在界面上将显示任何关联的 IPv4 和 IPv6 地址及其捕获过滤器。 Wireshark 不仅限于网络接口——在大多数系统上,还可以捕获 USB、蓝牙和其他类型的数据包。 另请注意,如果 Wireshark 无法访问某个接口,或者已按照“管理接口”对话框中的描述将其隐藏,则该接口可能会被隐藏。
“捕获选项” 对话框
Input 页面
具体的页面如下。
Input Interface Introduction | |
---|---|
Column Name | Description |
Interface | 接口名称 |
Traffic | 显示网络活动随时间变化的迷你图 |
Link-layer Header | 此接口捕获的数据包类型 在某些情况下,可以更改此设置 |
Promiscuous | 在捕获时将此界面置于混杂模式 另一个应用程序可能会覆盖此设置 |
Snaplen | 快照长度,或每个数据包要捕获的字节数 如果需要,可以设置显式长度 |
Buffer | 用于捕获数据包的内核缓冲区的大小 可以根据需要增加或减少它,但默认值通常就足够了 |
Monitor Mode | 捕获完整的原始 802.11 标头 支持取决于接口类型、硬件、驱动程序和操作系统 启用此功能可能会断开您与无线网络的连接。 |
Capture Filter | 应用于此接口的捕获过滤器 可以通过双击来编辑过滤器,看捕获时过滤以获取有关捕获过滤器的更多详细信息 |
Enable promiscuous mode on all interfaces | 启用之后,上面的各个混杂模式设置将被覆盖 |
Capture filter for selected interfaces | 用于同时为多个接口设置过滤器 |
Manage Interfaces | 打开“管理接口”对话框,可以在其中定义管道,扫描或隐藏本地接口,或者添加远程接口 |
Compile Selected BPFs | 打开“编译过滤器输出”对话框,其中显示了捕获过滤器的编译字节码 |
Input 页面
具体的页面如下。
Output Interface Introduction | |
---|---|
Column Name | Description |
File | 此字段允许您指定将用于捕获文件的文件名 默认情况下它是空白的 如果留空,则捕获数据将存储在临时文件中 还可以单击此字段右侧的按钮来浏览文件系统 |
Output format | 允许设置捕获文件的格式 pcapng 是默认值,比 pcap 更灵活 有关 pcapng 的更多详细信息,请参阅 文档 |
Create a new file automatically | 设置切换新捕获文件的条件。 可以基于以下内容创建新的捕获文件以下条件: 捕获文件中的数据包数 捕获文件的大小 捕获文件的持续时间 版本不同,上面的内容也存在细微偏差 |
Use a ring buffer with | 仅多个文件 使用给定数量的文件形成捕获文件的环形缓冲区 |
Options 页面
具体的页面如下。
Options Interface Introduction | ||
---|---|---|
Module | Item | Description |
Display Options | Update list of packets in real-time | 捕获期间实时更新数据包列表窗格 不启用此功能,Wireshark 将不会显示任何数据包,直到您停止捕获 选中此项时,Wireshark 会在单独的进程中捕获并将捕获的内容提供给显示进程 |
Automatically scroll during live capture | 当新数据包进入时滚动数据包列表窗格,以便您始终查看最近的数据包 不指定此 Wireshark 将新数据包添加到数据包列表但不滚动数据包列表窗格 如果“实时更新数据包列表”,则此选项为灰色被禁用 |
|
Show capture information during capture | 如果启用此选项,则在捕获数据包时将显示捕获信息 | |
Name Resolution | Resolve MAC addresses | 将 MAC 地址转换为名称 |
Resolve network names | 将网络地址转换为名称 | |
Resolve transport names | 翻译传输名称(端口号) | |
Stop capture automatically after… | 1 | 捕获文件中的数据包数 |
2 | 捕获文件的数量 | |
3 | 捕获文件大小 | |
4 | 捕获文件持续时间 |
Manage Interfaces 页面
具体页面如下。
Output Interface Introduction | |
---|---|
Column Name | Description |
Show | 是否在默认打开屏幕和“捕获选项”对话框中显示或隐藏此界面 |
Friendly Name | 人类可读的界面名称 |
Interface Name | 接口的设备名称 |
Comment | 可用于为界面添加描述性注释 |