Iperf2 перехватывает получаемый в смешанном режиме трафик Not Multicast
Я хочу захватить весь трафик на моем сервере Iperf, который я прослушиваю, несмотря на то, что я не являюсь предполагаемым IP-адресом.
Я знаю, что вы можете сделать это с многоадресными адресами, но я не хочу идти по этому пути: многоадресная передача по Wi-Fi влечет за собой потерю пропускной способности
У меня есть текущая настройка: 3 хоста, каждый со своим Wi-Fi NIC в смешанном режиме. Я хочу знать, сколько пакетов UDP можно получить, просто послушно слушая.
Например:
На хосте 1 работает клиент iperf: iperf -c 192.168.4.197 -B 192.168.4.142 -b 100M -u
На хосте 2 работает сервер iperf: iperf -s -u -B 192.168.4.197
На хосте 3 также работает сервер iperf: iperf -s -u -B 0.0.0.0
Адреса привязки являются локальными адресами интерфейса wlan0.
Я понимаю, почему iperf на хосте 3 не считывает смешно прослушиваемые пакеты как свои пакеты: IP-адрес в пакете не является адресом локального интерфейса wlan0.
Однако существует ли способ iperf на хосте 3 для получения этих пакетов? Или с iptables / ebtables или, может быть, переписать tcpdump?
Если iptables может перенаправить беспорядочно прослушанные пакеты на любой локальный IP-адрес, я могу перехватить его с помощью iperf.
Я знаю, что могу получать пакеты на хосте 3 - если я выполняю tcpdump, я вижу пакеты между хостом 1 и хостом 2.
Я знаю, что пакеты видны только в открытой (незашифрованной) сети Wi-Fi. Я настроил это так. Эта сеть предназначена только для тестирования, поэтому ее безопасность пока не имеет значения.
Есть идеи? Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.
РЕДАКТИРОВАТЬ: изменил адрес привязки узла 3 на 0.0.0.0. Однако это не решило мою проблему.
1 ответ
Вы связываете свой iperf
на Host3 для IP 192.168.4.121
, поэтому он будет получать только пакеты, которые отправляют на этот IP. Вы можете попробовать связать это по IP 0.0.0.0
, включите сетевой интерфейс в случайный режим и проверьте.