Я написал многопоточную программу на Python, которая анализирует трафик с двух многоадресных адресов с одним и тем же портом, однако похоже, что мои потоки не различают, откуда приходят датаграммы.
Информация:
1-й адрес многоадресной рассылки: 239.0.1.104:12345
с пропускной способностью 10,69 Мбит / с
2-й многоадресный адрес: 239.0.1.105:12345
с пропускной способностью 6,08 Мбит / с
Цель моей программы - дважды вызвать анализатор двумя разными потоками, желаемый результат - программа напечатает:
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