赞
踩
Wireshark 4.0 的第一个release候选版本已更新,目前还未正式推送升级,那么在rc1版本中究竟做了哪些升级和优化,让我们先睹为快。
1. 从4.0版本开始,官方不再提供32位应用程序安装包了。需要32位安装包,请下载3.6版本。
2. 会话和端点对话框已经过重新设计,具有以下改进:
新版会话统计页面
新版端点统计页面
3.使用 MaxMind 获取地理位置的速度已大大提高。
以下是开发者在maxmind_db.c代码中加入的说明,大致意思就是 优化了 从mmdbresolve子进程中读取数据采用了fgets的方式导致效率过低的问题。
We need to read a series of lines from mmdbresolve's stdout. Trying to
use fgets is problematic because it blocks on Windows blocks. Doing so
in a thread is even worse since it locks the I/O stream and if the main
thread calls fclose while fgets is blocking, it will block as well. The
same happens for plain close+read.
Read our input one character at a time and only after we've ensured
that data is available. If this is too inefficient we could try one
of the following:
- Use overlapped I/O, which implies adding ws_pipe_set_nonblock and
ws_pipe_read_nonblock routines.
- Stash our worker thread handles on Windows and call CancelSynchronousIo
before shutting down our threads.
4.Wireshark Lua API 现在使用 lrexlib 绑定到 PCRE2。 使用 Lua GRegex 模块的代码必须更新为使用 lrexlib-pcre2。 在大多数情况下,API 应该是兼容的,并且转换只需要更改模块名称。
5.Tap注册系统已更新,并且 tap_packet_cb 的参数列表已更改。 所有通过 register_tap_listener 注册的 tap_packet_cb 回调函数都必须更新。
其中 tap_packet_cb 回调函数的定义:
typedef tap_packet_status (*tap_packet_cb)(void *tapdata, packet_info *pinfo, epan_dissect_t *edt, const void *data, tap_flags_t flags);
相对于3.6版本,tap_packet_status 多了一个参数 tap_flags_t flags。在协议监听过程中, tap_packet_status 回调函数被调用时,能够获取到TAP监听器注册时所设置的标志位。标志位如下:
- //TAP监听器所需要的数据内容标志位(在数据包解析过程中填充内容,放在epan_dissect_t结构中)
- #define TL_REQUIRES_NOTHING 0x00000000 //什么都不需要
- #define TL_REQUIRES_PROTO_TREE 0x00000001 //需要完整的协议树
- #define TL_REQUIRES_COLUMNS 0x00000002 //需要数据包列表信息
- #define TL_REQUIRES_ERROR_PACKETS 0x00000004 //错误状态下的数据包
-
- //TAP监听器做什么的标志位
- #define TL_IS_DISSECTOR_HELPER 0x00000008 //调用某一个协议的解析函数,本身不作处理
-
- //数据包解析回调函数应该做什么的标志位
- #define TL_IGNORE_DISPLAY_FILTER 0x00000010 //使用可能会被过滤的数据包
- #define TL_DISPLAY_FILTER_IGNORED 0x00100000 //会话处理标志,忽略显示过滤器
6.PCRE2 库现在是构建 Wireshark 的必需依赖项。
7.必须拥有支持 C11 的编译器才能构建 Wireshark。
8.以下库和工具的最低要求版本已增加:
9.要在 macOS 上使用 Qt 进行构建,根据要使用的 Qt 版本,需要以下版本:
10.构建 Wireshark 不再需要 Perl,但可能需要构建一些源代码文件和运行代码分析检查。
在CMakeOptions.txt中,新增了ENABLE_CODE_ANALYSIS开关。
option(ENABLE_CODE_ANALYSIS "Enable the compiler's static analyzer if possible" OFF)
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),
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)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。