建立 TCP 会话而不终止它(不发送 RST/FIN)

建立 TCP 会话而不终止它(不发送 RST/FIN)

我正在寻找一个项目的信息。我正在寻找一个 Linux 工具,它可以建立一个 TCP 会话并保留在那里,而不发送 FIN/RST。

我尝试了iperf诸如此类的工具,一旦建立连接,它们也会发出 FIN。

请告诉我是否有可用的工具?

答案1

内核将 SYN/FIN/RST 作为 TCP 协议的一部分进行管理,因此没有工具像这样创建一个 TCP 流而不结束它。

一些可能性

  • 编写您自己的代码,直接生成原始 SYN 和 SYN/ACK 数据包

  • 使用标准工具,但将其暂停,直到不再需要为止

    nc remoteHost remotePort &    # nc example.com 80
    ncPID=$!
    
    sleep 1
    kill -STOP $ncPID
    
  • 使用标准工具并实施防火墙规则来阻止流,然后再关闭它

    nc remoteHost remotePort &
    ncPID=$!
    
    sleep 1
    iptables -I OUTPUT --dst remoteHost --dport remotePort -j DROP
    kill $ncPID
    
    sleep 1
    iptables -D OUTPUT --dst remoteHost --dport remotePort -j DROP
    

相关内容