0

我修改了 TCP 数据包的 IP 标头,并直接在 netfilter NF_INET_LOCAL_OUT 挂钩中将它们发送出去。TCP 连接可以成功建立。不幸的是,设置了PSH标志的数据包不能被对端很好地处理。但是,如果我让带有 PSH 的数据包通过默认的 linux 堆栈,而其他数据包通过我的模块,那么所有 TCP 数据包都会顺利通过。我可以知道使用 PSH 的数据包会发生什么情况吗?我该如何解决这个问题?谢谢。

4

1 回答 1

0

我建议阅读以下有关 PSH 标志的文章。

设置了 PSH 标志的数据包的接收者很可能正在尝试缓冲数据包,而不是仅仅通过推送它们,这就是导致错误的原因。

于 2013-05-22T14:43:28.547 回答