Сейчас на форуме: rmn, Magister Yoda, vasilevradislav, tyns777, zombi-vadim (+5 невидимых)

 eXeL@B —› Программирование —› Программное отключение протокола TCP/IP
Посл.ответ Сообщение


Ранг: 467.7 (мудрец), 5thx
Активность: 0.270
Статус: Участник
Иной :)

Создано: 20 апреля 2008 22:19 · Поправил: [HEX]
· Личное сообщение · #1

Кто нибудь вкурсе каким макаром отвязать протокол TCP/IP от интерфейса в Винде (конкретно в XP) ?
С помощью мышки это делается тупым снятием галки в Свойствах "подключеня по локальной сети".

Или хотябы подскажите куда копать.

Вроде похоже на это:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Linkage
пареметр Bind
Но как приминить это ХЗ

P.S. NetSh не канает (в доль и поперек излазил).

-----
Computer Security Laboratory




Ранг: 210.5 (наставник), 2thx
Активность: 0.140
Статус: Участник

Создано: 21 апреля 2008 00:13 · Поправил: arnix
· Личное сообщение · #2

[HEX] пишет:
P.S. NetSh не канает (в доль и поперек излазил).


NetSh-овский Reset точно не подходит? (http://support.microsoft.com/kb/299357)
Если нет, может имеет смысл попробовать regmon/filemon-ом проследить что происходит когда снимаешь галочку перед "Internet Protocol (TCP/IP)" и жмешь ОК?




Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 21 апреля 2008 00:24
· Личное сообщение · #3

[HEX], я когда-то копал эти NDIS bindings - это просто песец. Каждое изменение в GUI превращается в шквал событий - там происходит unbind/rebind протокола и всех miniports и IMs. Я к тому что через registry - это тупиковый путь.

Попробуй через Setup API. C DDK идёт прога devcon - она может добавлять и убирать сетевые сервисы.



Ранг: 37.1 (посетитель)
Активность: 0.010
Статус: Участник

Создано: 21 апреля 2008 09:16
· Личное сообщение · #4

[HEX] в HKLM\SYSTEM\CONTROL\NETWORK\{4D36E972-E325-11CE-BFC1-08002BE10318} перечислены установленные сетевые карты. Имя подключей этого ключа есть ID интерфейсов, используемых в MULTISZ Bind (только без \Device\). Остается только удалить эту строку из Bind и перезапустить привязку. Вообще не знаю, хватит этого?

А вообще копать от INetCfg и до обеда...




Ранг: 467.7 (мудрец), 5thx
Активность: 0.270
Статус: Участник
Иной :)

Создано: 21 апреля 2008 10:03
· Личное сообщение · #5

sss
Это я уже давно отмониторил и соответственно проверил. Поэтому и ХЗ как это хозяйство пустить в оборот, тоесть ХЗ как применить.

s0larian
Угу тоже облазил весь инет и пришел к выводу что надо копать в сторону биндинга протоколов. DDK пока не смотрел, но в инете чето нихрена толком примеров нет.

-----
Computer Security Laboratory





Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 21 апреля 2008 19:55
· Личное сообщение · #6

[HEX] пишет:
Угу тоже облазил весь инет и пришел к выводу что надо копать в сторону биндинга протоколов.

Угу, эти NDIS bindings в системе ещё с NT 4 времён. Вот, кста прога показывает bindings, которые получает в ядре т.к. перехватывает protocol/miniport регистрации:
www.codeproject.com/KB/IP/NDISmonitor.aspx
www.vitoplantamura.com/index.aspx?page=ndismonitor

И вот ещё tool из xp.iso:support\tools\ - netdiag /test:bindings /v

e9cd_21.04.2008_CRACKLAB.rU.tgz - netdiag.exe




Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 21 апреля 2008 19:56
· Личное сообщение · #7

А вот devcon

24ff_21.04.2008_CRACKLAB.rU.tgz - devcon.exe




Ранг: 467.7 (мудрец), 5thx
Активность: 0.270
Статус: Участник
Иной :)

Создано: 21 апреля 2008 23:12
· Личное сообщение · #8

s0larian
Спасибо посмотрю, но мне небольшие сорцы примеров лучше =

Я вот одну единственную утилю нашел которая как раз таки меня бы устроила bink.nu/files/bink.nu-IbindCFG0.2.zip
Умеет софтово с консоли биндить и анбиндить протоколы/сервисы/клиенты на интерфесах. Былб бы сорец к нему, то цены ему б небыло...

-----
Computer Security Laboratory





Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 21 апреля 2008 23:31 · Поправил: s0larian
· Личное сообщение · #9

[HEX] пишет:
Спасибо посмотрю, но мне небольшие сорцы примеров лучше =

Но их нету

Я только что посмотрел netdiag - так он вызывает GetAdaptersInfo() и потом из registry вытаскивает инфу.

Кста, вот нашёл DDK sample - bindview.




Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 21 апреля 2008 23:39
· Личное сообщение · #10

Исходник и exe

e5e6_21.04.2008_CRACKLAB.rU.tgz - bindview.zip



Ранг: 37.1 (посетитель)
Активность: 0.010
Статус: Участник

Создано: 22 апреля 2008 05:23
· Личное сообщение · #11

Вот код перечисления всех сетевых карт, портов WAN, RAS. Далее можно раскручивать пути привязок относительно них и включать и выключать их, причем динамически.

#include <netcfgx.h>
#include <netcfgn.h>
#include <devguid.h>

INetCfg* pNetConfigurator;
IEnumNetCfgComponent* pNetEnum = NULL;
INetCfgComponent* pNetComponent;
const GUID* pguidClass = &GUID_DEVCLASS_NET;

hr = CoInitializeEx( NULL, COINIT_DISABLE_OLE1DDE | COINIT_APARTMENTTHREADED);
hr = CoCreateInstance( CLSID_CNetCfg, NULL, CLSCTX_INPROC_SERVER,IID_INetCfg,
(void**) &pNetConfigurator);

hr = pNetConfigurator->Initialize(NULL);
hr = pNetConfigurator->EnumComponents( pguidClass, &pNetEnum);
while (pNetEnum->Next(1, &pNetComponent, &fetched) == S_OK)
{
//pNetComponent - то что нам нужно
pNetComponent->Release();
}
if (pNetEnum) pNetEnum->Release();




Ранг: 467.7 (мудрец), 5thx
Активность: 0.270
Статус: Участник
Иной :)

Создано: 22 апреля 2008 11:02
· Личное сообщение · #12

sss
s0larian
Спасибо. Этого думаю будет достаточно.

Впринципе если тема никому не нужна, то могу и закрыть.

-----
Computer Security Laboratory



 eXeL@B —› Программирование —› Программное отключение протокола TCP/IP
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати