我想获取每个接收到的 TCP 数据包(发往特定程序,即端口)的 TCP 标头,似乎无法使用 recv() 或 recvfrom() 使用常规套接字获取 TCP 标头。
所以,我想使用原始套接字和原始套接字,如果主机接收到很多数据包,我可以使用 recvfrom() 接收所有发往主机的 IP 数据包,我需要检查每个数据包的端口号,看看它是否是需要的。那么它可能是非常耗时和 CPU 消耗?
while()
{
recvfrom();
check_port_number();
}
有什么好方法可以获取收到的 tcp 数据包的 tcp 标头?我正在使用 linux c,所以解决方案应该是基于 linux c 的。谢谢!