Python:如何计算两个ip地址和端口之间接收和发送的数据

Python:如何计算两个ip地址和端口之间接收和发送的数据

我猜是套接字编程。但是除了在学习 Python 时运行教程示例外,我从未进行过套接字编程。我需要更多的想法来实现这一点。

我具体需要的是运行一个服务器监控程序,它将轮询或监听来自不同 IP 在不同常用端口之间交换的流量。例如,如何通过 192.168.1.10 和 192.168.1.1(网关)的端口 80 接收和发送数据。

我检查了许多现成的工具,例如 MRTG、Bwmon、Ntop 等,但由于我们正在进行一些特定的模式研究,因此我们需要在程序内捕获数据。

想法是监控一些流行的端口并研究某些时期的网络流量并将它们与其他数据进行比较。

我们想找到一种方法来用 Python 完成所有这些工作......

答案1

您是否需要实时数据?如果不需要,您可以尝试使用 tcpdump(使用适当的过滤器)将数据转储到文件,然后分析内容。我认为 python 有足够好的 (lib)pcap 支持。

如果需要实时,您必须检查 python 是否能够使用 pcap 进行数据包捕获(应该可以),而不会干扰流量(应该可以)。

因此,第一步是谷歌搜索“python pcap”,并找到最简单的包装器。

这样,您就会获得原始数据包,并且可以按照您希望的任何方式解析它们。

相关内容