首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在pyshark中指定字段?

如何在pyshark中指定字段?
EN

Stack Overflow用户
提问于 2020-06-06 05:50:55
回答 2查看 510关注 0票数 0

我在Tshark和Pyshark上得到了不同的结果,而我认为结果应该是相同的。

在使用Tshark时,很容易通过说"-e (字段名)“来指定您想要的字段。Pyshark可以选择指定自定义参数并将其传递给Tshark,但调试输出一直显示tshark获取无效字段。我当前的代码如下所示:

代码语言:javascript
复制
filename='./pcaps/SSHv2.pcap'
params = ['-e ip.src', '-e ip.dst']
pcap = pyshark.FileCapture(filename, display_filter="ssh", custom_parameters=params, debug=True)

这将导致以下调试输出:

代码语言:javascript
复制
020-06-05 14:18:02,288 - FileCapture - DEBUG - Creating TShark subprocess with parameters: /Applications/Wireshark.app/Contents/MacOS/tshark -l -n -T pdml -Y ssh -e ip.src -e ip.dst -r ./pcaps/SSHv2.pcap
2020-06-05 14:18:02,288 - FileCapture - DEBUG - Executable: /Applications/Wireshark.app/Contents/MacOS/tshark
2020-06-05 14:18:02,291 - FileCapture - DEBUG - TShark subprocess created
tshark: Some fields aren't valid:
         ip.dst
         ip.src
2020-06-05 14:18:03,213 - FileCapture - DEBUG - EOF reached (sync)
pyshark.capture.capture.TSharkCrashException: TShark seems to have crashed (retcode: 1). Try rerunning in debug mode [ capture_obj.set_debug() ] or try updating tshark.

当执行pyshark正在使用的确切命令(如其调试输出所述)并在同一目录中的命令行上运行它时,tshark工作,我能够获得我想要的确切信息。我在正确的轨道上吗?有没有不同的方法来获取自定义字段?pyshark允许以这种方式使用-e吗?

当前版本: Tshark: 3.2.4 Python: 3.7.3 Pyshark: 0.4.2.9

EN

回答 2

Stack Overflow用户

发布于 2020-06-06 07:29:40

我正在查看the implementation file,它在评论中写道:

:param custom_parameters:要传递给tshark的自定义参数的dict,即{"--param": "value"}

所以我会尝试:

代码语言:javascript
复制
params = {'-e': 'ip.src', '-e': 'ip.dst'}
票数 0
EN

Stack Overflow用户

发布于 2021-05-04 17:08:59

您可以将列表传递给custom_parameters。例如:

代码语言:javascript
复制
custom_params_list = ["-o", "tcp.check_checksum:TRUE",
                      "-o", "ip.check_checksum:TRUE",
                      "-o", "stt.check_checksum:TRUE",
                      "-o", "udp.check_checksum:TRUE",
                      "-o", "wlan.check_checksum:TRUE"]
packet_list = pyshark.FileCapture("temp.pcap", custom_parameters=custom_params_list)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62224603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档