VK

Forum Replies Created

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts

  • VK
    Participant

    да, скорее всего у меня где-то ошибка.

    @SerpentFly wrote:

    У меня для одного заказного проекта требовалось приписывать хвост пакету из keyed MD5 (HMAC-MD5), на принимающей системе хвост проверялся и отрезался, пакет передавался стеку уже без довеска, то есть насколько я понимаю что-то вроде того что у Вас и требуется.

    Если не секрет, как решалась ситуация когда длинна packet + digest > MAX_ETHER_FRAME. Такой пакет отправлялся двумя фрагментами?


    VK
    Participant

    У меня такая ситуация. Жду первый из трех пакетов создания 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

    in reply to: Wrong value of some IP header fields #6186

    VK
    Participant

    Большое спасибо за разъяснение.

    Действительно, сетевой порядок байт и то, что длинна заголовка измеряется DWORD’ами я не учел. RFC не читал, а большинство снифферов длину заголовка выдают в байтах, вот я подумал, что так и в самом пакете. И насчет ICMP пакета я тоже ошибся, видимо это был TCP HTTP пакет.

    in reply to: Wrong value of some IP header fields #6184

    VK
    Participant

    @SerpentFly wrote:

    А какие поля неправильные то?

    сразу можно сказать, что неправильные ip_len (т.к. пинг-пакет – 32 байта данных) ip_hl (должен быть равен 20) и ip_p (должен быть равен 1 – протокол ICMP).

Viewing 4 posts - 1 through 4 (of 4 total)