Открытие win-сокета (tcp) в режиме ядра с указанием порядкового номера - PullRequest
0 голосов
/ 05 августа 2010

Я пишу драйвер для Windows (конечно, в c и я в режиме ядра), и я хотел бы открыть сокет tcp снаружи, указав порядковый номер, который должен иметь первый пакет SYN. ​​

Я попытался изменить фильтрацию пакетов с помощью Windows Filtering Platform, но, конечно, это не сработало, потому что в стеке считают, что верным является правильное число, а в стеке получателя - правильным. *

Я выгляжу примерно так: OpenSocket (..., UINT32 seqNum, UINT16 winSize) или что-нибудь эквивалентное.

Есть способ сделать это?

Спасибо, Marco

1 Ответ

0 голосов
/ 06 августа 2010

Это кажется странным, но если ваш фильтр может изменять как входящие, так и исходящие пакеты, он может зафиксировать порядковый номер в обоих направлениях.

Просто определите смещение по порядковому номеру.,Затем вы можете добавить его к порядковому номеру для исходящих пакетов и вычесть его из номеров подтверждения для входящих пакетов.

Каждая сторона диалога получает именно то, что они ожидают, даже если они не согласны с тем, что ожидается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...