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

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

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

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

Учитывая 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

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

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

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

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

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

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

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

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

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

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