2016-05-29 215 views
0

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

我怎样才能每秒发送10个SYN数据包(到不同的源端口相同的目的地),并作为对SYN + ACK的响应,发送ACK并建立连接? 非常感谢

回答

0

hping3发送原始数据包,而不打开面向连接的套接字与内核 - 因此RST。为了让内核建立连接,你必须在你的应用程序端保持打开一个套接字。这意味着应用程序必须继续运行,如果关闭,内核将重置所有打开的套接字。

您的选择是有限的,您可以尝试'nc'(netcat),并为每个想要打开的连接启动一个新进程。或者编写一个打开多个连接的程序,每个连接使用不同的套接字以确保每个连接的源端口不同。请记住,在单个程序中以及在整个系统上可以打开多少个套接字是有限制的。