有没有办法禁用操作系统的 TCP 状态管理,例如在特定端口上,或者在另一个 IP 上,或者如果没有,则禁用整个 TCP 管理并在具有 root 访问权限的应用程序中对其进行管理?
我需要基于 Linux/Mac 的解决方案,但基于 Windows 的解决方案也可以提供帮助。
更多信息:
我想制作一个特殊的代理,实际上是一个发送中继,它在将数据包传送到目的地之前对其进行处理,以便原始发送者直接获得答案。发送很容易,但最终接收者的操作系统会拒绝该数据包并终止半连接。
答案1
我不知道你想完成其中哪一个:
您想在流量被交给拥有套接字的应用程序之前拦截它吗?
将相关规则添加到将数据包发送到 ULOG 目标的防火墙表,并以此方式在用户空间代码中处理它。查看iptables
手册页并搜索 ULOG 以了解详细信息。
您想在网络上发送精心制作的数据包,其中包含手工制作的参数,例如源 MAC/IP/等等?
您需要 root 权限才能执行此操作,并且可以使用原始套接字执行此操作。Python 的斯卡皮是一种简单的方法。