Назад | Перейти на главную страницу

Анализ трассировки ARP во время загрузки ОС

Рассмотрим следующие пакеты ARP, захваченные во время загрузки unix-машины.

Из пакетов я понимаю, что эта машина с MAC-адресом 00: 22: 22: 22: 22: 22 запрашивает информацию о том, какой MAC-адрес является назначенным IP 192.160.100.20 (пакеты 1-4)

Затем есть два пакета (id 5,6), которые я не совсем понимаю. Я предполагаю, что машина запрашивает IP-адрес, а затем присваивает ему MAC-адрес. Я прав? Можете ли вы предоставить точную информацию о назначении пакетов 5 и 6 по отдельности?

Эта система, возможно, работает не настоящие с конфигурацией по умолчанию. Беспричинные ответы ARP обычно используются для установки и / или обновления записей в кэше ARP другой системы в сети. В этом случае система передает ответ ARP, а через 2 секунды отправляет запрос ARP с аналогичной целью. Второй вариант выполняется, поскольку некоторые операционные системы отклоняют беспричинные ответы ARP, но по-прежнему прослушивают сеть на предмет запросов ARP и используют содержащуюся в них информацию об отправителе для обновления своих кэшей ARP. В этом случае предполагается, что резервный сервер использует IP-адрес отказавшего сервера, заставляя остальное сетевое оборудование обновлять свои кэши ARP и вместо этого начинать разговор с вновь подключенной машиной.

Если вам интересно, соответствующие строки кода в fake являются 277-304:

if [ "${IFCONFIG}" = "TRUE" ]; then
  # Setup the target interface, route and send gratuitous arp
  /sbin/ifconfig "$TARGET_INTERFACE" $SPOOF_IP netmask $SPOOF_NETMASK \
    broadcast $SPOOF_BROADCAST \
    || die "Could not bring up interface"
  /sbin/route add -host $SPOOF_IP "$TARGET_INTERFACE" \
    || warn "Could not add local route"
fi

# Get the mac address to use
set_MACADDR $TARGET_INTERFACE

#Send gratutious arp
log "Sending endless Gratuitous Arp."
while [ 1 ]; do
  /usr/sbin/send_arp \
        ${SPOOF_IP} ${MACADDR} \
        ${SPOOF_IP} ${MACADDR} \
        ${TARGET_INTERFACE} ${MACADDR} FF:FF:FF:FF:FF:FF reply \
     || die "Could not send gratuitous arp"
  sleep $ARP_DELAY
  /usr/sbin/send_arp \
        ${SPOOF_IP} ${MACADDR} \
        ${SPOOF_IP} 00:00:00:00:00:00 \
        ${TARGET_INTERFACE} ${MACADDR} FF:FF:FF:FF:FF:FF request \
     || die "Could not send gratuitous arp"
  sleep $ARP_DELAY
done

/usr/sbin/send_arp в бесконечном цикле спуфинга ARP используется небольшая программа на C, которая является частью не настоящие и используется для отправки поддельных ARP.


Он также может быть частью механизма разрешения адресов. Когда один сетевой хост считает, что ему принадлежит данный IP-адрес, он будет транслировать в сеть бесплатный ARP, чтобы вызвать конфликты на других машинах, которые, возможно, имеют тот же IP-адрес. Например, когда она получает такое сообщение ARP, соответствующее ее собственному IP-адресу, Windows отображает печально известное пузырьковое уведомление о конфликте адресов в сети. Это используется DHCP-клиентами, чтобы оценить, владеет ли какой-либо другой сетевой хост IP-адресом, предлагаемым DHCP-сервером.