
У меня есть локальная сеть с множеством машин. С сервера CentOS мне нужно получить MAC-адрес определенного IP (и нужно автоматизировать это для нескольких сотен IP).
Я попробовал ping + arp -a, но, похоже, он не отслеживает этот IP.
ping -c 3 10.101.2.11
PING 10.101.2.11 (10.101.2.11) 56(84) bytes of data.
64 bytes from 10.101.2.11: icmp_seq=1 ttl=63 time=0.531 ms
64 bytes from 10.101.2.11: icmp_seq=2 ttl=63 time=0.564 ms
64 bytes from 10.101.2.11: icmp_seq=3 ttl=63 time=0.576 ms
--- 10.101.2.11 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.531/0.557/0.576/0.019 ms
$ arp -a
? (10.1.0.101) at xx:xx:xx:xx:xx:xx [ether] on eth0
? (10.1.0.11) at xx:xx:xx:xx:xx:xx [ether] on eth0
gateway (10.1.0.1) at xx:xx:xx:xx:xx:xx [ether] on eth0
? (10.1.0.102) at xx:xx:xx:xx:xx:xx [ether] on eth0
На других ОС arp-scan
решением может быть получение MAC-адреса устройства, но на CentOS вывод будет простым:
$: arp-scan 10.101.2.11
Interface: eth0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.9.2 with 1 hosts (http://www.nta-monitor.com/tools-resources/security-tools/arp-scan/)
4 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.9.2: 1 hosts scanned in 1.815 seconds (0.55 hosts/sec). 0 responded
решение1
Я вижу, что в выводе вашей команды arp -a указан адрес 10.1.0, а в вашем ping указан адрес 10.101.2. Они находятся в разных сетях. arp будет для локальной сети, в которой вы находитесь.
Теперь ip neigh — это новый arp -a и имеет то же поведение. Вам придется войти в эту подсеть, чтобы увидеть информацию о mac и подсети с этих компьютеров.
Можете ли вы подключиться к нему по ssh? Если да, то вы можете отправить удаленную команду и получить arp оттуда, если у вас есть учетные данные на этой машине.
ssh [email protected] `ip neigh`
Я не использовал arp-scan, однако, судя по документации, он сканирует локальную сеть. Похоже, компьютер, на котором вы пытаетесь получить mac, находится в другой подсети.
решение2
Кажется, ваши цели находятся в другой сети. Вам говорят, что 10.1.0.1 — это шлюз, поскольку он не выдает MAC-адреса цели (IP-адреса 10.101.xx), они, вероятно, находятся в другой сети. Наличие адресов от 10.1.0.1 до 10.101.0.0 будет означать около 600 тысяч машин в сети...
Узнайте, какова настройка сети (сетевые маски, маршрутизаторы и т. д.).