【问题标题】:How implement source faking during TCP session?如何在 TCP 会话期间实现源伪造?
【发布时间】:2015-08-18 14:40:07
【问题描述】:

这个想法是两台不同的机器(在两个不同的 NAT 后面)连接到公共服务器。

他们试图与这样的公共服务器建立 TCP 连接...... 那么在代理数据流期间可能会发生魔法! 在此会话期间更改整个 tcp/ip 堆栈上的源和目标地址。

目标 - 将第三部分作为代理排除在进一步的通信之外......

【问题讨论】:

标签: tcp nat


【解决方案1】:

首先,您需要一台服务器,Peer 将向其发送数据或其他内容,以使其知道服务器需要向其发送 syn-ack。

然后首先 Peer A 向 Peer B 的地址发送一个低 TTL 值的数据包,以便它在中间被丢弃并且不会到达 B 的 NAT。它将继续发送此数据包,直到服务器收到包含 B 的源地址(源伪造)的 syn-ack 的数据包。 A 会与服务器握手,但 A 会认为他正在与 B 握手。

B 发生的情况完全相同。B 将与服务器握手,但会认为它已与 A 完成。在两端握手完成后,数据传输开始于 A 和 B 之间的 P2P 连接。

这是源伪造,因为服务器正在与两个对等方进行握手,假装其中一个对等方。这就是两个对等方 NAT 相互开放的方式。

【讨论】:

    猜你喜欢
    • 2021-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多