当客户端通过hping3(不是欺骗)发送10个TCP SYN数据包时,服务器响应并发送10个TCP SYN + ACK数据包。现在客户端应该回答服务器并通过发送10个ACK数据包建立连接,但是客户端发送10个RST并终止半开连接(我猜这是因为linux内核响应)。
如何每秒发送10个SYN数据包(到不同源端口的同一目的地)并响应SYN + ACK,发送ACK并建立连接? 非常感谢
答案 0 :(得分:1)
hping3发送原始数据包,而不打开内核的面向连接的套接字 - 因此是RST。为了让内核建立连接,必须在应用程序端打开一个套接字。这意味着应用程序必须继续运行,如果它关闭,内核将重置所有打开的套接字。
您的选项有限制,您可以尝试' nc' (netcat),并为您要打开的每个连接启动一个新进程。或者以其他方式编写打开多个连接的程序,每个连接使用不同的套接字以确保每个连接的源端口不同。请记住,您可以在单个程序和整个系统中打开多少个套接字。
答案 1 :(得分:1)
您可能需要使用其他工具,例如tcpgoon,它可以为您完成握手,并在执行测试时保持打开的连接状态