Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Краткий выжим своими словами про arp-адресацию: 05.02.09 13:27 Число просмотров: 3142
Автор: Ustin <Ustin> Статус: Elderman Отредактировано 05.02.09 13:50 Количество правок: 1
|
> По поводу АРПа. Насколько я понимаю, когда АйПи > инициализируется, то он запрашивает "а нет ли компа с таким > адресом, с которым я сейчас начинаю работать?". Попросту > узнает наличие в сети серевухи с заданным адресом. Если > есть, то посылает ей сообщение о том, что типа "я пытаюсь > начать работать с этим адресом, а он оказывается у тебя!?". > В зависимости от операционки/дров сообщение о коллизии > должно выскочить на обоих компах. Эти пакеты не > широковещательные? Есть проги, которые их могут > перехватить? Хочется на стороннем компе (отличном от > коллизирующих) ловить такие коллизии. [OFF]
Краткий выжим своими словами про arp-адресацию:
При пинге (и любом обращении к хосту по L3-протоколу) сетевой драйвер смотрит таблицу соответствий адресов l2<->l3 (arp-cache table), и если соответствия нет, формирует броадкаст типа "who has искомый_IP?" (в терминологии ethereal), (проще говоря, делает arp-запрос), получаемый всеми компьютерами среды. Если кто-то опознаёт IP, то источнику броадкаста посылается ответ ( хотя его получают все компы в сети, он обрабатывается только теми виндами, которым он послан), содержащий мак опознавшей железки - на основании этого ответа формируется запись в arp-cache; эта запись имеет время жизни, то есть через некоторое время она удаляется во избежание распухания кеша.
Реализации стека TCP\IP (не обязательно все!, но винда и фря в дефолтной поставке точно, ща проверил) при смене IP высылают широковещательный arp-ответ со своим IP, на основании которого, кстати, и происходит проверка дублирования.
Соответственно, пенгование всей подсетки - варварский способ инициализации arp-кэша живыми записями о соседях, так как общепринятая реализация (типа венды и фри) отбрасывает все arp-ответы, не относящиеся непосредственно к ним.
(с) по материалам
http://en.wikipedia.org/wiki/Address_resolution_protocol
http://tools.ietf.org/html/rfc826
и книги Паркера "TCP/IP для профессионалов ISBN 5-8046-0041-9"
[/OFF]
Так что если поставить сниффер вылавливать только arp-ответы, можно в принципе получить полное представление о соответствии IP-MAC в ethernet в произвольный достаточно удалённый от момента запуска сниффера момент времени. А можно и самому, взяв WinPCap, написать преблуду, которая ещё и базейку это будет валить
> Все-такие, если вернутся к теме, насколько я понял то, что > выползет из-под "arp -a" (result.txt) нужно разобрать на > пары своей прогой. ...
> По поводу батника. А обязательно ли строить список всех > локальных адресов для пинга в tmpfile? Не обязательно. Просто после пинга для живых хостов появляются записи в arp-кеше, содержимое которого вываливается в result.txt
Содержимое result.txt разбирается на 2 столбца командой
for /f "tokens=1,2" %%q in (result.txt) do echo %%q %%r
|
|
|