MyTetra Share
Делитесь знаниями!
Как пропинговать хост по MAC адресу
Время создания: 24.11.2016 12:50
Автор: Xintrea
Текстовые метки: arping, , ARP, ping, MAC, пинг, адрес, IP
Раздел: Компьютер - Linux - Сеть в Linux
Запись: xintrea/mytetra_syncro/master/base/14799810476rcz71yagr/text.html на raw.github.com

Чтобы пропинговать хост по известному MAC-адресу, можно воспользоваться командой arping:


arping AB:12:CD:56:AA:98


Если в таком виде не срабатывает, можно попробовать:


arping -i <имя_интерфейса> AB:12:CD:56:AA:98


или по IP:


arping -i <имя_интерфейса> 192.168.1.5


* * *


Причина, почему arping при каких-то неясных обстоятельствах не может пропинговать хост по MAC, хотя MAC однозначно правильный, состоит в том, что в Linux существует две утилиты arping. Одна находится в пакете arping, и расположена так:


/usr/sbin/arping


А вторая находится в пакете iputils-arping, и расположена так:


/usr/bin/arping


Так вот, вторая утилита (из пакета iputils-arping) не умеет пинговать хост по MAC. При попытке пропинговать по MAC, будет выводиться ошибка:


arping: 74:10:25:3e:4e:50: Name or service not known


Предполагается, что эта (вторая) утилита нужна просто для того, чтобы пингануть хост по обычному IP, и в выводимой информации увидеть какой MAC этому IP соответсвует.


Проблема в том, что в некоторых Linux-дистрибутивах имеется только пакет iputils-arping, а пакета arping нет (например это Astra Linux). Поэтому в таких дистрибутивах пропинговать хост по MAC-адресу просто не получится.


* * *


Если хосты уже пинговались, и известны сетевой подсистеме компьютера, то чтобы узнать IP адрес по MAC адресу, можно воспользоваться командой arp, которая покажет содержимое ARP-таблицы:


arp -an | grep AB:12:CD:56:AA:98


Другими словами, следует учитывать, что команда arp показывает закешированные на компьютере адреса, то есть адреса, к которым компьютер обращался (или к нему обращались и был какой-то обмен). Поэтому перед ее использованием обязательно надо сделать команду ping или arping.


Возможно, что вывод команды arp будет в нижнем регистре, тогда в grep нужно писать ab:12:cd:56:aa:98.


Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования