【问题标题】:How to efficiently determine application generating packets如何有效地确定应用程序生成的数据包
【发布时间】: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,尽管根据您想要实现的具体目标,这可能是矫枉过正。
  • 您可能可以使用SELinuxAppArmor 执行此操作,因此您可能应该在编写自己的解决方案之前查看这些内容。
  • 好的。您可能应该在原始问题中包含任何类似的约束,包括本地系统与所述“外部交换机”通信的协议。

标签: python network-programming cpu-usage scapy


【解决方案1】:

【讨论】:

  • 谢谢。如果这是可靠的,它可能会成功! :)
  • 好像会的。我安装了它,一切都是我想要的。现在以某种方式从它创建的设备中读取所有额外的标头。 :P
  • 太棒了。享受!希望你能发布它的研究目的。
猜你喜欢
  • 1970-01-01
  • 2011-10-23
  • 1970-01-01
  • 1970-01-01
  • 2015-08-24
  • 2017-05-28
  • 1970-01-01
  • 2013-06-26
  • 1970-01-01
相关资源
最近更新 更多