iptables 规则好像缺少数据包?

iptables 规则好像缺少数据包?

在我的家庭网络 (192.168.1.0/24) 上,我尝试将iptables所有 wifi TCP/UDP 流量静默克隆到/从我的 Xbox One 到我的 Windows 10 桌面,以便通过 Wireshark 进行数据包嗅探。

由于位置限制限制了以太网连接,我尝试通过共享一个网络的两个无线接入点来实现此目的,并且它们的 LAN 端口是设置中唯一的以太网连接: |<--[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:另一个网络)。

其余一切都在 WPA2 安全的 Netgear 无线网络上(SSID:新网络),照例。Linksys IP(192.168.1.2)是静态的,而 Windows(192.168.1.10)和 Xbox(192.168.1.12) IP 由 Netgear 上的 DHCP 预留分配,它还将非预留 DHCP 地址分配给其他所有设备(打印机、Amazon Fire TV Sticks [x2]、智能手机),并处理 WAN 绑定流量的 NAT。这种网络安排似乎对所有“正常”用例都完美无缺。

最初,我以为我可以加入一些封包克隆 iptablesLinksys 上的规则与 Xbox 的 IP 匹配,例如: 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 ...但在我的 Wireshark 源中发现的 Xbox 数据包很少,我决定进一步深入研究规则(旨在捕获所有 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 不安全接入点连接到互联网,另一个网络

可能相关的旁注:其他奇怪之处包括,对于任何本地 IP 的任何入站流量,都没有触发任何数据包(尽管对于其他接入点上的非 Xbox 设备来说可能并不意外),而且它捕获了来自 Windows 桌面的大量出站数据包,192.168.1.10(再次重申,它不在 Linksys SSID 上,所以我可能没想到 Linksys 会看到这些)。

怎么可能iptables缺少允许这款快节奏在线游戏运行的 Xbox 数据包呢?

相关内容