我正在寻找一个项目的信息。我正在寻找一个 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