Forum Replies Created
-
AuthorPosts
-
да, скорее всего у меня где-то ошибка.
@SerpentFly wrote:
У меня для одного заказного проекта требовалось приписывать хвост пакету из keyed MD5 (HMAC-MD5), на принимающей системе хвост проверялся и отрезался, пакет передавался стеку уже без довеска, то есть насколько я понимаю что-то вроде того что у Вас и требуется.
Если не секрет, как решалась ситуация когда длинна packet + digest > MAX_ETHER_FRAME. Такой пакет отправлялся двумя фрагментами?
У меня такая ситуация. Жду первый из трех пакетов создания TCP соединения (SYN), добавляю к нему полезную нагрузку, изменяю размер в IP заголовке и пересчитываю контрольные суммы. Передаю пакет в функцию SendPacketToAdapter . На другом хосте получаю этот пакет (для перехвата использую CommView), но полезной нагрузки нет и контрольные суммы все верные, т.е. ситуация такая, как будто я ничего не менял, хотя буфер передаваемый в SendPacketToAdapter точно измененный. Пакет точно тот же, т.к. IP ID совпадают. То же самое со вторым ACK пакетом. Кто/что могло изменить (убрать добавленную мною полезную нагрузку) пакет? Сетевая карта? В RFC по TCP не написано, что пакеты “рукопожатия” должны обязательно быть без полезной нагрузки.
И еще, предположим есть Хост 1 и Хост 2 на которых работают приложения, модифицирующее пакеты с помощью Winpkfilter. Кроме сетевых карт Хоста 1 и 2 кто-нибудь еще находится (т.е. может как-то обрабатывать пакеты) между Winpkfilter’ам Хоста 1 и 2?
Вот нарисовал картинку для наглядности:
http://img387.imageshack.us/img387/3055/questal3.jpgБольшое спасибо за разъяснение.
Действительно, сетевой порядок байт и то, что длинна заголовка измеряется DWORD’ами я не учел. RFC не читал, а большинство снифферов длину заголовка выдают в байтах, вот я подумал, что так и в самом пакете. И насчет ICMP пакета я тоже ошибся, видимо это был TCP HTTP пакет.
@SerpentFly wrote:
А какие поля неправильные то?
сразу можно сказать, что неправильные ip_len (т.к. пинг-пакет – 32 байта данных) ip_hl (должен быть равен 20) и ip_p (должен быть равен 1 – протокол ICMP).
-
AuthorPosts