Можно ли сопоставить внутренний IP-адрес с портом коммутатора?

8

Я пытаюсь найти компьютер с определенным IP-адресом во внутренней сети. Я определил имя компьютера из DNS, но в этом случае оно мне не помогает.

Просто интересно, могу ли я как-то привязать IP к порту коммутатора и отследить его оттуда? Если так, то как?

казарка
источник

Ответы:

15

Учитывая 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-адресов. В противном случае это будет случай ручного устранения; найдите каждый порт, который, как вы знаете , не является мошенническим, пока у вас не останется один порт, на который вы не сможете рассчитывать. Удачи.

Мурали Суриар
источник
5

Как уже упоминалось, нет прямого способа определить, какой IP подключен к определенному порту коммутатора. Причина в том, что коммутатор Ethernet работает на уровне L2 модели OSI и обычно не проверяет уровни более высокого уровня (уровень 3 -> IP-адрес). (Есть некоторые исключения в более новом оборудовании)

Одно важное замечание: чтобы использовать трюк ping / ARP, вам нужно использовать устройство в той же VLAN или подсети, что и устройство, которое вы ищете. В противном случае вы увидите только MAC-адрес шлюза по умолчанию в таблице ARP.

Вот процедура, которую я рекомендую, если это возможно.

Источник и назначение в одной VLAN

  1. Введите команду ping для устройства, которое вы пытаетесь найти.
  2. Как только он вернется успешно, посмотрите в таблице ARP, чтобы найти MAC-адрес указанного устройства.
  3. Войдите на сам коммутатор и просмотрите таблицу MAC-адресов для адреса, найденного в шаге 2. (Таблицу MAC-адресов также можно назвать таблицей CAM). Таблица MAC-адресов отображает MAC-адреса для переключения портов.

Источник и назначение в разных VLAN

  1. С основного маршрутизатора или предполагаемого шлюза по умолчанию выполните команду ping. Очевидно, это работает лучше всего, если вся маршрутизация выполняется на одном устройстве.
  2. Если имеется несколько интерфейсов L3, вам может потребоваться «пройти» по сети, идущей от интерфейса L3 к интерфейсу L3, выполняя проверку ping / ARP, пока не найдете тот, который служит шлюзом по умолчанию для устройства, которое вы ищете.
  3. Как только вы найдете его, вы можете войти в коммутатор и найти таблицу MAC-адресов, чтобы найти порт.
Дейв К
источник
3

Проверьте ARP-кэш на вашем коммутаторе (-ах), чтобы найти MAC-адрес и порт коммутатора, связанные с этим IP-адресом устройства. Эти статьи должны помочь вам:

l0c0b0x
источник
3
Незначительная деталь - кэши ARP находятся на устройствах L3 (маршрутизаторах, хостах) и предоставляют только MAC-адрес, связанный с IP. Таблицы MAC-адресов (или таблицы CAM) позволят сопоставить MAC-адрес с физическим портом.
Мурали Суриар
Вторая ссылка выдает просто ошибку.
Лауриц В. Таулов
Исправлена ​​ошибка @lazyr.
l0c0b0x
1

Вы не указали, какие операционные системы доступны в сети, но большинство из них имеют команду arp. Вы можете использовать команду arp, чтобы узнать, какой MAC-адрес у хоста с заданным именем хоста (при условии, что вы находитесь в той же сети, что и хост).

Затем вы должны проверить в ARP-кешах ваших коммутаторов, чтобы найти, на каком порту находится этот MAC-адрес.

jedberg
источник
1

Между физическими интерфейсами и IP-адресами нет сопоставления 1: 1. Один порт на коммутаторе может обрабатывать трафик для многих машин (если другой коммутатор подключен последовательно), а один порт коммутатора может пересылать трафик для более чем одного IP-адреса (если машина является многодомной).

Если у вас достаточно продвинутый коммутатор, вы можете посмотреть на экранах управления коммутатора, чтобы увидеть, перечисляет ли он MAC-адреса, которые он слышал на конкретном порту.

В качестве альтернативы, если предположить, что компьютер, который вы хотите найти, не слишком далеко (логически), вы можете попытаться отправить на него большой объем трафика, скажем ping -f, который должен позволить вам отслеживать порт, на котором находится машина, глядя на индикаторы активности. ,

Дейв Чейни
источник
1

Если коммутатор поддерживает snmp, вы можете получить информацию о таблицах mac удаленно, для которой необходимо сопоставить физический порт и MAC-адрес, подключенный к порту.

Томоэ
источник
Мы используем этот и несколько сценариев для заполнения таблицы базы данных о том, какие IP были замечены в сети и где мы их видели. Перекрестная ссылка это с базой данных порта коммутатора / настенной розетки, и мы можем также получить физическое местоположение.
sysadmin1138