我正在做一项安全研究,研究控制路由器后可能造成的损害。我需要能够在路由器上关闭/重置一个客户端建立的连接。
更具体地说,我需要终止客户端与 Apple Push 通知服务器 (APNS) 之间的连接。原因是我希望能够阻止客户端与 APNS 通信。我尝试使用 iptables,但它在已建立的连接上不起作用。
鉴于从客户端打开 Macbook 的那一刻起就建立了与 APNS 的连接,当我破坏路由器时已经太晚了。
我尝试了 iptables,更改了 arp 表,使用了“route”和“ip route”命令。但没用...
当我控制路由器时,如何终止已建立的连接,以便我可以向 iptables 添加阻止新连接的规则?
我要补充的是,我不想安装 tcpkill 或 cutter 等新工具。我想找到一种方法来使用 dd-wrt 和 openwrt 等发行版中操作系统自带的工具来实现这一点。
答案1
方法:
- 使用 阻止
NEW
来自目标的连接iptables
。您已经这样做了。 - 删除受害者现有连接的所有 conntrack 状态
对于步骤 2,您需要使用 :(conntrack - command line interface for netfilter connection tracking
)man conntrack
在 debian/ubuntu 中,您可以安装该包conntrack
。
现在,只需删除受害者的状态。
conntrack -D -s src -d dst
conntrack -D -s dst -d src
由于你的受害者无法建立新的连接(是的,iptables conntrack 现在会将来自现有连接的数据包视为NEW
),所以你实现了你的目标。
顺便说一句,conntrack -F
是您进行状态实验时的朋友。