【问题标题】:Exporting interpreted frame information by Wireshark通过 Wireshark 导出解释的帧信息
【发布时间】:2020-04-16 17:07:41
【问题描述】:

我想知道是否有一种方法可以导出 Wireshark 数据包/帧信息中显示的特定信息,这些信息在帧字节中不容易看到(解释信息?)。我对无线帧的以微秒为单位的帧持续时间 (wlan_radio.duration) 特别感兴趣。

我在 Wireshark 帮助中查看了 data exporting,但找不到导出解释信息的选项。

我知道我正在寻找的实现在 packet-ieee80211-radio.c 内,我愿意编写自己的代码来提取这些信息,但对我来说似乎有点复杂,我想知道是否已经一种现有的方法。

我也愿意使用其他工具,例如 tcpdump,但据我所知,tcpdump 没有提供帧持续时间。

谢谢!

【问题讨论】:

    标签: wireshark tcpdump packet-sniffers tshark


    【解决方案1】:

    在 Wireshark 中,您可以将字段添加为列,方法是右键单击字段,然后选择 “应用为列”,或者通过较长的 “编辑 -> 首选项” -> Columns" 方法,然后您可以选择 "File -> Export Packet Dissections -> As Plain Text..." (或您喜欢的任何格式)。 p>

    您也可以通过以下三种方式之一使用tshark(Wireshark 的 CLI 配套工具)完成此操作:

    1. 如果您已在 Wireshark 中将感兴趣的字段添加为列,则只需运行 tshark -r file.pcap 即可打印 Wireshark 中配置的每个列。

    2. 您不必依赖 Wireshark 的列设置。您可以直接控制在tshark 中打印哪些列,独立于 Wireshark 的列设置,因此您可以使用类似这样的东西:

      tshark -r file.pcap -o 'gui.column.format:"No.","%m","Time","%t","Source","%s","Destination","%d","Protocol","%p","Length","%L","Duration","%Cus:wlan_radio.duration","Info","%i"'

      注意:提供的格式适用于 Unix。如果您使用的是 Windows,则应使用双外引号并转义所有内双引号,例如 "gui.column.format:\"No.\",\"%m\", ..."

      运行tshark -G column-formats 以获取“内置” 列格式的列表。如果未列出某个字段,则您始终可以使用"Some Field","%Cus:someproto.somefield" 方法添加所谓的自定义列。

    3. 您可以使用tshark-T fields 选项仅提取感兴趣的字段。这种方法是我提取数据的首选方法,我发现它对于生成 .csv 文件特别有用,然后您可以将其导入电子表格以进行进一步分析和数据操作,包括生成图表、图形等。因此,例如:

      tshark -r file.pcap -T fields -E separator=, -E quote=d -Y "wlan_radio.duration" -e frame.number -e frame.time -e _ws.col.Source -e _ws.col.Destination -e _ws.col.Protocol -e frame.len -e wlan_radio.duration -e _ws.col.Info > file.csv

      注意:这里我特意使用了 Wireshark 列来说明您可以做到这一点以及如何做到这一点,但是如果您不想依赖 Wireshark 列,那么您应该避免使用 _ws.col.foo 字段并直接从协议字段中提取数据,例如 wlan_radio.duration(以及显示的其他字段)。

    最后一点,如果您要向 Wireshark 添加自定义列,例如 wlan_radio.duration 字段,那么您可以考虑为“WLAN 分析”。这样,如果您不使用 802.11 流量,则可以使用默认配置文件(或更适合分析该流量的其他配置文件),并且仅在相关时使用“WLAN”配置文件。通过“编辑 -> 配置文件...” 创建配置文件。您可以通过单击状态栏右下角的配置文件轻松地在 Wireshark 中切换配置文件。最后,要使 tshark 使用特定的配置文件,您可以使用 tshark -C "WLAN" ... 或您的配置文件名称。

    【讨论】:

    • 这是一个质量解释。也许将它添加到 Wireshark Wiki ;)
    • 谢谢!我想我可以在 Wireshark wiki 的某个地方添加这些信息,我只是不确定哪个页面最合适。我得考虑一下。奇怪的是,没有wiki.wireshark.org/tshark 页面,这是我想的;也许我会开始一个。控制列和tshark 输出是一个肯定出现过很多次的话题,不仅在这里,而且在ask.wireshark.org/questions 和旧的 Wireshark 问答网站osqa-ask.wireshark.org,所以一个集中的地方来传达这种类型的信息将似乎是有益的。
    猜你喜欢
    • 1970-01-01
    • 2012-09-06
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 2011-07-05
    • 1970-01-01
    • 2016-02-03
    • 1970-01-01
    相关资源
    最近更新 更多