首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用hping3建立TCP连接

利用hping3建立TCP连接
EN

Server Fault用户
提问于 2016-05-29 12:44:13
回答 2查看 4.5K关注 0票数 0

当客户端通过hping3(非欺骗)发送10个TCP数据包时,服务器响应并发送10个TCP数据包。现在客户机应该响应服务器并通过发送10个ACK数据包来建立连接,但是客户端发送10个RST并终止半开放连接(我猜这是因为linux内核响应)。

如何每秒发送10个SYN数据包(发送到具有不同源端口的相同目的地)并响应SYN+ACKs,发送ACK并建立连接?非常感谢

EN

回答 2

Server Fault用户

回答已采纳

发布于 2016-06-01 19:26:45

您不能在本机TCP/IP堆栈之外的用户空间中手工创建数据包,并期望内核响应时接受未经请求的SYN/ACK数据包。内核按照RFC标准对数据包进行RST是正确的。我很怀疑hping3能否实现你想要的目标。

如果您对Python感到满意,您可以查看斯卡皮,它将允许您在用户空间中发送和接收数据包。这里是一个简单的示例,创建一个三通握手在Scapy。

票数 1
EN

Server Fault用户

发布于 2017-03-09 17:28:08

hping3通常被用作一种攻击工具,试图打破正常的做事方式--在描述的情况下,用3种方式握手--以便对目的地造成损害。

拥有建立大量TCP连接的工具可能会被归类为压力测试工具,而不是攻击工具。

-S是hping3最流行的选项,它指的是SYN洪泛攻击,我猜这就是您所使用的。在这种模式下,hping3发送大量SYN消息,但有意避免发送3路握手的最后一条消息。这些连接是“半开放”的,受害者已经为这些连接的全部投入了大量的资源(理论上)。

在您的示例中,攻击机器的内核几乎立即发出RST消息,防止攻击完成。@MarkoPolo提到了这种情况的原因。如果攻击有效,您实际上应该会看到SYN消息从每个SYN对应的受害者那里重传几次尝试。

如果您的计划实际上是成功地执行攻击,那么我建议您输入防火墙规则以有效地删除传出的RST消息。

代码语言:javascript
复制
iptables –A OUTPUT –p tcp –s 192.168.56.101 --tcp-flags RST RST –j DROP
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/779681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档