Можно ли сопоставить внутренний IP-адрес с портом коммутатора?
Я пытаюсь найти компьютер с определенным IP-адресом во внутренней сети. Я определил имя компьютера из DNS, но в этом случае оно мне не помогает.
Просто интересно, могу ли я как-то привязать IP к порту коммутатора и отследить его оттуда? Если так, то как?
6 ответов
Учитывая IP-адрес, вы должны быть в состоянии найти MAC-адрес соответствующего хоста.
arp -a
И в Windows, и в Linux вы увидите arp-кеш этого хоста, сопоставляя IP-адреса с MAC-адресами. (Обратите внимание, что это нужно будет выполнить на машине, которая находится в той же IP-подсети, что и машина, которую вы пытаетесь найти).
Когда у вас есть MAC-адрес, войдите в систему на коммутаторе, к которому вы подозреваете мошеннический хост, и найдите этот адрес в таблице MAC-адресов. (Таблица MAC-адресов также называется таблицей мостов или таблицей CAM).
Например, на коммутаторах на базе Cisco IOS следующая команда:
show mac-address-table address <MAC address>
Покажет вам порт, на котором последний MAC-адрес был последний раз. Если полученный в результате порт является ссылкой на другой коммутатор, войдите в систему на этом коммутаторе и повторите команду. Повторяйте до тех пор, пока не получите порт хоста, и у вас должен быть виновник.
Обратите внимание, что этот подход будет работать только при наличии управляемого коммутатора, который позволяет запрашивать его таблицу MAC-адресов. В противном случае это будет случай ручного устранения; найдите каждый порт, который, как вы знаете , не является мошенническим, пока у вас не останется один порт, на который вы не сможете рассчитывать. Удачи.
Как уже упоминалось, нет прямого способа определить, какой IP подключен к определенному порту коммутатора. Причина в том, что коммутатор Ethernet работает на уровне L2 модели OSI и обычно не проверяет уровни более высокого уровня (уровень 3 -> IP-адрес). (Есть некоторые исключения в более новом оборудовании)
Одно важное замечание: чтобы использовать трюк ping / ARP, вам нужно использовать устройство в той же VLAN или подсети, что и устройство, которое вы ищете. В противном случае вы увидите только MAC-адрес шлюза по умолчанию в таблице ARP.
Вот процедура, которую я рекомендую, если это возможно.
Источник и назначение в одной VLAN
- Введите команду ping для устройства, которое вы пытаетесь найти.
- Как только он вернется успешно, посмотрите в таблице ARP, чтобы найти MAC-адрес указанного устройства.
- Войдите на сам коммутатор и просмотрите таблицу MAC-адресов для адреса, найденного в шаге 2. (Таблицу MAC-адресов также можно назвать таблицей CAM). Таблица MAC-адресов отображает MAC-адреса для переключения портов.
Источник и назначение в разных VLAN
- С основного маршрутизатора или предполагаемого шлюза по умолчанию выполните команду ping. Очевидно, это работает лучше всего, если вся маршрутизация выполняется на одном устройстве.
- Если имеется несколько интерфейсов L3, вам может потребоваться "пройти" по сети, идущей от интерфейса L3 к интерфейсу L3, выполняя проверку ping / ARP, пока не найдете тот, который служит шлюзом по умолчанию для устройства, которое вы ищете.
- Как только вы найдете его, вы можете войти в коммутатор и найти таблицу MAC-адресов, чтобы найти порт.
Проверьте кэш ARP на вашем коммутаторе (-ах), чтобы найти MAC и порт коммутатора, связанный с этим IP-адресом устройства. Эти статьи должны помочь вам:
Вы не указали, какие операционные системы вам доступны в сети, но большинство из них имеют команду arp. Вы можете использовать команду arp, чтобы узнать, какой MAC-адрес у хоста с заданным именем хоста (при условии, что вы находитесь в той же сети, что и хост).
Затем вы должны проверить в ARP-кешах ваших коммутаторов, чтобы найти, на каком порту находится этот MAC-адрес.
Если коммутатор поддерживает snmp, вы можете получить информацию о таблицах mac удаленно, для которой необходимо сопоставить физический порт и MAC-адрес, подключенный к порту.
Между физическими интерфейсами и IP-адресами нет сопоставления 1:1. Один порт на коммутаторе может обрабатывать трафик для многих машин (если другой коммутатор подключен последовательно), а один порт коммутатора может пересылать трафик для более чем одного IP-адреса (если машина является многодомной).
Если у вас достаточно продвинутый коммутатор, вы можете посмотреть на экранах управления коммутатора, чтобы увидеть, перечисляет ли он MAC-адреса, которые он слышал на конкретном порту.
В качестве альтернативы, если предположить, что компьютер, который вы хотите найти, не слишком далеко (логически), вы можете попробовать отправить на него большой объем трафика, скажем, ping -f
, что должно позволить вам отслеживать порт, на котором находится машина, по индикаторам активности.