我用 Python 编写了一个多线程程序,可以分析来自两个具有相同端口的多播地址的流量,但是我的线程似乎无法区分数据报的来源。
信息:
第一个多播地址:239.0.1.104:12345
吞吐量为 10.69 Mbps
第二个多播地址:239.0.1.105:12345
吞吐量为 6.08 Mbps
我的程序的目标是通过两个不同的线程调用分析器两次,期望的结果是程序打印:
Received 10.69 Mbps! Received 6.08 Mbps!
但是目前我的程序对多播和打印进行了总结:
Received 16.78 Mbps Received 16.78 Mbps
因此我想将地址(比如说从 239.0.1.105)转发到端口12346
,然后12345
将该端口传递到我的程序中,希望这可以帮助程序区分哪些数据报到达哪个套接字。
如何使用 iptables 来实现这一点?
此外,如果这有帮助的话,我的程序在编程堆栈上存在问题: 编程堆栈问题
我修改了一些代码以便通过函数调用,但总体思路是一样的:
ifconfig,我的接口和我的地址
路由表
Netstat 输出