我正在为一个安全项目运行一些测试,以下是场景。我有一个 SIP 服务器 (SBC),它接受来自 IP 地址列表的呼叫。我有一个 SIP INVITE 数据包,我想使用伪造的源 IP 地址将其发送到该服务器。我运行 wireshark 并发现我发送正确,但我的路由器将我伪造的源 IP 更改为公共 IP 地址,我找不到绕过此问题的方法。我不关心数据包从哪里发送,也不关心是否收到任何回复。我只想知道如何使用我选择的这个伪造 IP 地址将此数据包发送到目的地。请帮忙!
答案1
我运行 wireshark 并且发现我发送的数据包正确无误,但是我的路由器将我欺骗的源 IP 更改为公共 IP 地址,而且我找不到任何方法来绕过这个问题。
您的启用 NAT 的路由器正在这里执行其工作。
如果您的路由器具有非库存固件,例如 DD-WRT 或 OpenWRT,则可能可以使用某些iptables
命令告诉您的路由器在某些条件下不要对来自 LAN 的数据包进行 NAT - 特别是如果路由器硬件支持 VLAN 并且您费尽心思进行设置。
否则:
如果您将电缆或 DSL 调制解调器直接连接到计算机并尝试此操作,这可能是最简单的方法。在这种情况下,NAT 不会妨碍。
如果您的路由器运行的是非库存 Linux 固件,您可能能够在路由器本身上安装用于创建欺骗数据包的工具,并从那里直接从 WAN 接口发送,绕过 NAT。
或者,您可以将一台带有两张 NIC 卡的 PC 设置为基于 Linux 的路由器,并且在 WAN 或 LAN 接口前面肯定有您需要的任何工具。
我不确定住宅 ISP 可以/将采用哪些安全机制来抵御欺骗性 IP 数据报,但如果他们采取任何措施,您就会触发它们,并可能引起注意/让您陷入麻烦。您真的应该在私人隔离实验室中设置它并在那里进行测试。