Разъесните кое-что о Ndis'е.

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by razzzar, 14 Nov 2007.

  1. razzzar

    razzzar Elder - Старейшина

    Joined:
    16 Jun 2007
    Messages:
    92
    Likes Received:
    75
    Reputations:
    5
    Попрошу сразу без всяких высказываний типа "что ты за бред пишешь" и тд и тп, я в этом только начал разбираться.

    1. Я так понял, NDIS драйвер лежит ниже всех в стеке сетевых драйверов. Ниже его только сетевой адаптер. Так?

    2. Для того чтобы отправить пакет через ндис я немного разобрался. Надо зарегистрировать свой протокол, открыть адаптер, сформировать пакет и с помощью NdisSend отправить его. Верно?

    3. А вот что надо сделать чтобы получить какой-то пакет, адресованый моей программе через ндис драйвер не могу понять. Надо в протоколе установить OnReceivePacket и обрабатывать приходящий пакет(посмотреть ип, порт и тд), а потом передать его програме в юзер-моде?

    4. Не могу понять точного различия между miniport и протоколом. На каком-то ресурсе прочитал что-то типа "протол занимается отправкой данных в низлежайщие драйвера в стеке, а минипорт с точностью наоборот". Это верное высказывание? Т.е. с помощью протокола моно передать пакет на сетевой адаптер, а с помощью минипорта передать в другую сторону, на тди и тд?

    Буду весьма благодарен за объяснения :)