当前位置:   article > 正文

Wireshark 4.0.0RC1 版本前瞻_wireshark为什么不能升级

wireshark为什么不能升级

前言

        Wireshark 4.0 的第一个release候选版本已更新,目前还未正式推送升级,那么在rc1版本中究竟做了哪些升级和优化,让我们先睹为快。


新版本前瞻

1. 从4.0版本开始,官方不再提供32位应用程序安装包了。需要32位安装包,请下载3.6版本。

2. 会话和端点对话框已经过重新设计,具有以下改进:

新版会话统计页面 

新版端点统计页面 

  • 右键菜单新增了调整所有列大小以及复制选项。(按文本内容调整)
  • 数据可以导出为JSON格式。
  • tab选项卡可以从对话框中分离,点击关闭后会回到原有界面。
  • 添加和删除tab选项卡时,始终保持一致的tab顺序。
  • 如果应用了过滤器,则会在任一对话框中显示两列,详细说明不匹配和匹配数据包之间的区别。
  • 如果找到相同的条目,现在将通过辅助属性对列进行排序。
  • 会话按第二个地址和第一个端口号排序。
  • 端点按端口号排序。
  • IPv6地址在IPv4地址之后排序。(IPv4优先放在前面)
  • 对话框元素已被移动,以便新用户更容易处理。
  • 点击元素的选择是通过列表完成的。
  • 所有配置和选项都通过左侧按钮行完成。(左侧有协议勾选项)
  • 会话和端点对话框的列可以通过右键菜单隐藏。(在表头点击右键)
  • TCP 和 UDP会话现在包括流 ID 并允许对其进行过滤。

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监听器注册时所设置的标志位。标志位如下:

  1. //TAP监听器所需要的数据内容标志位(在数据包解析过程中填充内容,放在epan_dissect_t结构中)
  2. #define TL_REQUIRES_NOTHING         0x00000000      //什么都不需要
  3. #define TL_REQUIRES_PROTO_TREE      0x00000001      //需要完整的协议树
  4. #define TL_REQUIRES_COLUMNS         0x00000002      //需要数据包列表信息
  5. #define TL_REQUIRES_ERROR_PACKETS   0x00000004      //错误状态下的数据包
  6. //TAP监听器做什么的标志位
  7. #define TL_IS_DISSECTOR_HELPER      0x00000008      //调用某一个协议的解析函数,本身不作处理
  8. //数据包解析回调函数应该做什么的标志位
  9. #define TL_IGNORE_DISPLAY_FILTER    0x00000010      //使用可能会被过滤的数据包
  10. #define TL_DISPLAY_FILTER_IGNORED   0x00100000      //会话处理标志,忽略显示过滤器

6.PCRE2 库现在是构建 Wireshark 的必需依赖项。

7.必须拥有支持 C11 的编译器才能构建 Wireshark。

8.以下库和工具的最低要求版本已增加:

  • macOS 和 Linux 需要 CMake 3.10。
  • Qt 版本 5.12(原为 5.6.0),虽然用 5.10 和 5.11 编译仍然是可能的,但在配置过程中会触发警告。
  • 由于 C11 支持问题,需要 Windows SDK 10.0.18362.0。
  • 需要 macOS 版本 10.10(原为 10.8),如果要构建 Qt 版本,则至少需要 10.11,具体取决于使用的 Qt 版本(见下文)。
  • 需要 GLib 版本 2.50.0(原为 2.38.0)。
  • 需要 Libgcrypt 版本 1.8.0(原为 1.5.0)。
  • c-ares 版本 1.14.0(原为 1.5.0)。
  • Python 版本 3.6.0(原为 3.4.0)。
  • GnuTLS 版本 3.5.8(原为 3.3.0)。
  • Nghttp2 最低版本已设置为 1.11.0(以前没有)。

9.要在 macOS 上使用 Qt 进行构建,根据要使用的 Qt 版本,需要以下版本:

  • Qt 5.10 或更高版本需要 macOS 版本 10.11
  • Qt 5.12 或更高版本需要 macOS 版本 10.12
  • Qt 5.14 或更高版本需要 macOS 版本 10.13
  • Qt 6.0 或更高版本需要 macOS 版本 10.14

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)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/270141
推荐阅读
相关标签
  

闽ICP备14008679号