Информация об NDIS-адаптере по его хендлу

Тема в разделе "WASM.NETWORKS", создана пользователем Cr4sh, 10 мар 2007.

  1. Cr4sh

    Cr4sh New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2006
    Сообщения:
    668
    значит, в драйвере есть хендл NDIS-адаптера, необходимо получить его IP и MAC
    можно конечно получить имя по хендлу, и выдрать всю нужную инфу из реестра руками, но может есть какие-нибуть готовые API-шки?
     
  2. ptlrs

    ptlrs New Member

    Публикаций:
    0
    Регистрация:
    10 мар 2007
    Сообщения:
    13
    Mac
    Читай FAQ на http://www.pcausa.com/. Вкратце, если хочешь узнать MAC прошитый в сетевуху, надо послать запрос с параметром OID_802_3_PERMANENT_ADDRESS.

    Ip
    По хендлу NDIS-адаптера узнать ip? Вопрос некорректный. Можно из драйвера сниффать пакеты, а потом разобрать пакеты и посмотреть, какие там ip-ы, mac-и. Только нафиг это надо? Можно открыть адаптер и посылать туда пакеты с любыми mac-ми и ip-ми. Например, в vmware можно настроить сетевуху, как Bringed: Connected directly to the physical network, задать ей любой mac, ip. Получиться два mac-а и два ip-а на одном адаптере… И что дальше то?

    Если ты хочешь в драйвере сформировывать пакеты, вставляя туда ip заданный в винде, то копай реестр. NDIS драйверу вообще положить на то, какой там ip будет использоваться при передаче/приеме пакетов.

    P.s. Перечитай еще раз NDIS Protocol Drivers в MSDN’е.
     
  3. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Поправте меня если я ошибаюсь:
    На адптере может же "висеть" несколько соединений с различными IP. То есть однозначно определить ip не удастся, только MAC.
     
  4. Cr4sh

    Cr4sh New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2006
    Сообщения:
    668
    пасибо, так и сделал, тему можно закрывать
     
  5. ptlrs

    ptlrs New Member

    Публикаций:
    0
    Регистрация:
    10 мар 2007
    Сообщения:
    13
    to Cr4sh
    Я так понял, что ты все-таки формируешь пакеты... Для этого OID_802_3_CURRENT_ADDRESS тебе еще в помощь :). На сколько я помню, winxp при загрузке один раз считывает с адаптера mac и кладет его в реестр. В ходе работы Ось пользуется этим значением из реестра. Это я к тому, что запрос с параметром OID_802_3_PERMANENT_ADDRESS не всегда равен запросу с OID_802_3_CURRENT_ADDRESS параметром.
     
  6. Cr4sh

    Cr4sh New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2006
    Сообщения:
    668
    ptlrs
    списибо ещё раз, очень важное замечание (на этой фиче основывается принцип работы разного рода софта, для смены MAC-адресса)

    >> Я так понял, что ты все-таки формируешь пакеты...
    угу, решил написать свою ядерную socket-библиотеку с tcpip стеком, for fun and skills up =)
     
  7. ptlrs

    ptlrs New Member

    Публикаций:
    0
    Регистрация:
    10 мар 2007
    Сообщения:
    13
    кхе, кхе... с памятью у меня плохо (очень плохо). При загрузке windows ничего не кладет... Т.е. вообще она кладет, но совсем не то и не в ту ветку реестра :)

    p.s. Все дело в присутствии/отсутствии строкового NetworkAddress параметра в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{GUID}\00XX
    и его значении :)

    p.s.p.s. Ну вот, теперь можно накатать прогу аля SMAC и продавать по $19.99 ... Да, да, я на полном серьезе. Капусту срубите :)