Appearance
Appearance
“extcap 接口是一种通用的插件接口,允许外部二进制程序直接在 wireshark 中充当捕获接口。它用于捕获来源不是传统捕获模型的场景(从接口进行实时捕获、从管道、从文件等)。” -- doc/README.extcap(现位于 8.2. Extcap: Developer Guide)
本页面旨在帮助讨论 extcap 内部机制的开发。
问题
问题:发现速度慢,接口列表无法配置
当前流程
新流程
问题
(也许应该填到 bugzilla 中,但这里可以把它放在一个总览里。)所有 extcap bug:https://bugs.wireshark.org/bugzilla/buglist.cgi?quicksearch=extcap
即使你从本地接口捕获(参见 tshark -i lo),根据 strace,它也会调用所有 extcap helper(两次)。我还没有用 GUI 检查过,但情况很可能会更糟。
还有另一种反复出现的模式,“ssh”、“cisco”和“randpkt”都是伪名称,但它们实际的捕获行为取决于配置(SSH host、ssh 的远程接口、randpkt 的 packet types)。这种伪接口也会使 UI 变得杂乱。
想法(建议):
问题:capabilities 指的是什么?--extcap-config 当前需要一个接口。
问题:这很快会变得混乱——应该通过 identifiers 传输什么?——可以通过 --extcap-interface-config 发现受支持的接口特定选项(想法)
问题:会破坏向下兼容性——在 interface prefix 匹配之前(在 tshark 中)或在选中 extcap 类型之前(在 Wireshark 中),不要扫描接口
问题:这应该是一个 extcap utility 功能——Extcap 可以接收参数以在发现过程中提供帮助。
问题:这计划在未来实现
或者,我们可以对文件名施加限制,并要求某种模式(*dump[.ext]),这样会更快。
基于 doc/README.extcap(8.2. Extcap: Developer Guide),对于 extcap 目录中的所有 extcap 二进制程序:
发现版本和接口:--extcap-interfaces
查找接口的 DLT:--extcap-interface IFACE --extcap-dlts
配置选项(用于 UI):--extcap-interface IFACE --extcap-config
(开始捕获时)开始捕获:--extcap-interface IFACE [params] --capture [--extcap-capture-filter CFILTER] --fifo FIFO
对于所有 extcap 二进制程序:
问题——在仅打印 utility 之后,androiddump 应该显示什么?仅 androiddump 就可能有多达 10 个连接,而不知道该使用哪一个。
对于每个 extcap 二进制程序和给定参数(用于 tshark -D 或 GUI 中的发现):
查找 extcap 接口(“eth0”、“eth1” -> “ssh:example.com:eth0”、“ssh:example.com:eth1”)。(注意:根据需要,这取决于之前对参数的配置)
查找接口特定选项(XXX 既然参数已经是接口名称的一部分,这些选项现在还存在吗?)
(开始捕获时)使用给定选项开始捕获。
我并不真正理解为什么需要 “ssh:example.com:eth0”。这会让列表变得更加杂乱,而且对于减少接口数量或发现并没有真正帮助(因为它实际上并没有以任何方式发现任何东西)。这里真正的问题是像 androiddump 这样的 utility,它们需要在启动期间扫描接口及其能力。但这是关于扫描何时发生以及如何处理的问题。它必须在每次启动期间完成,而且只有 utility 知道它是如何以及何时完成的。extcap 不能强制也不能影响这次扫描如何或何时发生。可以做的是先扫描可能的 extcap,并延迟实际的接口查询,直到 GUI 完成加载之后。这样,GUI 加载速度很快,但只有当我们确实想开始一条 trace 时,才会为该特定 extcap 加载接口列表。
执行一个程序并通过管道通信的可行性如何?这也可以避免在进程列表中泄露密码,并允许保留一些代价高昂的状态。
回答:extcap utilities 背后的想法是提供一个现有 utility,并扩展其能力,使其能够直接将 traces 发送到 wireshark。我同意,对于 sshdump 来说这会带来一个安全考虑,但可以通过使用 ssh/ciscodump 的 identity file 来解决。
Imported from https://wiki.wireshark.org/Development/Extcap on 2020-08-11 23:12:46 UTC