检测对等点是否正在使用 TCP keepalive (Windows)

Detecting if a peer is using TCP keepalives (Windows)

如果您连接的对等点正在使用 TCP keepalive,是否可以查明或收到通知?

发送keepalive时还要通知吗?

不求助于内核驱动程序中的数据包级过滤?

我们有一个插件代理,客户希望将客户端保活转发到服务器。目前我们最好的选择是允许在服务器端连接上设置 keepalive,但我想检查是否有人知道检测客户端行为的方法,以便可以更接近地近似中继 keepalive。

谢谢。

it possible to figure out, or be notified if a peer to whom you are connected is using TCP keepalives?

没有。 TCP keepalive 不使用协议扩展。它只是以特定的方式使用现有的协议来引起回应。

Furthermore to be notified when a keepalive is sent?

没有。无法识别 TCP 保活段。

Without resorting to packet-level filtering in a kernel driver?

即使你这样做也不行。

We have a plug proxy, and a customer wishes client keepalives to be forwarded to the server.

您的客户被误导了。

At the moment our best option I think is just to allow setting keepalives on the server-side connection

正确。

but I wanted to check if anyone knew a way to detect what the client behaviour was so that relaying of keepalives could be more closely approximated.

不可能。