获取 tcp 套接字序列号和 ack 号

Doc*_*urp 5 c# sockets tcp

有没有办法知道打开的 tcp 套接字的当前序列号和确认号?

我知道这可以通过嗅探所有传出数据来完成。那么问题来了,是不是也可以用API来实现呢?

Cel*_*ada 2

不。套接字接口不提供对该信息的访问。获得它的唯一方法有两种:

  • 像你建议的那样捕获数据包
  • 使用原始套接字作为内核的 API 在用户空间中实现您自己的 TCP 堆栈。

第二种选择显然是一个巨大的工程!:-)