【发布时间】:2013-04-24 18:42:45
【问题描述】:
在从事研究项目时,通过运行 psutil 的 get_connections 并将远程地址与 scapy (python) 中的数据包的 IP 目标匹配,我能够半成功地将出站数据包与其源应用程序匹配。目标是识别所有出站数据包的源应用程序并通过安全检查运行它们。不幸的是,get_connections 似乎具有极高的 CPU 使用率。在我的脚本工作时运行 top 显示 python 始终占用 30% 到 100.5% 的 CPU(嗯,后者只是短暂的)。是否有更好(更有效)的方法来确定哪个应用程序正在生成数据包?如果不直接,有没有更有效的方法来匹配已建立的应用程序连接?
【问题讨论】:
-
假设 Linux,最有效的方法是 intercept the system calls,尽管根据您想要实现的具体目标,这可能是矫枉过正。
-
好的。您可能应该在原始问题中包含任何类似的约束,包括本地系统与所述“外部交换机”通信的协议。
标签: python network-programming cpu-usage scapy