我试图使用PCap.NET将SYN数据包发送到目的地。当使用WinSock API时,我可以在Wireshark中看到TCP选项。但是,当我使用PCap.NET构建和发送数据包时,选项不包括在内。下面是用于构建数据包的TCP层:
TcpLayer tcpLayer = new TcpLayer
{
SourcePort = _sourcePort,
DestinationPort = _destinationPort,
SequenceNumber = _seqNumber,
ControlBits = TcpControlBits.Synchronize,
Window = _windowSize,
};
这是一个WireShark ScreenGrab,用于使用WinSock发送SYN,其中可以看到WinSock选项。

这是Wireshark ScreenGrab使用PCap.NET发送SYN,其中TCP选项不可见。

我理解在构建Pcap层时,可以将options属性设置为None.我还没有这样做,因为我认为,如果将其保留为默认选项,选项就会像WinSock一样发送。有人能为这个问题提供任何解释或建议吗?提前感谢您的帮助!
发布于 2019-03-30 12:40:42
如果创建了新的TcpLayer,则需要设置Options属性,以便在TCP层中具有选项。如果不设置Options属性,则默认情况下它将设置为None。
https://stackoverflow.com/questions/54811524
复制相似问题