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

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

raw

raw

raw

Иногда просто необходимо сделать сканирование всей сети инайти в ней все активные компьютеры. В 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)

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

Источник

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

rss

Переходим на Ubuntu

cropped TfLdf81

network 3537401 1280

Как найти все устройства, подключенные к локальной сети

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

Я не предлагаю никого взламывать, а прошу задуматься, не подключился ли к вашей сети такой «новичок»? И дело даже не в том, что сосед может пользоваться оплаченным вами доступом в интернет, а в том, что вы можете понести ответственность за его действия.

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

Ближе к делу, ниже приводится краткая инструкция, как найти все устройства, подключенные к сети.

Поиск устройств в сети с помощью командной строки Linux

Установите nmap

nmap — одна из самых популярных утилит для сканирования сети в Linux. Для того, чтобы установить nmap в Ubuntu (или других дистрибутивах Linux на базе Debian), выполните следующую команду:

Эта утилита должна быть доступна в официальных репозиториях всех остальных дистрибутивов.

Узнайте диапазон адресов сети

Нужная нам информация находится во второй строке. Как видно, мой локальный IP-адрес 192.168.1.69, а маска подсети 255.255.255.0, что означает, что в локальной сети адреса будут отличаться от 192.168.1.0 до 192.168.1.255.

Просканируйте устройства, подключенные к сети

Для получения более точной информации лучше выполнять сканирование от имени администартора. Используйте команду nmap следующим образом:

Как видно, в сети работает 5 устройств, одно — роутер, два компьютера и два телефона. Регулярно проверяйте вашу беспроводную сеть, это может обезопасить вас от многих проблем!

Источник

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

10 ответов

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

Затем введите свой сетевой адрес, используя 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 и делает ее доступной по псевдониму в

Источник

7 сетевых Linux-команд, о которых стоит знать системным администраторам

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

Этот материал — первый в серии статей, построенных на рекомендациях, собранных от множества знатоков Linux. А именно, я спросил у наших основных разработчиков об их любимых Linux-командах, после чего меня буквально завалили ценными сведениями. А именно, речь идёт о 46 командах, некоторые из которых отличает тот факт, что о них рассказало несколько человек.

9eu5sf4ezaa6434mdmq 8m2 nzc

В данной серии статей будут представлены все эти команды, разбитые по категориям. Первые 7 команд, которым и посвящена эта статья, направлены на работу с сетью.

Команда ip

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

Синтаксис этой команды выглядит так:

Самое важное тут — это (подкоманда). Здесь можно использовать, помимо некоторых других, следующие ключевые слова:

Вывод IP-адресов, назначенных интерфейсу на сервере:

Назначение IP-адреса интерфейсу, например — enps03 :

Удаление IP-адреса из интерфейса:

Изменение статуса интерфейса, в данном случае — включение eth0 :

Изменение статуса интерфейса, в данном случае — выключение eth0 :

Изменение статуса интерфейса, в данном случае — изменение MTU eth0 :

Изменение статуса интерфейса, в данном случае — перевод eth0 в режим приёма всех сетевых пакетов:

Добавление маршрута, используемого по умолчанию (для всех адресов), через локальный шлюз 192.168.1.254, который доступен на устройстве eth0 :

Добавление маршрута к 192.168.1.0/24 через шлюз на 192.168.1.254:

Добавление маршрута к 192.168.1.0/24, который доступен на устройстве eth0 :

Удаление маршрута для 192.168.1.0/24, для доступа к которому используется шлюз 192.168.1.254:

Вывод маршрута к IP 10.10.1.4:

Команда ifconfig

Команда mtr

Синтаксис команды выглядит так:

Если вызвать эту команду, указав лишь имя или адрес хоста — она выведет сведения о каждом шаге маршрутизации. В частности — имена хостов, сведения о времени их ответа и о потерянных пакетах:

А следующий вариант команды позволяет выводить и имена, и IP-адреса хостов:

Так можно задать количество ping-пакетов, которые нужно отправить системе, маршрут к которой подвергается анализу:

А так можно получить отчёт, содержащий результаты работы mtr :

Вот — ещё один вариант получения такого отчёта:

Для того чтобы принудительно использовать TCP вместо ICMP — надо поступить так:

А вот так можно использовать UDP вместо ICMP:

Вот — вариант команды, где задаётся максимальное количество шагов маршрутизации:

Так можно настроить размер пакета:

Для вывода результатов работы mtr в формате CSV используется такая команда:

Вот — команда для вывода результатов работы mtr в формате XML:

Команда tcpdump

Утилита tcpdump предназначена для захвата и анализа пакетов.

Установить её можно так:

Прежде чем приступить к захвату пакетов, нужно узнать о том, какой интерфейс может использовать эта команда. В данном случае нужно будет применить команду sudo или иметь root-доступ к системе.

Если нужно захватить трафик с интерфейса eth0 — этот процесс можно запустить такой командой:

▍ Захват трафика, идущего к некоему хосту и от него

Можно отфильтровать трафик и захватить лишь тот, который приходит от определённого хоста. Например, чтобы захватить пакеты, идущие от системы с адресом 8.8.8.8 и уходящие к этой же системе, можно воспользоваться такой командой:

Для захвата трафика, идущего с хоста 8.8.8.8, используется такая команда:

Для захвата трафика, уходящего на хост 8.8.8.8, применяется такая команда:

▍ Захват трафика, идущего в некую сеть и из неё

Трафик можно захватывать и ориентируясь на конкретную сеть. Делается это так:

Ещё можно поступить так:

Можно, кроме того, фильтровать трафик на основе его источника или места, в которое он идёт.

Вот — пример захвата трафика, отфильтрованного по его источнику (то есть — по той сети, откуда он приходит):

Вот — захват трафика с фильтрацией по сети, в которую он направляется:

▍ Захват трафика, поступающего на некий порт и выходящего из некоего порта

Вот пример захвата трафика только для DNS-порта по умолчанию (53):

Захват трафика для заданного порта:

Захват только HTTPS-трафика:

Захват трафика для всех портов кроме 80 и 25:

Команда netstat

Если в вашей системе netstat отсутствует, установить эту программу можно так:

Ей, в основном, пользуются, вызывая без параметров:

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

Можно вызывать netstat и с несколькими параметрами, перечислив их друг за другом:

Для вывода сведений обо всех портах и соединениях, вне зависимости от их состояния и от используемого протокола, применяется такая конструкция:

Для вывода сведений обо всех TCP-портах применяется такой вариант команды:

Если нужны данные по UDP-портам — утилиту вызывают так:

Список портов любых протоколов, ожидающих соединений, можно вывести так:

Список TCP-портов, ожидающих соединений, выводится так:

Так выводят список UDP-портов, ожидающих соединений:

А так — список UNIX-портов, ожидающих соединений:

Вот — команда для вывода статистических сведений по всем портам вне зависимости от протокола:

Так выводятся статистические сведения по TCP-портам:

Для просмотра списка TCP-соединений с указанием PID/имён программ используется такая команда:

Для того чтобы найти процесс, который использует порт с заданным номером, можно поступить так:

Команда nslookup

Команда nslookup используется для интерактивного «общения» с серверами доменных имён, находящимися в интернете. Она применяется для выполнения DNS-запросов и получения сведений о доменных именах или IP-адресах, а так же — для получения любых других специальных DNS-записей.

Рассмотрим распространённые примеры использования этой команды.

Получение A-записи домена:

Просмотр NS-записей домена:

Выяснение сведений о MX-записях, в которых указаны имена серверов, ответственных за работу с электронной почтой:

Обнаружение всех доступных DNS-записей домена:

Проверка использования конкретного DNS-сервера (в данном случае запрос производится к серверу имён ns1.nsexample.com ):

Проверка A-записи для выяснения IP-адресов домена — это распространённая практика, но иногда нужно проверить то, имеет ли IP-адрес отношение к некоему домену. Для этого нужно выполнить обратный просмотр DNS:

Команда ping

Команда ping — это инструмент, с помощью которого проверяют, на уровне IP, возможность связи одной TCP/IP-системы с другой. Делается это с использованием эхо-запросов протокола ICMP (Internet Control Message Protocol Echo Request). Программа фиксирует получение ответов на такие запросы и выводит сведения о них вместе с данными о времени их приёма-передачи. Ping — это основная команда, используемая в TCP/IP-сетях и применяемая для решения сетевых проблем, связанных с целостностью сети, с возможностью установления связи, с разрешением имён.

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

Обычно, если запустить команду ping в её простом виде, не передавая ей дополнительные параметры, Linux будет пинговать интересующий пользователя хост без ограничений по времени. Если нужно изначально ограничить количество ICMP-запросов, например — до 10, команду ping надо запустить так:

Или можно указать адрес интерфейса. В данном случае речь идёт об IP-адресе 10.233.201.45:

Применяя эту команду, можно указать и то, какую версию протокола IP использовать — v4 или v6:

В процессе работы с утилитой ping вы столкнётесь с различными результатами. В частности, это могут быть сообщения о нештатных ситуациях. Рассмотрим три таких ситуации.

▍ Destination Host Unreachable

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

▍ Request timed out

Если результат работы ping выглядит именно так — это значит, что локальная система не получила, в заданное время, эхо-ответов от целевой системы. По умолчанию используется время ожидания ответа в 1 секунду, но этот параметр можно настроить. Подобное может произойти по разным причинам. Чаще всего это — перегруженность сети, сбой ARP-запроса, отбрасывание пакетов фильтром или файрволом и прочее подобное.

▍ Unknown host/Ping Request Could Not Find Host

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

О хорошем качестве связи между исследуемыми системами говорит уровень потери пакетов в 0%, а так же — низкое значение времени получения ответа. При этом в каждом конкретном случае время получения ответа варьируется, так как оно зависит от разных параметров сети. В частности — от того, какая среда передачи данных используется в конкретной сети (витая пара, оптоволокно, радиоволны).

Итоги

Надеемся, вам пригодятся команды и примеры их использования, о которых мы сегодня рассказали. А если они вам и правда пригодились — возможно, вам будет интересно почитать продолжение этого материала.

Источник

Поделиться с друзьями
DOMA35.RU