Почему пакет, отправленный с использованием PCap.NET, не заполняет параметры TCP? - PullRequest
0 голосов
/ 21 февраля 2019

Я пытаюсь использовать PCap.NET для отправки пакета SYN в пункт назначения.При использовании WinSock API я вижу параметры TCP в Wireshark .... Но когда я использую PCap.NET для сборки и отправки пакета, параметры не включаются.Вот уровень TCP, который я использую для сборки пакета:

 TcpLayer tcpLayer = new TcpLayer
                {
                    SourcePort = _sourcePort,
                    DestinationPort = _destinationPort,
                    SequenceNumber = _seqNumber,
                    ControlBits = TcpControlBits.Synchronize,
                    Window = _windowSize,
                };

Это экранный скриншот WireShark для отправки SYN с помощью WinSock, где видны параметры TCP.

enter image description here

И это Wireshark ScreenGrab, отправляющий SYN с использованием PCap.NET, где параметры TCP не видны.

enter image description here

Iпонять, что при создании слоя TCP Pcap вы можете установить для свойства options значение None .... Я этого не делал, думая, что, оставив его по умолчанию, параметры будут отправлять так же, как онделает для WinSock.Кто-нибудь может дать какое-либо объяснение или совет по этой проблеме.Заранее спасибо за помощь!

1 Ответ

0 голосов
/ 30 марта 2019

Если вы создаете новый TcpLayer, вам нужно установить свойство Options, чтобы иметь опции на уровне TCP.Если вы не установите свойство Options, по умолчанию будет установлено значение None.

...