正如标题所述:Wireshark 4.0.0如约而至!
什么是 Wireshark?
Wireshark 是世界上最流行的网络协议分析工具(我们一般称之为”抓包工具“),主要用于故障排除、分析、开发。
近日,Wireshark发布了其4.0.0版本,相比于之前的版本,4.0.0更新的功能还比较多,主要体现在:
-
不再提供官方 32 位 Windows 软件包; -
显示过滤器语法更强大,有许多新的扩展; -
对话和端点对话框已重新设计; -
默认主窗口布局已更改,Packet Detail 和 Packet Bytes 在 Packet List 窗格下方并排显示; -
来自 Wireshark 和 from 的十六进制转储导入text2pcap得到改进; -
使用 MaxMind 地理定位时的速度大大提高; -
构建 Wireshark 所需的工具和库已更改; -
还进行了许多其他改进。
下面我们来详细了解一下。
Wireshark 4.0.0 新功能和更新功能
自 4.0.0rc1 版本以来,以下功能是新的(或已显着更新):
-
macOS 软件包现在随 Qt 6.2.4 一起提供,并且需要 macOS 10.14,它们以前随 Qt 5.15.3 一起发布。 -
Windows 安装程序现在附带 Npcap 1.71,他们以前附带 Npcap 1.70。
自版本 3.7.2 以来,以下功能是新的(或已显着更新):
-
Windows 安装程序现在随 Npcap 1.70 一起提供。他们以前附带 Npcap 1.60。
自 3.7.1 版以来,以下功能是新的(或已显着更新):
-
'v'(小写)和 'V'(大写)开关已被替换为 editcap 和 mergecap,以匹配其他命令行实用程序。 -
ip.flags 字段现在只有三个高位,而不是完整字节,需要调整使用该字段的显示过滤器和着色规则。 -
新地址类型 AT_NUMERIC 允许为没有更常见地址方法的协议提供简单的数字地址,类似于 AT_STRINGZ。
自 3.7.0 版以来,以下功能是新的(或已显着更新):
-
Windows 安装程序现在随 Qt 6.2.3 一起提供,它们以前随 Qt 6.2.4 一起发布。 -
对话和端点对话框已经过重新设计,具有以下改进: -
上下文菜单现在包括调整所有列大小以及复制元素的选项。 -
数据可以导出为 JSON。 -
选项卡可以从对话框中分离和重新附加。 -
添加和删除选项卡将使它们始终保持相同的顺序。 -
如果应用了过滤器,则会在任一对话框中显示两列,详细说明不匹配和匹配数据包之间的区别。 -
如果找到相同的条目,现在将通过辅助属性对列进行排序。 -
对话按第二个地址和第一个端口号排序。 -
端点按端口号排序。 -
IPv6 地址在 IPv4 地址之后正确排序。 -
对话框元素已被移动,以便新用户更容易处理。 -
点击元素的选择是通过列表完成的。 -
所有配置和选项都通过左侧按钮行完成。 -
对话和端点对话框的列可以通过上下文菜单隐藏。 -
TCP 和 UDP 对话现在包括流 ID 并允许对其进行过滤。
-
自版本 3.6.0 以来,以下功能是新的(或已显着更新):
-
Windows 安装程序现在附带 Npcap 1.60,他们以前附带 Npcap 1.55。 -
Windows 安装程序现在随 Qt 6.2.4 一起提供,它们以前随 Qt 5.12.2 一起发布。 -
显示过滤器语法已更新和增强: -
添加了匹配协议栈中特定层的语法,例如,在 IP-over-IP 数据包中,“ip.addr#1 == 1.1.1.1”匹配外层地址,“ip.addr#2 == 1.1.1.2”匹配内层地址。 -
通用量词“any”和“all”已添加到任何关系运算符中。例如,当且仅当所有 tcp.port 字段都匹配条件时,表达式“all tcp.port > 1024”才为真,以前只有在任何一个字段匹配时才返回 true 的默认行为受支持。 -
${some.field} 形式的字段引用现在是显示过滤器语法的一部分,以前它们是作为宏实现的。新的实现更高效,并且具有与协议字段相同的属性,例如使用量词匹配多个值并支持层过滤。 -
具有常用运算符“+”、“-”、“*”、“/”和“%”的数字字段支持算术运算。算术表达式必须使用大括号(而不是括号)进行分组。 -
添加了新的显示过滤器函数 max()、min() 和 abs()。 -
函数可以接受表达式作为参数,包括其他函数。以前只有协议字段和切片是语法上有效的函数参数。 -
添加了一种新的语法来消除标识符中的文字歧义。每个带有前导点的值都是一个协议或协议字段。尖括号之间的每个值都是文字值。 -
“按位与”运算符现在是一流的位运算符,而不是布尔运算符。特别是这意味着现在可以屏蔽位,例如:frame[0] & 0x0F == 3。 -
日期和时间可以使用 ISO 8601(带有“Z”时区)或通过将后缀“UTC”附加到旧格式以 UTC 形式给出。否则使用当地时间。 -
整数字面常量可以使用前缀“0b”或“0B”以二进制(除了十进制/八进制/十六进制)写入。 -
与大多数编程语言一致,逻辑 AND 现在比逻辑 OR 具有更高的优先级。 -
现在可以使用负索引从末尾索引协议字段。例如,以下表达式测试 TCP 协议字段的最后两个字节:tcp[-2:] == AA:BB。这是一个长期存在的错误,已在此版本中修复。 -
集合元素必须使用逗号分隔,例如:{1, 2, "foo"}。仅使用空格作为分隔符在 3.6 中已弃用,现在是语法错误。 -
添加了对双引号字符串中的一些附加字符转义序列的支持,除了八进制 (<number>) 和十六进制 (\x<number>) 编码之外,现在还支持具有相同含义的以下 C 转义序列:\a、\b、\f、\n、\r、\t , \v. 以前它们只支持字符常量。 -
现在,转义序列 \uNNNN 或 \UNNNNNNNN 支持 Unicode 通用字符名称,其中 N 是十六进制数字。 -
无法识别的转义序列现在被视为语法错误。以前,它们被视为文字字符。除上述序列外,反斜杠、单引号和双引号也是有效序列:\、'、"。 -
添加了新的严格相等运算符“===”或“all_eq”。当且仅当所有 a 都等于 b 时,表达式“a === b”为真。"===" 的否定现在可以写成 "!==" (any_ne)。 -
“==”的别名“any_eq”和“!=”的别名“all_ne”已添加。 -
运算符“~=”已弃用,将在未来版本中删除。使用“!==”,其含义相同。 -
浮点数必须写有前导和结束数字。例如值“.7”和“7”。现在作为浮点数无效。它们必须分别写成“0.7”和“7.0”。 -
显示过滤器引擎现在使用 PCRE2 而不是 GRegex(GLib 绑定到旧的和报废的 PCRE 库)。PCRE2 与 PCRE 兼容,因此任何用户可见的更改都应该是最小的。一些奇异的模式现在可能无效并需要重写。 -
文字字符串可以正确处理嵌入的空字节(值 '\0')。这包括正则表达式模式。例如,双引号字符串“\0 是一个空字节”是一个合法的文字值。这对于匹配字节模式可能很有用,但请注意,通常具有字符串类型的协议字段仍然不能包含嵌入的空字节。 -
布尔值可以写为 True/TRUE 或 False/FALSE。以前它们只能写为 1 或 0。 -
现在可以测试切片是否存在。 -
所有整数大小现在都兼容。除非发生溢出,否则任何整数字段都可以与任何其他字段进行比较。
-
-
命令和“ text2pcap
从十六进制转储导入”功能已更新和增强:-
text2pcap
支持以窃听库支持的所有捕获文件格式编写输出文件,使用与、和相同的-F
选项。editcap``mergecap``tshark
-
与 Wireshark中的其他命令行工具(如 editcap
、mergecap
、tshark
)和“从十六进制转储导入”选项一致,现在的默认捕获文件格式text2pcap
为 pcapng。选择 pcapng的-n
标志(而不是以前的默认值 pcap)已被弃用,并将在未来的版本中删除。 -
text2pcap
支持使用带有选项的窃听库短名称选择输出文件格式的封装类型,-E
类似于.-T``editcap
-
text2pcap
已更新为使用新的日志记录输出选项,并且该-d
标志已被删除。“debug”日志级别对应旧-d
标志,“noisy”日志级别对应使用-d
多次。 -
text2pcap
和“从十六进制转储导入”支持将伪造的 IP、TCP、UDP 和 SCTP 标头写入具有原始 IP、原始 IPv4 和原始 IPv6 封装的文件,以及以前版本中可用的以太网封装。 -
text2pcap
支持使用自定义正则表达式扫描输入文件,如 Wireshark 3.6.x 中的“从十六进制转储导入”中支持的那样。 -
一般来说, text2pcap
和wireshark 的“从Hex Dump 导入”具有相同的功能。
-
-
默认主窗口布局已更改,因此 Packet Detail 和 Packet Bytes 在 Packet List 窗格下方并排显示。 -
HTTP2 解析器现在支持使用假标头来解析在没有长寿命流的第一个 HEADERS 帧的情况下捕获的流的数据(例如允许在一个 HTTP2 流中发送许多请求或响应消息的 gRPC 流调用)。用户可以使用现有流的服务器端口、流 id 和方向指定虚假标头。 -
IEEE 802.11 解析器支持 Mesh Connex (MCX)。 -
“捕获选项”对话框包含与欢迎屏幕相同的配置图标。现在可以在那里配置接口。 -
“Extcap”对话框会在运行时记住密码项,这样就可以连续多次运行 extcaps,而不必每次都重新输入密码。密码永远不会存储在磁盘上。 -
可以在 tshark
和其他 CLI 工具中设置 extcap 密码。 -
extcap 配置对话框现在支持并记住空字符串。有新按钮可将值重置为默认值。 -
添加了显示 Protobuf 消息的 JSON 映射的支持。 -
macOS 调试符号现在以单独的包提供,类似于 Windows 包。 -
在 ZigBee ZCL 消息解析器中,zbee_zcl_se.msg.msg_ctrl.depreciated 字段已重命名为 zbee_zcl_se.msg.msg_ctrl.deprecated -
欢迎页面上的接口列表首先对活动接口进行排序,并且只显示活动接口的迷你图。此外,现在可以通过接口列表中的上下文菜单隐藏和显示接口 -
Windows 事件跟踪 (ETW) 文件阅读器现在支持显示来自事件跟踪日志文件或事件跟踪实时会话的 IP 数据包。 -
ciscodump 现在支持 IOS、IOS-XE 和 ASA 远程捕获。
Wireshark 4.0.0 删除的功能和支持
-
以 DISABLE_something 开头的 CMake 选项被重命名为 ENABLE_something 以保持一致性。例如,DISABLE_WERROR=On 变为 ENABLE_WERROR=Off。默认值不变。
Wireshark 4.0.0 新协议支持
-
Allied Telesis Loop Detection (AT LDF), -
AUTOSAR I-PDU Multiplexer (AUTOSAR I-PduM), -
DTN Bundle Protocol Security (BPSec), -
DTN Bundle Protocol Version 7 (BPv7), -
DTN TCP Convergence Layer Protocol (TCPCL), -
DVB Selection Information Table (DVB SIT), -
Enhanced Cash Trading Interface 10.0 (XTI), -
Enhanced Order Book Interface 10.0 (EOBI), -
Enhanced Trading Interface 10.0 (ETI), -
FiveCo’s Legacy Register Access Protocol (5co-legacy), -
Generic Data Transfer Protocol (GDT), -
gRPC Web (gRPC-Web), -
Host IP Configuration Protocol (HICP), -
Huawei GRE bonding (GREbond), -
Locamation Interface Module (IDENT, -
CALIBRATION, SAMPLES - IM1, -
SAMPLES - IM2R0), -
Mesh Connex (MCX), -
Microsoft Cluster Remote Control Protocol (RCP), -
Open Control Protocol for OCA/AES70 (OCP.1), -
Protected Extensible Authentication Protocol (PEAP), -
Realtek, REdis Serialization Protocol v2 (RESP), -
Roon Discovery (RoonDisco), -
Secure File Transfer Protocol (sftp), -
Secure Host IP Configuration Protocol (SHICP), -
SSH File Transfer Protocol (SFTP), -
USB Attached SCSI (UASP), -
ZBOSS Network Coprocessor product (ZB NCP)
Wireshark 4.0.0 主要 API 更改
-
proto.h:字段显示类型“STR_ASCII”和“STR_UNICODE”已被删除。请改用“BASE_NONE”。 -
proto.h:浮动的字段显示类型已扩展和重构。BASE_FLOAT 类型已被删除。请改用 BASE_NONE。浮点数的新显示类型是 BASE_DEC、BASE_HEX、BASE_EXP 和 BASE_CUSTOM。 -
Wireshark Lua API 现在使用lrexlib绑定到 PCRE2。使用 Lua GRegex 模块的代码必须更新为使用 lrexlib-pcre2。在大多数情况下,API 应该是兼容的,并且转换只需要更改模块名称。 -
Tap 注册系统已更新,并且 tap_packet_cb 的参数列表已更改。所有通过 register_tap_listener 注册的抽头都必须更新。
Wireshark 4.0.0下载
官网下载地址:
https://www.wireshark.org/download.html
心动不如行动,赶快去下载玩玩吧!
已经安装好3版本的用户可以选择在线更新,更新速度也是蛮快的!
稍等片刻,成功更新到 4.0.0 :
看起来还不错!