C# 获取tcp套接字序列号和确认号

C# 获取tcp套接字序列号和确认号,c#,sockets,tcp,C#,Sockets,Tcp,有没有办法知道打开的tcp套接字的当前序列号和ack号 我知道这可以通过嗅探所有传出数据来实现。 问题是,它是否也可以使用API完成?否。套接字接口不提供对该信息的访问。只有两种方法可以获得它: 像你建议的那样抓包 使用原始套接字作为内核的API,在用户空间中实现自己的TCP堆栈 第二个选择显然是一个巨大的项目!:-) @EJP构造一个带有FIN标志的数据包,以迫使远程设备关闭与它的telnet连接。TCP是精心设计的,带有随机初始序列号,以防止你做类似的事情。是的……防御上不会被堆栈卡住。

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

我知道这可以通过嗅探所有传出数据来实现。
问题是,它是否也可以使用API完成?否。套接字接口不提供对该信息的访问。只有两种方法可以获得它:

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

第二个选择显然是一个巨大的项目!:-)

@EJP构造一个带有FIN标志的数据包,以迫使远程设备关闭与它的telnet连接。TCP是精心设计的,带有随机初始序列号,以防止你做类似的事情。是的……防御上不会被堆栈卡住。在网络驱动程序中实现ioctl是第三种方法吗?