Есть ли способ получить удаленный (следующий прыжок) MAC-адрес, зная только имя локального интерфейса, через который я буду отправлять трафик?

Я имею в виду следующее: у меня есть два компьютера, соединенных, у каждого, например, 4 сетевых интерфейса, 2 из которых подключены (один компьютер к другому), теперь я знаю, что на первом компьютере я буду использовать eth0 и назначу ему IP. Теперь я хотел бы получить mac-адрес другого конца (сетевой интерфейс на втором компьютере), есть ли способ сделать это?

Моя идея состоит в том, чтобы просто отправить что-то по проводам и получить другой конец ответа с MAC-адресом. Возможно ли это как-то?

Объяснение:

  1. У меня два компьютера соединены проводом

  2. На этих компьютерах работает Linux, нет сетевого менеджера, сетевые интерфейсы управляются статически.

  3. На компьютере AI настройте интерфейс ethA, чтобы иметь IP-адрес, и запустите его (если настроен IP-адрес ethA)

  4. На компьютере B я ничего не настраиваю, но беру каждый интерфейс

  5. Теперь вопрос: я хочу определить с компьютера A, к какому интерфейсу на компьютере B подключен сетевой интерфейс ethA (на компьютере A), и получить его MAC-адрес. Это означает, что провод соединяет два интерфейса, поэтому единственное, что мне нужно, это просто использовать этот провод и отправить ему что-нибудь, что даст мне удаленный интерфейс MAC.

Чтобы объяснить, зачем мне это нужно:

У нас много серверов, и у этих серверов много интерфейсов (4 - 10), и один интерфейс используется для SSH с этими серверами, а остальные интерфейсы предназначены для соединения одного сервера с другим, поэтому между линиями 2,3,4 пара серверов, и поскольку нам нужно автоматизировать наши тесты, нам нужно знать, к какому интерфейсу подключен какой - нам действительно нужно имя интерфейса, а не mac, потому что это имя является одним из параметров нашего приложения, которое мы разрабатываем.

Спасибо

2 ответа2

0

Таким образом, вы хотите узнать MAC-адрес удаленного интерфейса до установления соединения.

Ваши pc-B запускают сетевой менеджер? если это так, то самое простое - запустить dhcpdump (необходимо установить из репозитория) с помощью

  sudo dhcpdump - i eth0

где eth0 - интерфейс на компьютере с кабелем. Когда вы подключаете другой конец кабеля к одному из интерфейсов pc-B, если Network-manager работает на pc-B, он попытается получить сам IP-адрес; при этом он запустит dhcpdump , который покажет запрос DHCP/BOOTP от pc-B, включая его MAC-адрес.

Просто оставьте dhcpdump когда вы подключаете и отключаете кабель в различных разъемах Ethernet.

0

Если ваши хосты общаются друг с другом, макинтош удаленного хоста должен быть представлен в вашей локальной таблице arp. Просто проверьте это с помощью команды arp -i *interface name* -a . Если нет, вы можете посмотреть в сторону arping или аналогичного мягкого

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .