问题标签 [pyshark]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1729 浏览

python - 如何打印 PCAP 文件中的所有目标端口和源端口?

我正在尝试打印 PCAP 文件中的所有目标端口和源端口。我怎么能做到?

0 投票
1 回答
1045 浏览

python - 如何获取 PCAP 文件中的协议号?

一些协议编号是:

6 TCP 传输控制 [RFC793] ... 17 UDP 用户数据报 [RFC768]

由 IANA 提供。

我只想在 PCAP 文件中打印所有协议编号,然后保存在文件中。如何使用 pyshark 获得它?

0 投票
3 回答
2309 浏览

python - Pyshark:如果相同的键名(字段名)显示多个具有不同值的条目,则只能获取第一个字段值

我正在使用 Pyshark 解析 Wireshark 嗅探器日志,并在使用“get_field_value”函数检索字段值时使用导出的 Json 格式文件(基于 pcapny 文件)查找字段名称。

例如,为了获得 BSSID 值:

  • 在 Json 格式文件中,此信息显示为

    /li>
  • 然后我可以使用:

    /li>
  • 预期结果:

    /li>
  • 对于这种情况,它工作正常。

但是当我移动到信标数据包中的“wlan_mgt”部分时,我遇到了以下情况的问题,如下所示: - 在 Json 格式文件中,它显示:

正如我们所见,“wlan_mgt.supported_rates”有多个条目,字段名称(键)相同,每个条目的值不同,我需要将它们全部获取。但是如果我使用: - 如果我使用:

- 然后它只给我值'24',这是第一个条目的值。而且我不知道如何检索其他条目值,因为键名是相同的。

它是否应该返回所有值的列表,例如 ['24', '164','48','72','96','108'],而不仅仅是第一个条目值?由于基于嗅探器日志(Json 格式),还有许多其他具有相同字段名称的条目,例如“wlan_mgt.tag.number”,但字段值不同,所以这个问题对我来说是一个障碍。

请建议如何获取所有数据,并提前非常感谢!

BR,
亚历克斯

0 投票
1 回答
1349 浏览

ssl - 使用 PyShark 解密 SSL 数据包

我能够使用私钥解密wireshark(GUI)中的SSL数据包。以同样的方式如何使用 PyShark(以编程方式)解密数据包。有没有其他方法可以使用任何不同的编程方法来完成相同的任务?

0 投票
2 回答
611 浏览

python - 从 python 的 sudo 运行 pyshark / tshark

我正在尝试使用 pyshark 进行实时捕获,但它想使用 sudo 运行 tshark。我不确定如何从 python 中运行 sudo。github线程指出:“您可以创建一个只运行“sudo tshark”的'脚本'并告诉pyshark运行它而不是tshark。”

Buuuuut 我不太确定该怎么做。我在看Using sudo with Python script

但再次不确定如何“运行它而不是 tshark”

有人做过吗?任何人都可以建议吗?

更多信息在这里:如果您是管理员用户,则不需要 sudo 来运行“tshark -c 100 -i en0”。如果你“sudo chmod 777 /dev/bpf*”适用于处理中的 Carnivore 之类的东西,但对 Pyshark 来说是 zip all。尝试编辑启动项目以授予您读取权限在 OSX 上没有实际意义,因为优胜美地抛弃了它。

其他信息:https : //apple.stackexchange.com/questions/138694/what-is-access-bpf-group 我真的开始认为 PyShark 本身正在发生一些事情。

谢谢

0 投票
1 回答
2244 浏览

python - Pyshark 实时捕获

我想捕获 RTCP 数据包并解析它。正如我在实时捕获的 pyshark 文档中看到的,我必须定义超时,即我们的 packet_count。据我了解,在此选项后实时捕获停止,我能够解析数据。我需要进行计算,所以我总是需要数据包“n”和“n+1”中的数据。如果 pyshark 在超时后或 x 数据包后解析数据,我如何保证始终拥有“n”和“n+1”数据包。

这是一个例子:

如果我捕获 5 个数据包,如何计算第 5 个数据包?我无法捕获无限数量的数据包。

如果我只捕获 1 个数据包,将其分配给 packet_0,然后再捕获一个数据包,持续将其分配给 packet_1,进行计算,然后将 packet_1 分配给 packet_0,然后返回到 while 循环的开头,这是一个可行的想法吗? (将 1 个数据包捕获到 packet_1)

0 投票
2 回答
217 浏览

python - 将PCAP文件的一个字段解析为Python中的一列

我目前正在处理一个 PCAP 文件,并希望将一个特定字段(['TCP'].srcport)导出到一个单独的变量中。并非每一行都存在 ['TCP'].srcport。它出现在前 3 行中,而在剩余的 3 行中不存在。以下是我正在使用的代码,

这里的问题是 ['TCP'].srcport 并不存在于 PCAP 文件的所有行中。我想在任何可用的地方解析值,当它不可用时,我想将值设为“无”。我可以打印如下内容,

但是当我将它分配给一个变量时,我收到以下错误,

理想情况下,我想要一个名为 l 的变量,

l

64 64 64 无 无 无

任何人都可以帮助我处理异常并将所有值放入变量中吗?

0 投票
0 回答
907 浏览

python-3.x - UnicodeDecodeError:“ascii”编解码器无法解码位置 61 中的字节 0xc3:序数不在范围内(128)

我在 Windows 10 中使用 python3 我尝试使用 pyshark,但出现此错误:

或者当我做一个函数时:

当我运行它时::
$_
然后我进入一个无限循环,或者保持这种状态,我还在使用 ubuntu 16 的 VM 中进行测试,其中:

当我在第 2 行使用 VC 调试时,我得到:

但是当我在终端看到:

我得到:

pyshark==0.3.7.9

当我使用终端运行它时,我会像在 Windows 中那样进入无限循环,或者我在 ubuntu 中使用 python shell

我得到这个错误

所以我不明白我能做些什么来解决它。

0 投票
0 回答
459 浏览

python - Pyshark 不会释放资源

我在using中读取了一个.pcap文件。如果我多次阅读该文件,似乎不会释放资源。仅当我关闭程序时才释放资源。pythonpysharkpysharkpython

程序开始前

程序运行时

我发现缓解问题的唯一方法并不简单——只需增加系统中的打开文件限制,这样就很难达到限制。

你能帮我理解这种令人费解的行为的原因吗?我想 pyshark 或 pyshark 使用的某个包打开了某个文件但没有正确关闭它。

0 投票
2 回答
539 浏览

python - 在没有 pyshark 的情况下过滤 pcap pap 协议

我想访问 pap 数据包中的数据,目前我正在使用 pyshark 和以下代码

它在我的电脑和 raspberrypi 上运行良好,不幸的是我想在 openwrt/lede 路由器上使用此代码,由于 ccache 错误而无法在该路由器上安装 pyshark:

我假设 openwrt 缺少一些编译器功能,所以我尝试安装其他 pcap 解析库,并且可以安装 scapy、dpkt 和 pypcapfile,它们都安装得很好,所以我怎样才能将我的代码转换为使用这些库之一