文章目录
- 打开捕获文件
- 打开的文件格式
- 保存抓包
- 保存的文件格式
- 合并捕获文件
- 导入十六进制
- Import From Hex Dump 对话框
- 导出数据
- “Export Specified Packets” 对话框
- “Export Packet Dissections” 对话框
- Export Selected Packet Bytes 对话框
- Export PDUs to File… 对话框
- Export TLS Session Keys… 对话框
- Export Objects 对话框
- 打印文件
- Packet Range Frame
- Packet Format Frame
我们将介绍捕获数据的输入和输出,例如打开各种捕获文件格式的捕获文件,以各种格式保存和导出捕获文件,将捕获文件合并在一起,导入包含数据包十六进制转储的文本文件,打印数据包等等操作。
打开捕获文件
“打开捕获文件”对话框允许您搜索包含先前捕获的数据包的捕获文件,以便在 Wireshark 中显示。 以下部分显示了 Wireshark“打开文件”对话框的一些示例。 此对话框的外观取决于系统。
Wireshark 添加了以下控件:
查看文件预览信息,例如所选捕获文件中的数据包大小和数量。
使用“读取过滤器”字段指定读取过滤器。 打开新文件时将使用此过滤器。 对于有效的过滤器字符串,文本字段背景将变为绿色,对于无效的过滤器字符串将变为红色。 读取过滤器可用于排除各种类型的流量,这对于大型捕获文件非常有用。
使用“自动检测文件类型”下拉菜单强制 Wireshark 将文件读取为特定类型
打开的文件格式
Wireshark 使用的原生捕获文件格式是:
pcap:libpcap 数据包捕获库使用的默认格式。被 tcpdump、_Snort、Nmap、Ntop 和许多其他工具使用。
pcapng:pcap 格式的灵活、可扩展的继承者。Wireshark 1.8 及更高版本默认将文件保存为 pcapng。 1.8 之前的版本使用 pcap。 由 Wireshark 和 tcpdump 在较新版本的 macOS 中使用。
Wireshark 可以打开来自其他捕获工具的以下文件格式:
Oracle(之前的 Sun)监听和 atmsnoop 捕获
Finisar(之前的 Shomiti)Surveyor 捕获
Microsoft 网络监视器捕获
Novell LANalyzer 捕获
AIX iptrace 捕获
Cinco Networks NetXray 捕获
NETSCOUT(之前的 Network Associates/Network General)基于 Windows 的嗅探器和 Sniffer Pro 捕获
Network General/Network Associates 基于 DOS 的嗅探器捕获
LiveAction(以前的 WildPackets/Savvius)*Peek/EtherHelp/PacketGrabber 捕获
RADCOM 的 WAN/LAN 分析器捕获
Viavi(之前的 Network Instruments)Observer 捕获
Lucent/Ascend 路由器调试输出
从 HP-UX nettl 捕获
东芝的 ISDN 路由器转储输出
ISDN4BSD 项目的 i4btrace 的输出
EyeSDN USB S0 的trace
思科安全入侵检测系统的 IPLog 格式输出
pppd 日志
VMS 的 TCPIPtrace/TCPtrace/UCX$TRACE 实用程序的输出
DBS Etherwatch VMS 实用程序的文本输出
Visual Networks 的 Visual UpTime 流量捕获
CoSine L2 调试的输出
InfoVista(之前的 Accellent)5Views LAN 代理的输出
Endace Measurement Systems 的 ERF 格式捕获
Linux Bluez 蓝牙堆栈 hcidump -w 跟踪
Ixia/Keysight DCT2000 .out 文件
Gammu 在 Netmonitor 模式下从诺基亚 DCT3 手机生成文本输出
IBM 系列 (OS/400) 通信跟踪(ASCII 和 UNICODE)
Juniper Netscreen 窥探捕获
Symbian OS btsnoop 捕获
Tamosoft CommView 捕获
Tektronix K12xx 32bit .rf5 格式捕获
Tektronix K12 文本文件格式捕获
Apple PacketLogger 捕获
从 Aethra Telecommunications 的 PC108 软件捕获
Citrix NetScaler 跟踪文件
Android Logcat 二进制和文本格式日志
Colasoft Capsa 和 PacketBuilder 捕获
Micropross mplog 文件
Unigraf DPA-400 DisplayPort AUX 通道监视器跟踪
来自 Daintree 传感器网络分析器的 802.15.4 跟踪
ISO/IEC 13818-1 中定义的 MPEG-2 传输流
candump 实用程序的日志文件
来自 BUSMASTER 工具的日志
Ixia IxVeriWave 原始捕获
Rabbit Labs CAM Inspector 文件
systemd 日志文件
3GPP TS 32.423 跟踪文件
Wireshark 还会添加新的文件格式。根据捕获的数据包类型,可能无法读取某些格式。 大多数文件格式通常支持以太网捕获,但可能无法从所有文件格式中读取其他数据包类型,例如 PPP 或 IEEE 802.11。
保存抓包
可以使用 File › Save 或 File › Save As… 菜单项来保存捕获的数据包。 也可以选择要保存的数据包和要使用的文件格式。 并非所有信息都会保存在捕获文件中。 例如,大多数文件格式不记录丢弃的数据包数量。“Save As… ” 对话框允许将当前捕获保存到文件中。 示例如下所示。
如果您没有为文件名提供文件扩展名(例如 .pcap),Wireshark 将附加该文件格式的标准文件扩展名。Wireshark 可以转换文件格式,也就是说你可以通过打开捕获并将其另存为不同格式来将捕获文件从一种格式转换为另一种格式。如果希望将某些数据包保存在捕获文件中,可以通过“Export Specified Packets”对话框来实现。
保存的文件格式
Wireshark 可以将数据包数据保存为其原生文件格式 (pcapng) 和其他协议分析器的文件格式,以便其他工具可以读取捕获数据。以不同格式保存文件可能会丢失注释、名称解析和时间戳解析等信息。 Wireshark 可以保存以下文件格式(具有已知的文件扩展名):
.pcapng。 libpcap 格式的灵活、可扩展的继承者
.pcap。 libpcap 数据包捕获库使用的默认格式
.5vw。Accellent 5Views
.trc1。从 HP-UX nettl 捕获
.cap。Microsoft 网络监视器 - NetMon
.cap/.enc/.trc/.fdc/.syc。Network Associates 嗅探器 - DOS
.cap。Cinco Networks NetXray 捕获
.cap。Network Associates 嗅探器 - Windows
.bfr。网络仪器/Viavi Observer
.tr1。Novell LANalyzer
.snoop/.cap。Oracle (previously Sun) snoop
.*。Visual Networks Visual UpTime traffic
.log。Symbian OS btsnoop captures
.ncf。Tamosoft CommView captures
.out。Catapult (now Ixia/Keysight) DCT2000 .out files
.erf。Endace Measurement Systems’ ERF format capture
.trc。EyeSDN USB S0 traces
.txt。Tektronix K12 text file format captures
.rf5。Tektronix K12xx 32bit .rf5 format captures
.logcat。Android Logcat binary logs
.cap。Citrix NetScaler Trace files
合并捕获文件
有时需要将多个捕获文件合并为一个。 例如,如果一次从多个接口同时捕获,这会很有用。 使用 Wireshark 合并捕获文件的方法有以下三种:
1. 使用 File › Merge 菜单打开“合并”对话框。 如果没有加载捕获文件,此菜单项将被禁用。
2. 使用拖放功能在主窗口上放置多个文件。 Wireshark 将尝试按时间顺序将数据包从丢弃的文件合并到新创建的临时文件中。 如果您删除单个文件,它将简单地替换现有的捕获。
3. 从命令行使用 mergecap 工具来合并捕获文件。 此工具提供了最多的选项来合并捕获文件。
这里介绍一下三种合并方式:
1. Prepend packets:将所选文件中的数据包置于当前加载的数据包之前
2. Merge chronologically:按时间顺序合并来自所选文件和当前加载文件的数据包
3. Append packets:在当前加载的数据包之后附加来自所选文件的数据包
导入十六进制
Wireshark 可以读取十六进制文件并将描述的数据写入临时 libpcap 捕获文件。 它可以读取包含多个数据包的十六进制文件,并构建多个数据包的捕获文件。 它还能够生成虚拟以太网、IP 和 UDP、TCP 或 SCTP 标头,以便仅从应用程序级数据的十六进制转储构建完全可处理的数据包转储。或者,可以添加虚拟 PDU 标头以指定数据剖析器 应该传递给最初。支持两种输入转换方法:
Standard ASCII Hexdumps:
Wireshark 理解由 od -Ax -tx1 -v 生成的形式的十六进制转储。 换句话说,每个字节都单独显示并用空格包围。 每行以一个偏移量开始,描述包中的位置,每个新包以偏移量 0 开始,并且有一个空格将偏移量与后续字节分隔开。 偏移量是一个十六进制数(也可以是八进制或十进制),超过两个十六进制数字。 这是可以导入的示例转储:
每行的宽度或字节数没有限制。行尾的文本转储也会被忽略。字节和十六进制数字可以是大写或小写。偏移量之前的任何文本都将被忽略,包括电子邮件转发字符 >。字节串行之间的任何文本行都将被忽略。偏移量用于跟踪字节,因此偏移量必须正确。任何只有字节而没有前导偏移量的行都将被忽略。偏移量被识别为长于两个字符的十六进制数。字节后的任何文本都将被忽略(例如字符转储)。此文本中的任何十六进制数字也将被忽略。零偏移表示开始一个新数据包,因此具有一系列十六进制转储的单个文本文件可以转换为具有多个数据包的数据包捕获。数据包前面可能有时间戳。这些根据给定的格式进行解释。如果不是,第一个数据包的时间戳是导入发生的当前时间。多个数据包被写入时间戳,每个数据包相差一纳秒。一般来说,没有这些限制,Wireshark 在读取十六进制转储方面非常自由,并且已经用各种损坏的输出进行了测试。还有其他一些特殊功能要注意。第一个非空白字符是 # 的任何行都将作为注释被忽略。任何以 #TEXT2PCAP 开头的行都是一个指令,可以在此命令之后插入选项以供 Wireshark 处理。目前没有实施任何指令。将来,这些可用于对转储及其处理方式进行更细粒度的控制,例如时间戳、封装类型等。
Regular Text Dumps:
Wireshark 还能够使用 GLib 的 GRegex 指定的自定义 perl 正则表达式扫描输入。 使用正则表达式捕获给定文件中的单个数据包,wireshark 将搜索给定文件从开始到第二个到最后一个字符(最后一个字符必须是 \n 并被忽略)以获取非重叠(和非空)字符串匹配 给定的正则表达式,然后使用命名的捕获子组识别要导入的字段。 使用为每个字段提供的格式信息,然后将它们解码并转换为保留数据包顺序的标准 libpcap 文件。 请注意,每个命名的捕获子组必须与一个数据包精确匹配一次,但它们可能会在正则表达式中出现多次。 例如以下转储:
可以使用这些设置导入:
regex: ^(?<dir>[<>])\s(?<time>\d+:\d\d:\d\d.\d+)\s(?<data>[0-9a-fA-F]+)$
timestamp: %H:%M:%S.%f
dir: in: < out: >
encoding: HEX
丢弃锚点 ^ 和 $ 时必须小心,因为输入是搜索而不是解析的,这意味着即使大多数不正确的正则表达式在未锚定时也会产生有效的外观结果(但是不能保证锚点可以防止这种情况发生)。通常建议对使用此转换创建的任何文件进行完整性检查。支持的字段:
Data:实际捕获的帧数据。唯一的必填字段。这应该与捕获的编码二进制数据匹配,并用作要导入的实际帧数据。
Time:数据包的时间戳。捕获的字段将根据给定的时间戳格式解析为时间戳。如果不存在时间戳,则任意计数器将对每个数据包的秒和纳秒进行计数。
Dir:数据包通过线路发送的方向。捕获的字段预计长度为一个字符,任何剩余的字符都将被忽略。将该字符与对应于入站和出站的字符列表进行比较,并为数据包分配相应的方向。如果两个列表都没有匹配,则方向设置为未知。如果未指定此字段,则整个文件没有方向信。
Seqno:这个数据包的ID。每个数据包可以分配一个任意的ID,可以作为Wireshark的字段使用。该字段假定为以 10 为底的正整数。该字段可以例如用于在导入后重新排序乱序捕获。如果未提供此字段,则生成的文件中将不存在 ID。
Import From Hex Dump 对话框
具体的页面如下。此对话框允许您选择要导入的文本文件,其中包含要导入的数据包数据的十六进制转储并设置导入参数。
Import From Hex Dump Dialog Box Introduction | |||
Module | Items | Operations | Description |
File Source | Filename | - | 输入要导入的文本文件的名称 |
Browse | - | 可以使用浏览来浏览文件 | |
Input Format | Hex Dump | Offsets | 选择要导入的文本文件中给出的偏移量的基数 通常是十六进制,但也支持十进制和八进制 当仅存在字节时选择无 |
Direction indication | 如果要导入的文本文件在每一帧之前都有方向指示器,请勾选此框 位于每一帧之前的单独一行上,以 I 或 i 表示输入,以 O 或 o 表示输出 | ||
Regular Expression | Packet format regular expression | 用于在输入文件中搜索数据包和元数据的正则表达式 命名的捕获子组用于查找各个字段, 锚点 ^ 和 $ 设置为在换行符 \n 或 \r\n 前后直接匹配 | |
Data encoding | 支持的编码是纯十六进制、八进制、二进制和 base64 意味着数据字段中除了空格之外没有其他字符,任何意外字符都会中止导入过程 字段末尾的任何不完整字节都被假定为填充以填充最后一个完整字节 这些位应该为零,但是不会检查 忽略的空格是 \r, \n, \t, \v, ` ` 仅用于十六进制是 : 仅用于 base64 是= | ||
Direction indication | 指示传入与传出数据包的字符列表 仅当正则表达式包含 (? ...) 组时,这些字段才可用 | ||
Timestamp Format | 用于解析要导入的文本文件中的时间戳的格式说明符 使用与 strptime(3) 相同的格式,并添加 %f 以表示零填充的秒数部分,%f 的精度由它的长度决定 最常见的字段是 %H、%M 和 %S,分别表示小时、分钟和秒,简单的 HH:MM:SS 格式由 %T 覆盖 在十六进制转储模式下,如果要导入的文本文件中没有时间戳,请将此字段留空,时间戳将根据导入时间生成 | ||
Encapsulation | Encapsulation type | - | 在此处选择要导入的帧类型 一切都取决于要导入的转储是从什么类型的介质中获取的 |
Dummy header | - | 选择以太网封装后,必须选择在要导入的帧前添加虚拟标头 选择一种类型的虚拟标题时,启用适用的条目,其他条目变灰并使用默认值 选择 Wireshark Upper PDU export encapsulation 后,ExportPDU 选项变为可用 | |
Maximum frame length | - | 在此处定义要导入的帧开头的数据量 如果保持打开状态,则最大值设置为 256kiB。 |
设置好所有输入和导入参数后,单击 [ Import ] 开始导入。 如果当前数据之前没有保存,系统会要求先保存。 如果导入按钮未解锁,请确保所有封装参数都在预期范围内,并且在使用正则表达式模式时填充所有解锁字段(不使用占位符文本作为默认值)。 完成后,将加载一个新的捕获文件,其中包含从文本文件导入的帧。
导出数据
Wireshark 提供了多种导出包数据的选项。 这节介绍从主 Wireshark 应用程序导出数据的一般方法。 还有许多其他方法可以从捕获文件中导出或提取数据,包括处理 tshark 输出以及使用 Lua 脚本自定义 Wireshark 和 tshark。这类似于“保存”对话框,但它可以让您保存特定的数据包。 这对于从捕获文件中修剪不相关或不需要的数据包很有用。
“Export Specified Packets” 对话框
“Export Packet Dissections” 对话框
这使您可以将数据包列表、数据包详细信息和数据包字节保存为纯文本、CSV、JSON 和其他格式。可以从“ Export As ”下拉列表中选择格式,并使用“Packet Range”和“数据包格式”控件进一步自定义。 某些控件对于某些格式不可用,特别是 CSV 和 JSON。 支持以下格式:
支持以下格式:
主窗口中显示的纯文本
No. Time Source Destination Protocol Length
SSID Info
1 0.000000 200.121.1.131 172.16.0.122 TCP 1454
10554 → 80 [ACK] Seq=1 Ack=1 Win=65535 Len=1400 [TCP segment of a reassembled PDU]
Frame 1: 1454 bytes on wire (11632 bits), 1454 bytes captured (11632 bits)
Ethernet II, Src: 00:50:56:c0:00:01, Dst: 00:0c:29:42:12:13
Internet Protocol Version 4, Src: 200.121.1.131 (200.121.1.131), Dst: 172.16.0.122
(172.16.0.122)
0100 .... = Version: 4
.... 0101 = Header Length: 20 bytes (5)
Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)
Total Length: 1440
Identification: 0x0141 (321)
Flags: 0x0000
...0 0000 0000 0000 = Fragment offset: 0
Time to live: 106
Protocol: TCP (6)
Header checksum: 0xd390 [validation disabled]
[Header checksum status: Unverified]
Source: 200.121.1.131 (200.121.1.131)
Destination: 172.16.0.122 (172.16.0.122)
[Source GeoIP: PE, ASN 6147, Telefonica del Peru S.A.A.]
Transmission Control Protocol, Src Port: 10554, Dst Port: 80, Seq: 1, Ack: 1, Len:
1400
逗号分隔值 (CSV)
"No.","Time","Source","Destination","Protocol","Length","SSID","Info","Win Size"
"1","0.000000","200.121.1.131","172.16.0.122","TCP","1454","","10554 > 80 [ACK]
Seq=1 Ack=1 Win=65535 Len=1400 [TCP segment of a reassembled PDU]","65535"
"2","0.000011","172.16.0.122","200.121.1.131","TCP","54","","[TCP ACKed unseen
segment] 80 > 10554 [ACK] Seq=1 Ack=11201 Win=53200 Len=0","53200"
"3","0.025738","200.121.1.131","172.16.0.122","TCP","1454","","[TCP Spurious
Retransmission] 10554 > 80 [ACK] Seq=1401 Ack=1 Win=65535 Len=1400 [TCP segment of a
reassembled PDU]","65535"
"4","0.025749","172.16.0.122","200.121.1.131","TCP","54","","[TCP Window Update] [TCP
ACKed unseen segment] 80 > 10554 [ACK] Seq=1 Ack=11201 Win=63000 Len=0","63000"
"5","0.076967","200.121.1.131","172.16.0.122","TCP","1454","","[TCP Previous segment
not captured] [TCP Spurious Retransmission] 10554 > 80 [ACK] Seq=4201 Ack=1
Win=65535 Len=1400 [TCP segment of a reassembled PDU]","65535"
C 兼容字节数组
{
"_index": "packets-2014-06-22",
"_type": "doc",
"_score": null,
"_source": {
"layers": {
"frame": {
"frame.encap_type": "1",
"frame.time": "Jun 22, 2014 13:29:41.834477000 PDT",
"frame.offset_shift": "0.000000000",
"frame.time_epoch": "1403468981.834477000",
"frame.time_delta": "0.450535000",
"frame.time_delta_displayed": "0.450535000",
"frame.time_relative": "0.450535000",
"frame.number": "2",
"frame.len": "86",
"frame.cap_len": "86",
"frame.marked": "0",
"frame.ignored": "0",
"frame.protocols": "eth:ethertype:ipv6:icmpv6",
"frame.coloring_rule.name": "ICMP",
"frame.coloring_rule.string": "icmp || icmpv6"
},
"eth": {
"eth.dst": "33:33:ff:9e:e3:8e",
"eth.dst_tree": {
"eth.dst_resolved": "33:33:ff:9e:e3:8e",
"eth.dst.oui": "3355647",
"eth.addr": "33:33:ff:9e:e3:8e",
"eth.addr_resolved": "33:33:ff:9e:e3:8e",
"eth.addr.oui": "3355647",
"eth.dst.lg": "1",
"eth.lg": "1",
"eth.dst.ig": "1",
"eth.ig": "1"
},
"eth.src": "00:01:5c:62:8c:46",
"eth.src_tree": {
"eth.src_resolved": "00:01:5c:62:8c:46",
"eth.src.oui": "348",
"eth.src.oui_resolved": "Cadant Inc.",
"eth.addr": "00:01:5c:62:8c:46",
"eth.addr_resolved": "00:01:5c:62:8c:46",
"eth.addr.oui": "348",
"eth.addr.oui_resolved": "Cadant Inc.",
"eth.src.lg": "0",
"eth.lg": "0",
"eth.src.ig": "0",
"eth.ig": "0"
},
"eth.type": "0x000086dd"
},
"ipv6": {
"ipv6.version": "6",
"ip.version": "6",
"ipv6.tclass": "0x00000000",
"ipv6.tclass_tree": {
"ipv6.tclass.dscp": "0",
"ipv6.tclass.ecn": "0"
},
"ipv6.flow": "0x00000000",
"ipv6.plen": "32",
"ipv6.nxt": "58",
"ipv6.hlim": "255",
"ipv6.src": "2001:558:4080:16::1",
"ipv6.addr": "2001:558:4080:16::1",
"ipv6.src_host": "2001:558:4080:16::1",
"ipv6.host": "2001:558:4080:16::1",
"ipv6.dst": "ff02::1:ff9e:e38e",
"ipv6.addr": "ff02::1:ff9e:e38e",
"ipv6.dst_host": "ff02::1:ff9e:e38e",
"ipv6.host": "ff02::1:ff9e:e38e",
"ipv6.geoip.src_summary": "US, ASN 7922, Comcast Cable Communications, LLC",
"ipv6.geoip.src_summary_tree": {
"ipv6.geoip.src_country": "United States",
"ipv6.geoip.country": "United States",
"ipv6.geoip.src_country_iso": "US",
"ipv6.geoip.country_iso": "US",
"ipv6.geoip.src_asnum": "7922",
"ipv6.geoip.asnum": "7922",
"ipv6.geoip.src_org": "Comcast Cable Communications, LLC",
"ipv6.geoip.org": "Comcast Cable Communications, LLC",
"ipv6.geoip.src_lat": "37.751",
"ipv6.geoip.lat": "37.751",
"ipv6.geoip.src_lon": "-97.822",
"ipv6.geoip.lon": "-97.822"
}
},
"icmpv6": {
"icmpv6.type": "135",
"icmpv6.code": "0",
"icmpv6.checksum": "0x00005b84",
"icmpv6.checksum.status": "1",
"icmpv6.reserved": "00:00:00:00",
"icmpv6.nd.ns.target_address": "2001:558:4080:16:be36:e4ff:fe9e:e38e",
"icmpv6.opt": {
"icmpv6.opt.type": "1",
"icmpv6.opt.length": "1",
"icmpv6.opt.linkaddr": "00:01:5c:62:8c:46",
"icmpv6.opt.src_linkaddr": "00:01:5c:62:8c:46"
}
}
}
}
}
]
PSML(摘要 XML)
PDML(详细 XML)
JavaScript 对象表示法 (JSON)
Export Selected Packet Bytes 对话框
将在“Packet Bytes”窗格中选择的字节导出为原始二进制文件。
File name: 要将数据包数据导出到的文件名。
Save as type: 文件扩展名。
Export PDUs to File… 对话框
“Export PDUs to File…” 对话框允许你过滤捕获的协议数据单元 (PDU) 并将它们导出到文件中。 它允许你导出重新组装的 PDU,避免较低层(例如没有 TCP 的 HTTP),以及没有较低协议(例如没有 TLS 和 TCP 的 HTTP)的解密 PDU。
- 在主菜单中选择文件 › 将 PDU 导出到文件…。 Wireshark 将打开一个相应的对话框 Export PDUs to File 窗口。
- 要根据您的需要选择数据,请在“显示过滤器”字段中键入过滤器值。 有关过滤器语法的更多信息,请参阅 Wireshark 过滤器手册页。
- 在显示过滤器字段下方的字段中,您可以选择要将 PDU 导出到文件的级别。 有七个级别:
1. DLT 用户。 可以导出一个协议,该协议是在用户数据链路类型表中构建的,而无需重新配置 DLT 用户表。
2. DVB-CI。 可以将其用于数字视频广播 (DVB) 协议。
3. Logcat 和 Logcat 文本。 可以将它们用于 Android 日志。
4. OSI 第 3 层。可以使用它导出封装在 IPSec 或 SCTP 协议中的内容。
5. OSI 第 4 层。可以使用它来导出封装在 TCP 或 UDP 协议中的内容。
6. OSI 第 7 层。可以使用它导出以下协议:CredSSP over TLS、Diameter、封装在 TLS 和 DTLS 中的协议、H.248、Megaco、RELOAD 成帧、SIP、SMPP。 - 要完成将 PDU 导出到文件,请单击右下角的 [ OK ] 按钮。
- 可以通过在 Wireshark 主窗口的左下角选择它来打开该文件。 这将关闭最初捕获的文件并打开导出的结果。
Export TLS Session Keys… 对话框
传输层安全 (TLS) 加密客户端和服务器之间的通信。 它最常见的用途是通过 HTTPS 浏览网页。TLS 流量的解密需要 TLS 机密。 您可以通过“密钥日志文件”中存储的会话密钥的形式或使用 RSA 私钥文件来获取它们。File › Export TLS Session Keys… 菜单选项会生成一个新的“密钥日志文件”,其中包含 Wireshark 已知的 TLS 会话机密。 如果通常使用 RSA 私钥文件解密 TLS 会话,则此功能很有用。 RSA 私钥非常敏感,因为它可用于解密其他 TLS 会话并模拟服务器。 会话密钥只能用于从数据包捕获文件解密会话。 但是,会话密钥是通过 Internet 共享数据的首选机制。
要导出捕获的 TLS 会话密钥,请按照以下步骤操作:
- 在主菜单中选择File › Export TLS Session Keys…. 。 Wireshark 将打开一个相应的对话框导出 TLS 会话密钥窗口
- 在” Save As “字段中键入所需的文件名。
- 在“ Where ”字段中选择文件的目标文件夹。
- 按 [ Save ] 按钮完成导出文件过程。
Export Objects 对话框
此功能扫描当前打开的捕获文件或正在运行的捕获中选定协议的流,并允许用户将重新组装的对象导出到磁盘。 例如,如果选择 HTTP,则可以将 HTML 文档、图像、可执行文件和任何其他通过 HTTP 传输的文件导出到磁盘。 如果您正在运行捕获,此列表会每隔几秒钟自动更新一次,并显示任何新对象。 然后可以打开或检查保存的对象独立于 Wireshark。
Export Objects Item Introduction | |
Item | Description |
Packet | 在其中找到此对象的数据包编号 在某些情况下,同一个数据包中可以有多个对象 |
Hostname | 发送此对象的服务器的主机名 |
Content Type | 此对象的内容类型 |
Size | 此对象的大小(以字节为单位) |
Filename | 此对象的文件名 每个协议生成不同的文件名。 |
Text Filter | 只显示包含指定文本字符串的对象 |
Help | 打开“用户指南”的这一部分 |
Save All | 使用文件名列中的文件名保存所有对象(包括未显示的对象) 系统会询问您将它们保存在哪个目录或文件夹中 |
Close | 关闭对话框而不导出 |
Save | 将当前选定的对象另存为您指定的文件名 要另存为的默认文件名取自对象列表的文件名列 |
打印文件
要打印数据包,请选择 File › Print… 菜单项。 打印输出可能包含大量文本,尤其是在打印数据包详细信息和字节时。Wireshark 将显示“打印”对话框,如下所示。
Packet Range Frame
数据包范围帧是 “Export Specified Packets”、“Export Packet Dissections”和“Print”对话框的一部分。 可以使用它来指定将导出或打印的数据包。默认情况下设置了 [Displayed] 按钮,它只导出或打印与当前显示过滤器匹配的数据包。 选择 [ Captured ] 将导出或打印所有数据包。 您可以进一步将导出或打印的内容限制为以下内容:
Packet Range Frame Introduction | |
Item | Description |
All packets | 所有捕获或显示的数据包取决于上面的主要选择 |
Selected packet | 仅选定的数据包 |
Marked packets | 只标记数据包 |
First to last marked | 允许您标记包含范围的数据包 |
Range | 允许您手动指定数据包范围 |
Remove ignored packets | 不要导出或打印被忽略的数据包 |
Packet Format Frame
数据包格式帧也是“导出数据包解析”和“打印”对话框的一部分。可以使用它来指定导出或打印解析的哪些部分。
Packet Format Frame Item Introduction | |
Item | Description |
Packet summary line | 导出或打印每个摘要行,如“数据包列表”窗格中所示 |
Packet details | 导出或打印“数据包详细信息”树的内容 |
All collapsed | 导出或打印,就好像“数据包详细信息”树处于“全部折叠”状态一样 |
As displayed | 导出或打印,就好像“数据包详细信息”树处于“显示”状态一样 |
All expanded | 导出或打印,就好像“数据包详细信息”树处于“全部展开”状态一样 |
Packet Bytes | 导出或打印“数据包字节”窗格的内容 |
Each packet on a new page | 对于打印和某些导出格式,请将每个数据包放在单独的页面上 |
Capture information header | 向每个页面添加一个标题,其中包含捕获文件名以及总数据包和显示数据包的数量 |