Linux таблица mac адресов

Andrey Dugin @blog

Few days ago I could see a user question about Linux analogue for Cisco «show mac-address-table» command. He wo’nt use the «arp»or «arp -a» command for some hidden reasons. And I think it may be interesting for other users.

The «arp» or «arp -a» command shows you mac-address table (MAC-interface maping) and ARP table (MAC-IP mapping) all-in-one. Cisco IOS devices, as networking equipment, show some more information and it contains VLAN id and entry type (static or dynamic).

Cisco output are below:

#sh mac address-table
Mac Address Table
——————————————-

Vlan Mac Address Type Ports
—- ———— ——— ——
All 0100.0ccc.cccc STATIC CPU
All 0100.0ccc.cccd STATIC CPU

All ffff.ffff.ffff STATIC CPU
10 0000.0c07.abcd DYNAMIC Gi0/1
20 000b.be68.bcde DYNAMIC Gi0/2
30 0013.6016.cdef DYNAMIC Gi0/3

Total Mac Addresses for this criterion: 67

#sh ip arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 10.100.10.11 0 3c4a.92b2.abcd ARPA Vlan10
Internet 10.100.20.28 162 b4b5.2fab.bcde ARPA Vlan20

But Linux «arp» and «arp -a» commands show us some another information:

# arp
Address HWtype HWaddress Flags Mask Iface
192.168.10.1 ether 00:50:56:c0:00:08 C eth0
192.168.10.2 ether 00:50:56:f2:83:0a C eth0

# arp -a
? (192.168.10.1) at 00:50:56:c0:00:08 [ether] on eth0
? (192.168.10.2) at 00:50:56:f2:83:0a [ether] on eth0

So you can see both ARP and MAC-address table in one output. It is not so rich as Cisco output but it is good enough.

But if you think that the «arp» output contains a lot of extra information you may parse it with «awk» command:

# arp | grep -v Address | awk ‘ < print $3,$5 >‘
00:50:56:c0:00:08 eth0
00:50:56:f2:83:0a eth0

  • install bridge-utils,
  • set the bridge,
  • add interfaces to the bridge
  • use «brctl showmacs» command

# brctl addbr 1
# brctl addif 1 eth0
# brctl showmacs 1
port no mac addr is local? ageing timer
1 00:0c:29:1f:cf:5a yes 0.00
1 00:50:56:c0:00:08 no 0.00

So I hope this information may be interesting and useful.

Источник

ARP: определение MAC адресов в локальной сети

ARP (англ. Address Resolution Protocol — протокол определения адреса) — протокол в компьютерных сетях, предназначенный для определения MAC-адреса по IP-адресу другого компьютера. Существуют следующие типы сообщений ARP: запрос ARP (ARP request) и ответ ARP (ARP reply). Система-отправитель при помощи запроса ARP запрашивает физический адрес системы-получателя. Ответ (физический адрес узла-получателя) приходит в виде ответа ARP.

Компьютер А (IP-адрес 192.168.1.1) и компьютер Б (IP-адрес 192.168.1.2) соединены сетью Ethernet. Компьютер А желает переслать пакет данных на компьютер Б, IP-адрес компьютера Б ему известен. Компьютеру А для осуществления передачи через Ethernet требуется узнать MAC-адрес компьютера Б в сети Ethernet. Для этой задачи и используется протокол ARP.

Читайте также:  Linux тип исполняемого файла

Компьютер А отправляет широковещательный запрос, адресованный всем компьютерам в одном с ним широковещательном домене. Суть запроса: «компьютер с IP-адресом 192.168.1.2, сообщите свой MAC-адрес компьютеру с МАС-адресом . ». Этот запрос доставляется всем устройствам в том же сегменте Ethernet. Компьютер Б отвечает компьютеру А на запрос и сообщает свой MAC-адрес.

Протокол имеет буферную память (ARP-таблицу), в которой хранятся пары адресов (IP-адрес, MAC-адрес) с целью уменьшения количества посылаемых запросов, следовательно, экономии трафика и ресурсов. Записи ARP-таблицы бывают двух вид видов: статические и динамические. Статические добавляются самим пользователем, динамические же — создаются и удаляются автоматически. При этом в ARP-таблице всегда хранится широковещательный физический адрес FF:FF:FF:FF:FF:FF.

Команда arp в Windows

Позволяет просмотреть ARP-таблицу, добавить в нее новую запись или удалить существующую:

> arp Отображение и изменение таблиц преобразования IP-адресов в физические, используемые протоколом разрешения адресов (ARP). ARP -s inet_addr eth_addr [if_addr] ARP -d inet_addr [if_addr] ARP -a [inet_addr] [-N if_addr] [-v] -a Отображает текущие ARP-записи, опрашивая текущие данные протокола. Если задан inet_addr, то будут отображены IP и физический адреса только для заданного компьютера. Если ARP используют более одного сетевого интерфейса, то будут отображаться записи для каждой таблицы. -g То же, что и параметр -a. -v Отображает текущие ARP-записи в режиме подробного протоколирования. Все недопустимые записи и записи в интерфейсе обратной связи будут отображаться. inet_addr Определяет IP-адрес. -N if_addr Отображает ARP-записи для заданного в if_addr сетевого интерфейса. -d Удаляет узел, задаваемый inet_addr. Параметр inet_addr может содержать знак шаблона * для удаления всех узлов. -s Добавляет узел и связывает адрес в Интернете inet_addr с физическим адресом eth_addr. Физический адрес задается 6 байтами (в шестнадцатеричном виде), разделенных дефисом. Эта связь является постоянной eth_addr Определяет физический адрес. if_addr Если параметр задан, он определяет адрес интерфейса в Интернете, чья таблица преобразования адресов должна измениться. Если параметр не задан, будет использован первый доступный интерфейс. Пример: > arp -s 157.55.85.212 00-aa-00-62-c6-09 .. Добавляет статическую запись. > arp -a

Создать запись в ARP-таблице:

Вывести записи ARP-таблицы:

> arp -a Интерфейс: 192.168.53.1 --- 0x5 адрес в Интернете Физический адрес Тип 192.168.53.255 ff-ff-ff-ff-ff-ff статический 224.0.0.22 01-00-5e-00-00-16 статический 224.0.0.251 01-00-5e-00-00-fb статический 224.0.0.252 01-00-5e-00-00-fc статический 239.255.255.250 01-00-5e-7f-ff-fa статический Интерфейс: 192.168.110.2 --- 0x14 адрес в Интернете Физический адрес Тип 192.168.110.1 04-bf-6d-9a-c7-a8 динамический 192.168.110.3 08-00-27-92-ce-01 динамический 192.168.110.255 ff-ff-ff-ff-ff-ff статический 224.0.0.22 01-00-5e-00-00-16 статический 224.0.0.251 01-00-5e-00-00-fb статический 224.0.0.252 01-00-5e-00-00-fc статический 239.255.255.250 01-00-5e-7f-ff-fa статический 255.255.255.255 ff-ff-ff-ff-ff-ff статический Интерфейс: 172.28.128.1 --- 0x15 адрес в Интернете Физический адрес Тип 172.28.128.255 ff-ff-ff-ff-ff-ff статический 224.0.0.22 01-00-5e-00-00-16 статический 224.0.0.251 01-00-5e-00-00-fb статический 224.0.0.252 01-00-5e-00-00-fc статический 239.255.255.250 01-00-5e-7f-ff-fa статический

Команда arp в Linux

Позволяет просмотреть ARP-таблицу, добавить в нее новую запись или удалить существующую:

$ arp --help Использование: arp [-vn] [] [-i ] [-a] [] ] -d [pub] <- Удалить элемент ARP arp [-vnD] [] [-i ] -f [] <- Добавить запись в arp из файла arp [-v] [] [-i ] -s  [temp] <- Добавить элемент arp [-v] [] [-i ] -Ds  [netmask ] pub -a показать (все) хосты в альтернативном (BSD) стиле -e display (all) hosts in default (Linux) style -s, --set установить новую запись ARP -d, --delete удалить определенную запись -v, --verbose более детальный вывод -n, --numeric не преобразовывать адреса в имена -i, --device указание сетевого интерфейса (например, eth0) -D, --use-device прочитать из заданного устройства -A, -p, --protocol указание семейства протоколов -f, --file считать новые записи из файла или из /etc/ethers =Используйте '-H ' для указания типа аппаратного адреса. По умолчанию: ether Список всех возможных типов HW (которые поддерживают ARP) ash (Ash) ether (Ethernet) ax25 (AMPR AX.25) netrom (AMPR NET/ROM) rose (AMPR ROSE) arcnet (ARCnet) dlci (Frame Relay DLCI) fddi (Fiber Distributed Data Interface) hippi (HIPPI) irda (IrLAP) x25 (универсальный X.25) eui64 (Универсальный EUI-64)

Создать запись в ARP-таблице:

> sudo arp -s IP-адрес MAC-адрес

Вывести записи ARP-таблицы:

$ arp Адрес HW-тип HW-адрес Флаги Маска Интерфейс 192.168.110.13 ether 08:00:27:78:7a:c2 C enp0s3 192.168.110.2 ether 1c:1b:0d:e6:14:bd C enp0s3 _gateway ether 04:bf:6d:9a:c7:a8 C enp0s3

Альтернативный способ просмотра записей таблицы — команда

$ ip neigh 192.168.110.3 dev enp0s3 lladdr 08:00:27:78:7a:c2 REACHABLE 192.168.110.2 dev enp0s3 lladdr 1c:1b:0d:e6:14:bd STALE 192.168.110.1 dev enp0s3 lladdr 04:bf:6d:9a:c7:a8 STALE

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Читайте также:  Linux mint оформление темы

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

  • 1С:Предприятие (31)
  • API (29)
  • Bash (43)
  • CLI (99)
  • CMS (139)
  • CSS (50)
  • Frontend (75)
  • HTML (66)
  • JavaScript (150)
  • Laravel (72)
  • Linux (145)
  • MySQL (76)
  • PHP (125)
  • React.js (66)
  • SSH (27)
  • Ubuntu (68)
  • Web-разработка (509)
  • WordPress (73)
  • Yii2 (69)
  • БазаДанных (95)
  • Битрикс (66)
  • Блог (29)
  • Верстка (43)
  • ИнтернетМагаз… (84)
  • КаталогТоваров (87)
  • Класс (30)
  • Клиент (27)
  • Ключ (28)
  • Команда (68)
  • Компонент (60)
  • Конфигурация (61)
  • Корзина (32)
  • ЛокальнаяСеть (28)
  • Модуль (34)
  • Навигация (31)
  • Настройка (139)
  • ПанельУправле… (29)
  • Плагин (33)
  • Пользователь (26)
  • Практика (99)
  • Сервер (74)
  • Событие (27)
  • Теория (105)
  • Установка (66)
  • Файл (47)
  • Форма (58)
  • Фреймворк (192)
  • Функция (36)
  • ШаблонСайта (68)

Источник

Linux "show mac-address-table" analogue

Few days ago I could see a user question about Linux analogue for Cisco "show mac-address-table" command. He wo'nt use the "arp"or "arp -a" command for some hidden reasons. And I think it may be interesting for other users.

The "arp" or "arp -a" command shows you mac-address table (MAC-interface maping) and ARP table (MAC-IP mapping) all-in-one. Cisco IOS devices, as networking equipment, show some more information and it contains VLAN id and entry type (static or dynamic).

Cisco output are below:

#sh mac address-table
Mac Address Table
-------------------------------------------

Vlan Mac Address Type Ports
---- ----------- -------- -----
All 0100.0ccc.cccc STATIC CPU
All 0100.0ccc.cccd STATIC CPU

All ffff.ffff.ffff STATIC CPU
10 0000.0c07.abcd DYNAMIC Gi0/1
20 000b.be68.bcde DYNAMIC Gi0/2
30 0013.6016.cdef DYNAMIC Gi0/3

Читайте также:  Linux сколько времени работает процесс

Total Mac Addresses for this criterion: 67

#sh ip arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 10.100.10.11 0 3c4a.92b2.abcd ARPA Vlan10
Internet 10.100.20.28 162 b4b5.2fab.bcde ARPA Vlan20

But Linux "arp" and "arp -a" commands show us some another information:

# arp
Address HWtype HWaddress Flags Mask Iface
192.168.10.1 ether 00:50:56:c0:00:08 C eth0
192.168.10.2 ether 00:50:56:f2:83:0a C eth0

# arp -a
? (192.168.10.1) at 00:50:56:c0:00:08 [ether] on eth0
? (192.168.10.2) at 00:50:56:f2:83:0a [ether] on eth0

So you can see both ARP and MAC-address table in one output. It is not so rich as Cisco output but it is good enough.

But if you think that the "arp" output contains a lot of extra information you may parse it with "awk" command:

# arp | grep -v Address | awk ' < print $3,$5 >'
00:50:56:c0:00:08 eth0
00:50:56:f2:83:0a eth0

  • install bridge-utils,
  • set the bridge,
  • add interfaces to the bridge
  • use "brctl showmacs" command

# brctl addbr 1
# brctl addif 1 eth0
# brctl showmacs 1
port no mac addr is local? ageing timer
1 00:0c:29:1f:cf:5a yes 0.00
1 00:50:56:c0:00:08 no 0.00

So I hope this information may be interesting and useful.

Как удалить свой ЦИФРОВОЙ СЛЕД в интернете? Подпишитесь на наш ТГ канал и обретите свою цифровую свободу.

Источник

Оцените статью
Adblock
detector