gpt4 book ai didi

wireshark - tshark 输出所有字段?

转载 作者:行者123 更新时间:2023-12-03 08:22:16 53 4
gpt4 key购买 nike

是否可以使用 tshark 选项或类似选项获取每个字段(在数据包内)的 -T fields 输出?

例如对于数据包/重建中的每个字段,我想要这样的东西:

eth.src:f2:3c:91:96:fd:09,ip.src:1.2.3.4,tcp.dst_port:80,http.request.uri:/index.html

(逗号可以替换为 \xff 以便在值包含逗号时更好地解析。)

我意识到有 -e 选项,但似乎我必须在命令行中输入每个可能的字段。最重要的是,每个数据包中只会使用一小部分字段,这需要解析大量数据。

我目前计划使用 tshark -V 选项并解析它,但理想情况下,我想要更多机器风格的术语,例如 http.request.uri 而不是“人类可读的”,例如:
Hypertext Transfer Protocol
GET /main.php HTTP/1.1\r\n
[Expert Info (Chat/Sequence): GET /main.php HTTP/1.1\r\n]
[Message: GET /main.php HTTP/1.1\r\n]
[Severity level: Chat]
[Group: Sequence]
Request Method: GET
Request URI: /main.php

最佳答案

刚刚偶然发现:

tshark -T pdml

这正是我需要的:
<packet>
<proto name="geninfo" pos="0" showname="General information" size="173">
<field name="num" pos="0" show="323" showname="Number" value="143" size="173"/>
<field name="len" pos="0" show="173" showname="Frame Length" value="ad" size="173"/>
<field name="caplen" pos="0" show="173" showname="Captured Length" value="ad" size="173"/>
<field name="timestamp" pos="0" show="Aug 7, 2011 16:16:13.579504000 EST" showname="Captured Time" value="1312697773.579504000" size="173"/>
</proto>
<proto name="frame" showname="Frame 323: 173 bytes on wire (1384 bits), 173 bytes captured (1384 bits)" size="173" pos="0">
<field name="frame.time" showname="Arrival Time: Aug 7, 2011 16:16:13.579504000 EST" size="0" pos="0" show="Aug 7, 2011 16:16:13.579504000"/>
... etc.

它包括 Wireshark 过滤器名称,以及数据包中包含的所有字段。

更新 :这很慢,并且破解 tshark.c 所以 -V 打印出 abbrev 而不是 name 中的 header_field_info *hfinfo; 也能解决问题。当我有机会时,我可能应该将其作为一个选项。

关于wireshark - tshark 输出所有字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15240247/

53 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com