如何使用 nfqueue 获取 tcp 数据包中的 syn 标志、ack 标志、序列号和确认号?

如何使用 nfqueue 获取 tcp 数据包中的 syn 标志、ack 标志、序列号和确认号?

我正在做一个项目,可以使用 netfilterqueue 重定向 tcp 中的网络流量(客户端发送到服务器 1 的数据包将被重定向到服务器 2),所以我需要根据数据包的 syn 和 ack 标志对数据包进行分类,并且我还需要修改数据包中的序列号和确认号,以便我可以说服服务器 2 与客户端建立连接。但我没有找到获取 tcp 数据包中的 syn、ack 标志和 seq、确认号的方法(不仅仅是显示数据包信息,还可以获取 syn 和 ack 标志以及 seq、确认号以打印和修改它们),如果有人能帮助我,我将不胜感激!

答案1

您需要解析 Netlink 消息中的 PAYLOAD 属性中包含的 IP 数据包。

您可以使用内核头来ip.h解析tcp.h数据包。

相关内容