найти все компьютеры в сети linux

ARP сканирование локальной сети Linux

Иногда возникает необходимость узнать какие устройства подключены к локальной сети Linux. Это может понадобиться если вы хотите подключиться к одному из компьютеров и не помните его адрес или хотите убедиться в безопасности вашей сети и найти все скрытые устройства.

Как выполнить ARP сканирование локальной сети?

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

Тело сообщения состоит из четырех адресов, аппаратные и сетевые адреса отправителя и получателя.

Если в вашей сети есть устройства, которые не отвечают на любые запросы, такие как Ping, HTTP, HTTPS и т д, то их можно найти послав ARP запрос. Это могут быть различные фаерволы и маршрутизаторы, в том числе маршрутизаторы компании Cisco, такое поведение заложено их протоколом. В таком случае ARP сканирование сети Linux будет единственным способом найти такое устройство.

Утилита ARP Scan

ARP Scan находит все активные устройства, даже если у них включен брандмауэр. Компьютеры не могут скрыться от ARP также как они скрываются от ping. Но ARP сканирование не подходит для поиска компьютеров за пределами локальной сети, в таких ситуациях используйте ping сканирование.

Установка ARP Scan

Этот arp сканер сети доступен для следующих операционных систем:

Для установки в Ubuntu выполните:

sudo apt install arp-scan

Сканирование сети

ARP Scan позволяет находить активные компьютеры как в проводных сетях ethernet, так и в беспроводных Wifi сетях. Также есть возможность работать с Token Ring и FDDI. Не поддерживаются последовательные соединения PPP и SLIP, поскольку в них не используется ARP. Программу нужно запускать с правами суперпользователя.

Но сначала надо узнать сетевой интерфейс, который используется для подключения к сети. Для этого можно воспользоваться программой ip:

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

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

ARP спуфинг и ARP прокси

Выводы

ARP Scan это простой, но очень мощный инструмент, с помощью которого можно выполнять сканирование ip адресов в локальной сети linux. Те, кто знаком с Cisco маршрутизаторами и коммутаторами, знают что найти такие устройства можно только с помощью ARP. Это полезный инструмент, возможно, когда-то вам он пригодится.

Источник

Показать список компьютеров в локальной сети в Linux

Это то, что я использую, nmap и адрес, используя блочную нотацию CIDR для сети, которую вы хотите сканировать. Для начала вам нужно установить nmap, так как он может не поставляться с предустановленным дистрибутивом. На Ubuntu:

Читайте также:  как понизить пинг в играх на windows 10 ворлд оф танкс

Затем выясните ваш сетевой адрес, используя ifconfig:

вывод ifconfig для интерфейса, который я хочу сканировать:

Вывод nmap будет выглядеть примерно так:

Вот и все, если вам нужна дополнительная помощь по nmap, посмотрите официальную документацию по nmap или запустите:

«Все единицы» (в двоичном формате) широковещательный адрес. Обратите внимание, что большинство IP-стеков преобразует это в широковещательные адреса подсетей для всех подсетей, к которым вы подключены:

Широковещательный адрес подсети для вашей текущей подсети. Итак, если вы находитесь на 192.168.1.0/24:

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

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

Основываясь на этом, вы можете создать скрипт на Python:

Способ № 1.

Способ № 2. Я знаю, что это работает, но я не могу сказать, если это правильный путь.

Буду рад узнать, есть ли более эффективные способы. До тех пор я придерживаюсь этого.

Например, вы можете попробовать пропинговать всю данную подсеть с помощью небольшого сценария оболочки Linux.

Для более компактного списка подключенных устройств:

Причудьте,
что если два устройства имеют одинаковое имя, nmap будет отображаться только то, которое было подключено к маршрутизатору последним

Для сканирования состояния диапазона IP-адресов это удобно и просто:

Я сделал это на Mac OS X (которая основана на BSD). Я не уверен, если версия для Linux имеет какие-либо различия.

Вы можете использовать fping sudo apt-get install fping (в Debian-подобных ОС).

fping похож на ping, но гораздо лучше работает при пинге нескольких хостов. -R 1 флаг указан Fping выполнить только один раунд. Часть 2> 1 позволяет grep фильтровать вывод.

Будет отображать что-то вроде:

Вы получите, например:

1. Альтернативное решение, если вещание nmap не доступно:

2а. или просто спросите свой сервер доменных имен :

2b. без awk

пингует все проверяемые сетевые устройства в подсети 192.168.2.0/24 параллельно (для сокращения времени выполнения). После этого arp должно отображаться каждое устройство, которое ответило.

не проверяет наличие активных или текущих соединений, но перечисляет все соединения, которые хранит служба локального домена, даже очень старые.

Более подробное объяснение:

Я называю это моей командой pingall и сделал ее доступной через псевдоним в

Источник

Отобразить список компьютеров в локальной сети в Linux

10 ответов

Это то, что я использую, nmap и адрес, используя блок-схему CIDR для сети, которую вы хотите отсканировать. Сначала вам нужно установить nmap, поскольку он не может быть предварительно установлен с вами дистрибутивом. На Ubuntu:

Читайте также:  как распаковать файл ехе на виндовс 10

Затем введите свой сетевой адрес, используя ifconfig:

вывод ifconfig для интерфейса, который я хочу проверить:

nmap будет выглядеть примерно так:

Вот и все, если вам нужна дополнительная помощь с nmap, см. официальную документацию nmap или выполните:

«Все те» (в двоичном) широковещательном адресе. Обратите внимание, что большинство стеков IP переведет это на широковещательные адреса подсети для всех подключенных подсетей:

Широковещательный адрес подсети для текущей подсети. Предположим, вы используете 192.168.1.0/24:

Многоадресный адрес «все хосты». Мне это очень нравится, потому что более вероятно, что хосты будут настроены для других IP-подсетей, которые подключаются к той же локальной сети Ethernet, что и вы:

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

Основываясь на этом, вы можете создать скрипт Python:

Способ № 1.

Путь № 2. Я знаю, что это работает, но я не могу сказать, правильно ли это сделать.

Я был бы рад узнать, есть ли более эффективные способы. До тех пор я придерживаюсь этого.

Вы можете попробовать выполнить ping всю данную подсеть с помощью небольшого сценария оболочки linux, например

Чтобы проверить статус диапазона IP-адресов, это приятно и просто:

Я сделал это в Mac OS X (основанный на BSD). Я не уверен, есть ли у версии Linux какие-либо отличия.

Для более компактного списка подключенных устройств:

Куирк
Помните, что если два устройства имеют одинаковое имя, nmap покажет только тот, который был подключен к маршрутизатору последнему

1. Альтернативное решение, если широковещательные сообщения и nmap недоступны:

2a. или просто спросите сервер доменных имен :

2b. без awk

подключает все pingable сетевые устройства в подсети 192.168.2.0/24 параллельно (чтобы сократить время выполнения). Впоследствии arp должно отображаться каждое устройство, на которое он ответил.

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

Я вызываю эту команду pingall и делает ее доступной по псевдониму в

Источник

Найти все компьютеры в сети linux

Иногда просто необходимо сделать сканирование всей сети инайти в ней все активные компьютеры. В Linux есть несколько методов, как это можно сделать.

Допустим, есть сеть 10.153.0.0/24. Поиск активных хостов возможен через следующую команду NMAP:

Starting Nmap 5.51 ( http://nmap.org ) at 2017-07-18 09:19 MSK

Nmap scan report for 10.153.168.1

Nmap scan report for 10.153.168.2

Host is up (0.00047s latency).

MAC Address: CC:46:D6:17:CA:1C (Unknown)

Nmap scan report for 10.153.168.3

Host is up (0.00013s latency).

MAC Address: 00:E0:4C:A1:EB:D4 (Realtek Semiconductor)

Читайте также:  лимитированное соединение windows 10

Nmap done: 65536 IP addresses (547 hosts up) scanned in 357.14 seconds

Если есть возможность войти на консоль Linux-компьютера, накотором крутится DHCP-сервер, то можно посмотреть кеш активных обращений к нему через программу ARP:

Address HWtype HWaddress Flags Mask Iface

10.106.175.18 ether 08:05:23:53:bf:c0 C eth1

10.106.173.254 ether cc:5d:41:fb:71:df C eth1

10.106.168.204 ether 60:e1:29:05:c1:c6 C eth1

Вариант 3. Скрипт-однострочник

Можно написать скрипт, который будет пинговать хосты из определенного диапазона, и в случае если ответ от хоста есть, выдавать информацию о нем. Скрипт выглядит так:

64 bytes from 192.168.1.101: icmp_req=1 ttl=64 time=0.042 ms

64 bytes from 192.168.1.1: icmp_req=1 ttl=64 time=37.4 ms

64 bytes from 192.168.1.102: icmp_req=1 ttl=64 time=208 ms

Источник

Как получить список всех IP-адресов (и в идеале имена устройств) в локальной сети?

Наша сеть выдала ошибку, что произошел конфликт IP-адресов, и я хотел бы выяснить, каковы все IP-адреса устройства. (Я также нуждался в этом раньше). (обновление / уточнение: я тоже ищу на базе Windows.)

Я прочитал предложения по различным инструментам (Look @ Lan, Angry IP Scanner) и ищу предложения от людей, которые использовали эти или другие инструменты.

Если в сети есть поле unix, вы можете попробовать arp-scan:

Быстро и грязно (в Linux):

Как уже упоминалось, nmap ( http://nmap.org/ ), вероятно, хороший, быстрый и бесплатный вариант. Только будьте осторожны с этим, есть несколько очень агрессивных вариантов, которые могут привести к поломке машины.

Эта команда выполнит простую проверку связи выбранной подсети и должна быть полностью безопасной.

Очевидно, замените своей собственной сетевой информацией.

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

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

Я бы посоветовал вам попытаться найти MAC-адреса двух машин, которые конфликтуют.

На каком устройстве зарегистрирован конфликт IP-адресов? Был ли это сервер, роутер и т. Д.? Некоторые платформы (Solaris и BSD) регистрируют MAC-адрес хоста-нарушителя вместе с сообщением об ошибке. Если рассматриваемый IP-адрес находится в одном из ваших пулов DHCP, также стоит проверить в журналах вашего DHCP-сервера MAC-адрес, которому он пытается назначить этот IP-адрес.

В противном случае я бы порекомендовал войти на маршрутизатор по умолчанию в подсети, в которой возникает эта проблема, и отслеживать таблицу ARP. Должен быть один IP-адрес, который переключается между несколькими MAC-адресами; опять же, эти два MAC-адреса представляют интересующие вас устройства.

Когда у вас есть MAC-адреса двух устройств, вы сможете связать их с определенными портами коммутатора. Этот вопрос предоставляет больше информации о том, как это сделать. Вы также можете использовать инструмент поиска OUI, чтобы определить производителя каждого устройства.

Источник

Образовательный портал