Загрузить команду linux
Обновлено: 21.11.2024
Получите полный доступ к Руководству сетевого администратора Linux, второе издание и более 60 000 других наименований с бесплатной 10-дневной пробной версией O'Reilly.
Есть также прямые онлайн-мероприятия, интерактивный контент, материалы для подготовки к сертификации и многое другое.
Все аргументы hostname могут быть либо символическими именами хостов, либо IP-адресами в точечно-квадратичной нотации.
При первом вызове отображается запись ARP для указанного IP-адреса или хоста или всех известных хостов, если не задано имя хоста. Например, вызов arp для vlager может привести к следующему результату:
который показывает Ethernet-адреса vlager , vstout и vale .
Вы можете ограничить отображение типом оборудования, указанным с помощью параметра -t. Это может быть ether, ax25 или pronet, что означает 10 Мбит/с Ethernet; Оборудование Token Ring AMPR AX.25 и IEEE 802.5 соответственно.
Опция -s используется для постоянного добавления Ethernet-адреса hostname в таблицы ARP. Аргумент hwaddr указывает аппаратный адрес, который по умолчанию должен быть адресом Ethernet, указанным в виде шести шестнадцатеричных байтов, разделенных двоеточиями. Вы также можете установить аппаратный адрес для других типов оборудования, используя параметр -t.
По какой-то причине ARP-запросы к удаленному узлу иногда завершаются сбоем, например, когда его ARP-драйвер содержит ошибку или в сети есть другой узел, который ошибочно идентифицирует себя с IP-адресом этого узла; эта проблема требует, чтобы вы вручную добавили IP-адрес в таблицу ARP. Жесткое подключение IP-адресов в таблице ARP также является (очень радикальной) мерой для защиты от хостов в вашем Ethernet, которые выдают себя за кого-то другого.
Вызов arp с помощью ключа -d удаляет все записи ARP, относящиеся к данному хосту. Этот переключатель может использоваться для принудительной повторной попытки интерфейса получить адрес Ethernet для рассматриваемого IP-адреса. Это полезно, когда неправильно сконфигурированная система передает неверную информацию ARP (конечно, вы должны сначала перенастроить неисправный хост).
Опция -s также может использоваться для реализации прокси ARP. Это специальный метод, с помощью которого хост, скажем, gate, действует как шлюз для другого хоста с именем fnord, делая вид, что оба адреса относятся к одному и тому же хосту, а именно к gate. Для этого он публикует запись ARP для fnord, указывающую на его собственный интерфейс Ethernet. Теперь, когда хост отправляет запрос ARP для fnord, гейт вернет ответ, содержащий его собственный адрес Ethernet. Запрашивающий хост отправит все дейтаграммы на gate , который, как положено, перенаправит их на fnord .
Эти искажения могут быть необходимы, когда вы хотите получить доступ к fnord с машины DOS с неработающей реализацией TCP, которая не слишком хорошо понимает маршрутизацию. Когда вы используете прокси-ARP, для DOS-машины это будет выглядеть так, как будто fnord находится в локальной подсети, поэтому ему не нужно знать, как маршрутизировать через шлюз.
Другое полезное применение прокси-ARP — это когда один из ваших хостов действует как шлюз для другого хоста только временно, например, через коммутируемое соединение. В предыдущем примере мы столкнулись с ноутбуком vlite, который время от времени подключался к vlager через PLIP-линк. Конечно, это приложение будет работать только в том случае, если адрес хоста, для которого вы хотите предоставить прокси-ARP, находится в той же IP-подсети, что и ваш шлюз. vstout может проксировать ARP для любого хоста в подсети Brewery ( 172.16.1.0 ), но никогда для хоста в подсети Winery ( 172.16.2.0 ).
Правильный вызов для предоставления прокси-ARP для fnord приведен ниже; конечно, данный Ethernet-адрес должен быть адресом gate :
Запись прокси-ARP можно снова удалить, вызвав:
Получите Руководство сетевого администратора Linux, второе издание прямо сейчас с онлайн-обучением O’Reilly.
Члены O’Reilly проходят онлайн-обучение в режиме реального времени, а также получают книги, видео и цифровой контент от более чем 200 издателей.
ARP означает «протокол разрешения адресов» и вносит изменения в таблицу ядра, содержащую адреса arp. Он связывается с сетями IPv4 и преобразует IP-адрес любой другой машины в физический адрес, известный как MAC-адрес (управление доступом к среде). В этом продолжении мы объясним команду arp и ее использование в Linux.
Что такое команда arp в Linux
Команда arp — это один из сетевых инструментов, который преобразует IP-адрес любой машины в ее MAC-адрес. Команда arp поставляется с утилитой net-tools, поэтому, если net-tools не установлены в вашем Linux, вы можете запустить следующую команду для установки net-tools:
Чтобы понять использование команды arp, рассмотрим пример, у нас есть другая машина с IP адресом 192.168.18.135, будем пинговать на этот ip адрес:
Чтобы подтвердить соединение с устройством с IP-адресом 192.168.18.135, выполните следующую команду arp:
В приведенном выше выводе подтверждается, что машина 192.168.18.135 подключена к нашему устройству. Описание параметров в выводе выглядит следующим образом:
- Адрес: IPv4-адрес машины.
- HWtype: тип подключения в нашем случае — через Ethernet.
- HWAddress: MAC-адрес машины.
- Маска флагов: сообщает, что адрес извлекается вручную, определяется пользователем или является неполным.
- IFace: это имя интерфейса.
Чтобы найти записи определенного устройства, например 192.168.18.135, мы запустим команду arp с флагом «a»:
В приведенном выше выводе IP-адрес подключенной машины отображается вместе с ее MAC-адресом, и это соединение осуществляется через Ethernet на enp0s3. Чтобы узнать подробную информацию об устройстве и его записях, мы используем флаг «v»:
Аналогичным образом, чтобы отобразить приведенный выше вывод в числовой форме, запустите команду с флагом «-n»:
Флаг «n» отображает символические имена хостов, портов и пользователей в числовой форме. Чтобы удалить устройство из списка arp, мы будем использовать «-d»:
Чтобы подтвердить удаление машины, снова запустите команду arp:
Машина была удалена из списка таблиц arp, и чтобы получить больше информации о команде arp, мы можем обратиться к руководству по команде arp:
Заключение
Команда arp используется для поиска сведений о подключенных устройствах, когда протокол преобразует IP-адрес в MAC-адрес. В этой статье мы объяснили команду arp и ее работу с помощью нескольких примеров. Мы также обсудим флаги, используемые командой arp для получения конкретной информации о Linux.
Об авторе
Хаммад Захид
Я выпускник инженерного факультета, и моя страсть к ИТ привела меня к Linux. Теперь я учусь и делюсь своими знаниями со всем миром.
Откажитесь от старой школы с помощью arp или присоединяйтесь к крутым ребятам с помощью ip neigh. Одинаковая полезная информация с помощью двух разных инструментов.
Опубликовано: 23 апреля 2020 г. | Тайлер Кэрриган (Red Hat)
Фото автора Skitterfolk с сайта Pexels
Дополнительные ресурсы по Linux
Протокол разрешения адресов, также известный как ARP, – это протокол связи, используемый в сетях IPv4. Он был разработан в 1982 году и с тех пор является основным продуктом в большинстве сетей. Та же функциональность существует для сетей IPv6 в протоколе обнаружения соседей (NDP). Короче говоря, протокол переводит IP-адрес машины в ее физический адрес или адрес управления доступом к среде (MAC). ARP работает с кешем или таблицей, которыми пользователь может манипулировать для добавления или удаления адресов. Если адрес назначения уже есть в этом кэше, то протокол не нужен, и информацию можно отправить на нужный хост.
Команда arp позволяет пользователям управлять соседним кешем или таблицей ARP. Он содержится в пакете Net-tools вместе со многими другими известными сетевыми командами (такими как ifconfig). С тех пор команда arp была заменена командой ip Neighbor. Набор команд ip был представлен в Linux 2.2. Он содержит множество вариантов выполнения этих же задач. Давайте рассмотрим функции, предлагаемые каждой из этих программ.
*Обратите внимание, что я запускаю эти примеры на виртуальной машине, поэтому ваши выходные данные могут отличаться по содержанию, но структура должна быть одинаковой*
Команда arp имеет столько опций, сколько вы ожидаете от сетевого инструмента Linux. Я не собираюсь охватывать их все. Однако мы рассмотрим основы и информацию, которая содержится в каждом из них.
При использовании команды arp без каких-либо дополнительных параметров отображается текущее содержимое кэша ARP.
Вы должны заметить следующие столбцы: Address , HWtype , HWaddress , Flags , Mask и Iface . В моей системе адрес равен _gateway , однако в большинстве систем вы видите указанный IPv4-адрес (192.168.0.1 или подобный). HWtype указывается как ether (Ethernet), а HWaddress — это преобразованный MAC-адрес. Поле «Флаги» указывает, был ли адрес изучен, установлен пользователем вручную, опубликован или является неполным. IFace — это просто имя интерфейса, который указан в списке.
Отображать записи для определенного интерфейса
Чтобы просмотреть все записи arp для определенного интерфейса, используйте следующее:
Отображать записи для определенного адреса
Чтобы просмотреть все записи arp для определенного адреса, используйте следующее:
Добавление новой записи
Удаление записи
Команда ip neigh (вы можете использовать neigh, Neighbor или Neighbor — все они эквивалентны) позволяет пользователю манипулировать кешем arp таким же образом, как и раньше. Однако на этот раз метод немного отличается. Давайте взглянем на некоторые функции нового набора команд ip neigh.
Чтобы отобразить текущие записи в таблице arp, используйте следующее:
Здесь следует отметить IP-адрес, имя интерфейса, MAC-адрес и состояние системы. Состояние системы — это большое изменение здесь, и оно может варьироваться от достижимого, постоянного, устаревшего и с задержкой. Дополнительную информацию об этих состояниях можно найти в Интернете.
Добавление новой записи
Чтобы добавить новую запись в таблицу с помощью команды ip, используйте следующее:
Удаление записи
Чтобы удалить существующую запись из таблицы, используйте следующее:
Вот как?
Итак, теперь, когда вы увидели оба набора команд в действии, что вы думаете об этом? Что вы предпочитаете и почему? На данный момент я все еще предпочитаю набор команд arp из-за его надежного набора функций. Я чувствую, что могу сделать с ним больше. Однако я думаю, что синтаксис и структура команды проще с командой ip.
Если вы не можете выбрать между ними, имейте в виду, что пакет net-tools, из которого происходит команда arp, больше не разрабатывается активно, и большинство этих инструментов устарели в пользу их эквивалентов ip, поэтому даже если вы знакомы со старым инструментом, может быть хорошей идеей изучить новый, прежде чем ваш старый вариант исчезнет.
Не стесняйтесь написать ответ на эту статью и отправить его по электронной почте команде! Мы будем рады услышать от вас.
[ Хотите больше для своей сети? Загрузите бесплатную электронную книгу по автоматизации сети с помощью Ansible. ]
Технологии Dell
Linux предоставляет два очень полезных инструмента для диагностики сетевых проблем: arp и ip neigh.
Команда arp — это инструмент, который позволяет отображать сопоставления IP-адреса и MAC-адреса, созданные системой, чтобы ей не приходилось повторно получать одну и ту же информацию для систем, с которыми она взаимодействует. При этом arp позволяет вам обнаруживать и отображать сведения о системах в вашей сети.
Другой — младший брат команды arp, ip neigh, который также может отображать и управлять таблицами arp. В этом посте мы рассмотрим, как работают эти команды и что они могут вам сказать.
Использование arp
Чтобы отобразить таблицу ARP в системе Linux, просто введите "arp". Добавьте -a, чтобы сжать вывод, если вы не хотите, чтобы данные были организованы в столбцы с заголовками. (Кстати, команда arp-a также покажет таблицу arp в командной строке окна Windows.)
Вот пример команды arp и того, что она показывает:
Первая строка содержит заголовки столбцов. В первом столбце показаны IP-адреса или имена хостов. Второй (HWtype) указывает, что соединения являются соединениями Ethernet, а третий (HWaddress) — это MAC-адрес каждого устройства.
В этом примере все соединения, кроме одного, помечены буквой C, что означает «завершено» и подтверждает подключение прошло успешно. Одним из двух устройств, не отмеченных буквой C в этом примере, является сотовый телефон. Другая система находится в автономном режиме.
Последний столбец, Iface, означает "интерфейс" и представляет собой порт в системе, через который осуществляются все подключения. Некоторые системы, особенно серверы, могут иметь несколько сетевых интерфейсов. В этом случае вы можете выбрать конкретный интерфейс, добавив -i и имя интерфейса (например, arp -ai eth0).
В столбце "Флаги" может отображаться:
- C == завершено
- M == постоянный (статическое поле, введенное вручную)
- P == опубликовано (прокси-арп)
Адреса, помеченные как статические (PERM), скорее всего, были добавлены в таблицу намеренно с помощью команды arp -s, например:
В поле маски будет отображаться необязательная маска, если она используется.
Сравните результат выше с тем, что вы видите ниже. Хотя он может показаться менее удобным для человека, этот формат может быть лучше, если вы планируете обрабатывать вывод с помощью скрипта, поскольку вам не придется учитывать, сколько вкладок может находиться между различными столбцами или переходить за первую строку, чтобы начать. с данными в строке 2. Обратите внимание, что поле флагов не отображается.
Чтобы отображались только IP-адреса (без имен хостов), добавьте параметр n (числовой) в команду arp:
С помощью инструмента, подобного приведенному здесь, вы можете найти происхождение перечисленных сетевых интерфейсов. Это связано с тем, что первые три байта каждого MAC-адреса представляют производителя. Вторые три байта — серийные номера. Например, адрес f8:8e:85:35:7f:b9 вверху списка выше указывает на то, что устройство с этим MAC-адресом произведено Comtrend. 00:06:2а. будет указывать на устройство Cisco. Полный список производителей и соответствующих MAC-адресов доступен на этом сайте GitHub.
Использование IP-адреса
Команда ip neigh предоставляет информацию, очень похожую на ту, которую вы получаете с помощью arp. (Опция neigh команды ip может быть записана как «сосед» или «сосед», если вы не против ввести еще несколько букв.)
Одной из причин использования ip neigh вместо arp является то, что arp входит в число команд Linux, которые в настоящее время объявлены устаревшими (не рекомендуются), а пакет net-tools, из которого она получена, больше не находится в активной разработке. . Более новые команды ip должны предоставлять ту же основную информацию, но arp по-прежнему остается популярным инструментом из-за его многочисленных функций.
Вот пример команды ip neigh:
FAILED означает, что доступ к системе невозможен. STALE означает, что подключение не проверялось в последнее время.
Команда ip neigh также предлагает дополнительные параметры. Например, чтобы добавить или удалить адрес из вашей таблицы arp, вы можете использовать такие команды:
Подведение итогов
Команды arp и ip neigh отлично подходят для отображения информации о локальных системах. Возможность проверять соединения и проверять типы систем из окна терминала может быть очень удобной.
Присоединяйтесь к сообществам Network World на Facebook и LinkedIn, чтобы комментировать самые важные темы.
Сандра Генри-Стокер занимается администрированием систем Unix более 30 лет. Она описывает себя как «USL» (Unix как второй язык), но помнит достаточно английского, чтобы писать книги и покупать продукты. Она живет в горах в Вирджинии, где, когда не работает с Unix и не пишет о ней, отгоняет медведей от своих кормушек для птиц.
Читайте также: