В моей домашней сети (192.168.1.0/24) я пытаюсь использовать iptables для бесшумного клонирования всего трафика Wi-Fi TCP/UDP с / из моего Xbox One на мой рабочий стол Windows 10 для перехвата пакетов через Wireshark.

Из-за локальных ограничений, ограничивающих соединения Ethernet, я пытаюсь сделать это через две беспроводные точки доступа, которые совместно используют одну сеть, причем их порты LAN являются единственным соединением Ethernet в настройке: |<--[Ethernet To Cable Modem] | \ \ \ | \ \ \ | \ \ \ | _________________________ \ \ \ └--| NETGEAR R6260 | | | | | SSID: TheNewNetwork(5G) | | | | | stock firmware, gateway | | | | ┌--|_192.168.1.1_____________| | | | | ________________________ / / / | ╙|_ PRINTER 192.168.1.14__|/ / / | ________________________/ / / | ╙|_ AMAZON 192.168.1.15__/| / / | ______________________/_ / / | ╙|_ AMAZON 192.168.1.16___| / | _____________________________ | ╙|_ DESKTOPWIN10 192.168.1.10__| | __________________________ | ╙|_ Nexus-5X 192.168.1.13___| | ___________________________ | ╙|_ GALAXY-S8 192.168.1.17___| | | | \ \ \ | \ \ \ | _______________________ \ \ \ └--| LINKSYS E2500 | | | | | SSID: TheOtherNetwork | | | | | Tomato w/ iptables | | | | |_192.168.1.2___________| | | | ________________________/ / / ╙|_ XBOXONE 192.168.1.12_/_|/ / / / /

Linksys E2500 был прошит с Tomato V1.28 (сборка 140) и работает на платформе iptables . DHCP и NAT выключены. Xbox подключен к своей незащищенной точке беспроводного доступа (SSID: TheOtherNetwork).

Все остальное на WPA2-защищенной беспроводной сети Netgear (SSID: TheNewNetwork), как обычно. IP-адрес Linksys (192.168.1.2) является статическим, а IP-адреса Windows (192.168.1.10) и Xbox (192.168.1.12) назначаются резервированием DHCP на Netgear, который также назначает незарезервированные адреса DHCP всем остальным (принтер, Amazon Fire TV вставляет [x2], смартфоны) и обрабатывает NAT для трафика, связанного с глобальной сетью. Такое сетевое расположение, кажется, работает безупречно для всех "нормальных" вариантов использования.

Первоначально я думал, что мог бы просто добавить некоторые правила клонирования пакетов в iptables на Linksys, которые соответствуют IP- адресу Xbox, например: iptables -A PREROUTING -t mangle -s 192.168.1.12 -j ROUTE --gw 192.168.1.10 --tee iptables -A PREROUTING -t mangle -d 192.168.1.12 -j ROUTE --gw 192.168.1.10 --tee ... но, обнаружив очень мало пакетов Xbox в моем фиде Wireshark, я решил покопаться в них, если бы правила (которые были предназначенный для перехвата всего трафика Xbox) даже запускался / совпал (так как это должно произойти до того, как цель ROUTE вступит в игру, чтобы получить пакеты для Windows / Wireshark).

Итак, чтобы получить полный снимок запуска-отладки пакетов, я настраиваю одинаково запускаемые правила для каждого IP-адреса в сети с простой целью -j ACCEPT и правилом "перехватить все" в конце цепочки, должен сработать несмотря ни на что. Затем я запустил Xbox и примерно минуту играл в онлайн-шутер от первого лица (который, насколько я могу судить по Xbox, работал нормально).

Через минуту это то, что я получил из сводки списка правил iptables : root@E2500-Host:/# iptables -t mangle -vnL PREROUTING Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 1 68 ACCEPT all -- * * 192.168.1.12 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 192.168.1.12 408 60499 ACCEPT all -- * * 192.168.1.10 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 192.168.1.10 0 0 ACCEPT all -- * * 192.168.1.1 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 192.168.1.1 0 0 ACCEPT all -- * * 192.168.1.13 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 192.168.1.13 1 351 ACCEPT all -- * * 192.168.1.14 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 192.168.1.14 0 0 ACCEPT all -- * * 192.168.1.15 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 192.168.1.15 0 0 ACCEPT all -- * * 192.168.1.16 0.0.0.0/0 0 0 ACCEPT all -- * * 0.0.0.0/0 192.168.1.16 1 344 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0

КАКИЕ?!? Один жалкий пакет от Xbox? Я играл в онлайн-шутер от первого лица целую минуту, с десятками реальных позиций противника, обновляемых с сервера много раз в секунду. (Я прочитал достаточно об этой конкретной игре, чтобы ожидать UDP для этого обмена.) Должно быть больше трафика, чем между 192.168.1.12 и внешним миром, и он ДОЛЖЕН обрабатываться маршрутизатором Linksys, на котором работает iptables , поскольку Xbox подключается к Интернету только через незащищенную точку доступа Linksys, TheOtherNetwork.

В качестве возможного сопутствующего примечания: Другие странности включают 0 запущенных пакетов для любого входящего трафика на любой локальный IP-адрес (хотя, возможно, это не является неожиданным для устройств не-Xbox в другой точке доступа) и тот факт, что он перехватил так много исходящих пакетов с рабочего стола Windows, 192.168.1.10 (который, опять же, отсутствует в SSID Linksys, поэтому я не ожидал, что Linksys увидит их).

Как это возможно, что iptables не хватает пакетов Xbox, которые позволили функционировать быстро развивающейся онлайн-игре?

0