0

我一直在用 C 实现一个数据包转发器,并偶然发现了这个有趣的问题。

我注意到如果我用winsock监听tcp端口,它会在收到syn时发回syn-ack。如果我不听,它会发送 rst-ack 以指示端口已关闭。我希望端口根本不会回答,因为我直接在带有 winpcap 的接口上嗅探。

我的问题有什么解决方案或解决方法吗?我对 UDP 也有同样的问题,但当然打开端口修复了它并防止 ICMP 主机无法访问。现在我找到了 TCP 的解决方案。

谢谢

4

1 回答 1

0

如果你想在不建立连接的情况下转发数据包,那么最好使用 iptables 来设计一些规则。TCP 是一种可靠的传输协议,这意味着如果你想接收数据包(它不关心你是想使用它还是只是转发),那么它必须通过三次握手来建立连接。

于 2020-10-10T15:51:24.860 回答