当客户端通过 hping3(非欺骗)发送 10 个 TCP SYN 数据包时,服务器会响应并发送 10 个 TCP SYN+ACK 数据包。现在客户端应该应答服务器并通过发送 10 个 ACK 数据包来建立连接,但客户端发送 10 个 RST 并终止半开连接(我猜这是因为 linux 内核响应)。
我如何才能每秒发送 10 个 SYN 数据包(到具有不同源端口的同一目的地)并响应 SYN+ACK,发送 ACK 并建立连接?非常感谢
答案1
答案2
hping3 通常用作攻击工具,试图破坏正常的做事方式(在所述情况下为三次握手),以对目的地造成损害。
拥有建立大量 TCP 连接的工具可能被归类为压力测试工具而不是攻击工具。
-S
这是 hping3 最流行的选项,指的是 SYN 泛洪攻击,我猜你用的就是这个。在这种模式下,hping3 会发送大量 SYN 消息,但会故意不发送三方握手的最后一条消息。连接保持“半开”状态,受害者已经为所有这些连接投入了大量资源(理论上)。
在您的案例中,攻击机器的内核几乎立即发出 RST 消息,从而阻止攻击完成。@MarkoPolo 提到了原因。如果攻击成功,您实际上应该会看到受害者对每个 SYN 对应的 SYN-ACK 消息进行多次重传尝试。
如果您的计划实际上是成功执行攻击,那么我建议您输入防火墙规则以有效地删除传出的 RST 消息。
iptables –A OUTPUT –p tcp –s 192.168.56.101 --tcp-flags RST RST –j DROP