Люди, кто знает, подскажите пжалста, что шлет в сеть винда при при смене IP адреса, при включении/отключении сетевого интерфейса? Как система сообщает всем в сети об изменении у себя сетевых настроек, по каким протоколам? заранее спасибо
а причем здесь ARP? Ведь протокол ARP предназначен для определения MAC адреса назначения по известному IP адресу. Когда сетевой уровень передает канальному IP пакет, то канальный уровень ищет запись соотвествия IP - MAC в таблице ARP, если такой записи там нету, в сеть шлется ARP запрос. MAC из полученного ARP ответа и будет аппаратным адресом назначения при упаковке IP пакета в ethernet фрейм. У меня проблема немножко другого типа. Допустим есть сеть из трех компов. На первом компе запущен пинг второго. Потом на втором меняется IP. На первом ответы на пиг соответственно пропадают. На третьем меняется IP на значение бывшее ранее на втором - на первом пинг восстанавливается. Что интересного сказал третий первому в момент смены IP, что первый откорректировал соответствующую запись в ARP таблице? При пропадании ответов на пинги винда ARP не шлет. Пакетов SNMP прослушка не увидела, в момент смены IP были замечены лишь бродкастовые UDP... черт возми!
Видимо с 68 на 67 UDP порт? Это работа DHCP, этот протокол предназначен в том числе ( далеко не единственная его функция ) для получения динамического ip адреса ( т.н аренда ). Приблизительно выглядит это так: станция посылает броадкаст UDP пакет в сеть. При наличии в ней DHCP сервера ( как правило роутер выполняет эту роль ) он вышлет настройки для нового интерфейса - адрес, адреса шлюзов и DNS серверов. Надо заметить, что данный сценарий произойдет только если ip интерфейс сконфигурирован для динамического определения адреса ( по умолчанию ), если интерфейс настроен статически - ничего естественно не произойдет.
Вообще, если ничего не путаю, то при установке IP адреса для интерфейса винда посылает так называемый Gratious ARP запрос - спрашивает какой MAC у устанавливаемого IP. Если приходит ответ, т.е. кто-то (ответивший) уже взял себе этот IP, то выкидывает окошко - конфликт IP адресов... кажется так.
roman_pro +1 Но это происходит уже после конфигурации ip интерфейса. Vista например шлет три ARP запроса с промежутком примерно 1с ( если возможно ) после каждого подключения сетевого интерфейса, при подключении кабеля и.т.д.
Провел мониторинг номеров портов в широковещательных UDP, 67-го и 68-го там нету, распределение IP у нас в сети статическое. Зато четко увидел бродкаст с 520-го на 520-й порт (винда 2000 про), это протокол обмена информацией о маршрутизации. Этот броадкаст происходит при включении компа и при смене значения IP. Пакет отловил, сверил с манами, вот что получилось (заголовки ethernet и IP не привожу - леньки) Заголовок UDP: 02 08 02 08 порт источника и порт назначения (520) 00 20 76 15 полная длина UDP 32 байта, вторые 2 байта - CRC Непосредственно пакет RIP сообщения 01 01 00 00 (01) - команда "запрос", (01) - версия, остальные 2б должны быть =0 00 00 00 00 IP, равен нулю, наверно означает запрос таблицы м-ции полностью 00 00 00 00 должны быть нулями 00 00 00 00 должны быть нулями 00 00 00 00 должны быть нулями 00 00 00 10 показатель, значение 16 означает "безконечно" Помимо 520-го порта, при смене IP, получил несколько бродкастов (обычно 17 штук, но не всегда) с портами 137 и, изредка, 138. Тобиш netbios. Щас собираюсь расковырять его, но пока что курю мануалы.
roman_pro Да именно так,кажется это моно отключить вот отсюда: REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /V ArpRetryCount /T REG_DWORD /F /D 0 TarasCo Неа, не после, в начале arp, а потом всё остальное :P Barbos Разве восстановится? мак вить у третего другой.
Вот в том то и дело, что восстанавливается. Проводил реальный тест, собирал сетку из трёх компов с виндой.
А что в это странного? При смене ИП адреса посылается ARP оповещение что у такого хоста с MAC=xxxxxxx такой-то IP адрес. Соответственно изменяется ARP таблица на других хостах и пинг начинает работать.
А где это написано? Откуда можно почерпнуть более полную инфу? Действительно, я щас у себя глянул, я слушаю IP, но не слушаю ARP. "ARP оповещение" - мне всегда казалось, что ARP используется как запрос-ответ, причем запрос по конкретному IP с широковещательным MACом. Здесь же подразумевается, что в ARP запросе будет широковещательным не только MAC, но и IP.... Это не сложно проверить. Скажу точно самое поздннее завтра утром. Если SLab прав, то это будет офигенно. И вот тут немного материала нарыл по теме портов 137 - 139, если кому будет интересно http://www.imho.ws/archive/index.php?t-26484.html
ээээм, ссылка уже как бы не нужна))) я прослушал ARP, действительно, раньше я своей прослушкой ARP пакеты не подхватывал. Теперь сделал. Первое, что выкидывает винда в сеть при загрузке, а также при смене IP адреса, это 3 ARP запроса, причем искомый IP в запросе указывает свой собственный. Т.е. якобы ищет в сети сама себя. Нормальный человек бы до такого не додумался)))) Потом в сеть выбрасывается сообщение RIP, т.е. броадкаст UDP, порт 520. И потом уже NetBIOS начинает искать шары - UDP, порт 137. Кстати, фраза, которая натолкнула на истину: SLab, напечатал бы ты ее раньше, большое спасибо тебе и всем остальным, кто откликнулся!