Как сканировать IP-адреса в вашей сети с помощью Linux

Как сканировать IP-адреса в вашей сети с помощью Linux

24 декабря 2024 г.

Сколько раз вы пытались настроить статический IP-адрес для машины в вашей сети, только чтобы понять, что вы понятия не имеете, какие адреса уже заняты? Если вы работаете с настольным компьютером, вы всегда можете установить анализатор сетевых протоколов, чтобы узнать, какие адреса используются. Но что делать, если вы работаете на сервере без графического интерфейса? Вы, конечно, не будете полагаться на графический инструмент для сканирования IP-адресов. К счастью, некоторые очень простые в использовании инструменты командной строки могут справиться с этой задачей.

Я покажу вам, как сканировать вашу локальную сеть (LAN) на предмет используемых IP-адресов с помощью двух разных инструментов (один из которых будет установлен на вашем сервере по умолчанию). Я продемонстрирую это на Ubuntu Server.

СМ.: Основные команды, которые необходимо знать администраторам Linux (TechRepublic Premium)

Команда arp

Первый инструмент, который мы будем использовать для этой задачи, — это встроенная команда arp. Большинство ИТ-администраторов знакомы с arp, так как она используется практически на каждой платформе. Если вы никогда не использовали arp (что означает протокол разрешения адресов), эта команда используется для управления (или отображения) кэша соседей сети IPv4 ядра. Если вы введете arp без спецификатора режима или параметров, она выведет текущее содержимое таблицы ARP. Это не то, что мы собираемся делать. Вместо этого мы введем команду следующим образом:

арп -а

Параметр -a использует альтернативный вывод в стиле BSD и выводит все известные IP-адреса, найденные в вашей локальной сети. Вывод команды отобразит IP-адреса, а также связанное с ними устройство Ethernet.

Теперь у вас есть список всех IP-адресов, используемых в вашей локальной сети. Единственное предостережение: (если вы не знаете MAC-адрес каждого устройства в вашей сети), вы не будете иметь ни малейшего представления о том, какой машине назначены IP-адреса. Даже не зная, какая машина связана с каким адресом, вы, по крайней мере, знаете, какие адреса используются.

Примечание. Команда arp работает только для IPv4. Если у вас IPv6, вам нужно будет использовать команду ndp (что означает Neighbor Discovery Protocol):

ндп -а

Легко определить, используете ли вы адреса IPv4 или IPv6. Первые используют точки, вторые — двоеточия. IBM предлагает объяснение по этому вопросу, если вам нужны дополнительные подробности.

СМОТРИТЕ: Как добавить отпечаток SSH в файл known_hosts в Linux (TechRepublic)

Nmap

Далее мы используем команду, которая предлагает больше опций. Указанная команда — nmap (что означает Network Mapper). Вы не найдете nmap установленным на вашей машине Linux по умолчанию, поэтому мы должны добавить его в систему. Откройте окно терминала (или войдите в свой сервер без графического интерфейса) и введите команду:

sudo apt-get install nmap -y

После завершения установки вы готовы сканировать свою локальную сеть с помощью nmap. Чтобы узнать, какие адреса используются, введите команду:

nmap -sP 192.168.1.0/24

Примечание: Вам необходимо будет изменить схему IP-адреса, чтобы она соответствовала вашей.

Вывод команды покажет вам каждый адрес, найденный в вашей локальной сети.

nmap отобразит каждый адрес, найденный в вашей локальной сети. Изображение: Джек Уоллен

Давайте сделаем nmap более полезным. Поскольку он предлагает немного больше гибкости, мы также можем узнать, какая операционная система связана с IP-адресом. Для этого мы используем опции -sT (сканирование TCP-подключения) и -O (обнаружение операционной системы). Команда для этого:

sudo nmap -sT -O 192.168.1.0/24

В зависимости от размера вашей сети, эта команда может занять некоторое время. И если ваша сеть большая, рассмотрите возможность отправки вывода команды в файл, например, такой:

sudo nmap -sT -O 192.168.1.0/24 > nmap_output

Затем вы можете просмотреть файл с помощью текстового редактора, чтобы узнать, какая операционная система привязана к IP-адресу.

nmap отобразит каждый адрес, найденный в вашей локальной сети. Изображение: Джек Уоллен

С помощью этих двух простых команд вы можете найти IP-адреса в вашей сети, которые используются. Теперь, когда вы назначаете статический IP-адрес, вы случайно не назначите тот, который уже используется. Мы все знаем, какие головные боли это может вызвать.

Подпишитесь на рассылку Developer Insider От самых популярных языков программирования до комментариев по ОС Linux, получайте новости и советы от разработчиков и разработчиков с открытым исходным кодом, которые вам нужно знать. Доставка по вторникам и четвергам Адрес электронной почты Подписываясь на нашу рассылку, вы соглашаетесь с нашими Условиями использования и Политикой конфиденциальности. Вы можете отписаться в любое время. Подписаться
Подпишитесь на рассылку Developer Insider От самых популярных языков программирования до комментариев по ОС Linux, получайте новости и советы от разработчиков и разработчиков с открытым исходным кодом, которые вам нужно знать. Доставка по вторникам и четвергам Адрес электронной почты Подписываясь на нашу рассылку, вы соглашаетесь с нашими Условиями использования и Политикой конфиденциальности. Вы можете отписаться в любое время. Подписаться

Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE