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

Содержание
  1. Как получить список ip-адресов в локальной сети?
  2. Re: Как получить список ip-адресов в локальной сети?
  3. Re: Как получить список ip-адресов в локальной сети?
  4. Re: Как получить список ip-адресов в локальной сети?
  5. Re: Как получить список ip-адресов в локальной сети?
  6. Re: Как получить список ip-адресов в локальной сети?
  7. Re: Как получить список ip-адресов в локальной сети?
  8. Re: Как получить список ip-адресов в локальной сети?
  9. Re: Как получить список ip-адресов в локальной сети?
  10. Re: Как получить список ip-адресов в локальной сети?
  11. Показать список компьютеров в локальной сети в Linux
  12. 10 ответов 10
  13. Способ № 1.
  14. Способ № 2. Я знаю, что это работает, но я не могу сказать, если это правильный путь.
  15. Команда find в Linux – мощный инструмент сисадмина
  16. Поиск по имени
  17. Поиск по типу файла
  18. Поиск по размеру файла
  19. Единицы измерения файлов:
  20. Поиск пустых файлов и каталогов
  21. Поиск времени изменения
  22. Поиск по времени доступа
  23. Поиск по имени пользователя
  24. Поиск по набору разрешений
  25. Операторы
  26. Действия
  27. -delete
  28. Заключение

Как получить список ip-адресов в локальной сети?

Подскажите, пожалуйста, как получить список ip-адресов всех хостов локальной сети (192.168.0.ххх)?

В сети на всех компьютерах есть либо windows, либо linux+samba, поэтому я пробовал nmblookup ‘*’. Но в список не попадает более трети хостов. Оказалось, что это нормальное поведение, потому что nmblookup долго ответа не ждет и многие просто не успевают ответить.

Можно ли надежно получить список всех хостов?

Re: Как получить список ip-адресов в локальной сети?

nmap -sP -n 192.168.0.0/24
nmap -sP -n 192.168.0.0/24|grep «^Host»|cut -f 2 -d ‘ ‘

Re: Как получить список ip-адресов в локальной сети?

Спасибо за помошь. Но nmap тоже не все выводит. У меня нашлось только 13 хостов, в то время как nmblookup нашел 15, а всего их 23.

Может быть можно timeout указать какой-нибудь?

$ nmap -sP -n 192.168.0.0/24|grep «^Host»|cut -f 2 -d ‘ ‘|wc 13 13 172 $ nmblookup ‘*’|grep » «|wc 15 30 288

Re: Как получить список ip-адресов в локальной сети?

Сорри, форматирование подкачало:

$ nmap -sP -n 192.168.0.0/24|grep «^Host»|cut -f 2 -d ‘ ‘|wc

$ nmblookup ‘*’|grep » «|wc

Re: Как получить список ip-адресов в локальной сети?

Re: Как получить список ip-адресов в локальной сети?

nmap -PR ‘192.168.0.*’

Re: Как получить список ip-адресов в локальной сети?

Re: Как получить список ip-адресов в локальной сети?

ICMP — не выход. я например всегда запрещаю кернелу отвечать на реквесты.
может быть s/ping/arping/ попробовать?

Re: Как получить список ip-адресов в локальной сети?

Re: Как получить список ip-адресов в локальной сети?

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

Источник

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

Я веб-разработчик, который пытается лучше справиться с безопасностью. Я пытаюсь найти способ (в дистрибутивах на основе Linux/Debian) перечислить все компьютеры в той же локальной сети, где находится мой нетбук. Я попробовал «arp -n», но я не чувствую, что это полный список, так как мой iPhone находится на том же Wi-Fi-маршрутизаторе, что и мой нетбук, и это не помогло. Есть ли какой-нибудь лучший способ получить полный список машин, которые используют один и тот же шлюз?

10 ответов 10

Получите Nmap. Это программа Trinity, используемая в The Matrix, и вы можете выполнить сканирование, чтобы найти все устройства, которые подключены к вашей локальной сети, и многое другое.

Читайте также:  Express vpn cracked windows

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

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

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

Используйте inet addr и Mask для определения сетевого адреса в нотации CIDR, подробнее о CIDR здесь. Адрес:

Запустите nmap, используя параметр -sP, который будет сканировать только после проверки, подключен ли хост:

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

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

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

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

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

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

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

ip neigh и hosts Не требуется nmap / не требуется sudo.

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

(или просто arp . Я не видел этого раньше)

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

Я не нашел существующие ответы достаточно удовлетворительными, поэтому я решил попробовать. В конце концов, FAQ предлагает предоставить контекст для ссылок.

nmap отлично, если немного запутать в использовании. Вот кое-что, что я запускаю, чтобы обнаружить локальные сетевые устройства, которые в основном можно копировать и вставлять. nmap -sP (или nmap -sn ) сканирует с помощью команды ping Существуют и другие варианты «обнаружения хоста», например, с помощью nmap -sL или nmap -Pn .

Способ № 1.

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

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

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

  • В предыдущих выпусках Nmap -sn был известен как -sP

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

Hunt — это инструмент командной строки, способный создавать список машин, передаваемых по сети для получения информации. Он использует данные TCP, UDP, ICMP и ARP для создания списка активных MAC-адресов в сети. Это пассивный инструмент, который работает, слушая по проводам.

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

nmap -sL 192.168.0.* перечислит все IP-адреса в подсети и отметит те, которые имеют имя:

Поскольку все интересные записи начинаются с круглых скобок ( и цифры 1 , мы фильтруем их с помощью | grep \(1 (для удаления скобок требуется обратный слеш))

Читайте также:  Git клиент для linux

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

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

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

2b. без awk

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

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

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

  • seq 254 для создания всех чисел от 1 до 254 (для всех чисел от 100 до 150: seq 100 150 )
  • xargs называет ping и заменяет «IP» -iIP с числом seq uence из стандартного ввода, так 192.168.2.Изменения IP к 192.168.2.1 для первого числа seq -P указывает количество одновременных ping процессов xargs должны начать, я выбрать такое же количество , как адреса +1 (= 254) — им интересно.
  • ping с ip-адресом, измененным xargs ( 192.168.2.IP ) и пинговать только один раз ( -c1 ); Вы должны использовать тот же идентификатор, который указан для xargs, в аргументе -i в этом случае IP
  • grep time= удалить каждую строку, содержащую лишнюю информацию, нас интересуют только ответы, которые предоставляют время туда-обратно (= получил ответ)
  • arp -a для отображения правильных пар имен (ip)

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

Источник

Команда find в Linux – мощный инструмент сисадмина

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

Команда find – это невероятно мощный инструмент, позволяющий искать файлы не только по названию, но и по:

  • Дате добавления.
  • Содержимому.
  • Регулярным выражениям.

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

  • Управления дисковым пространством.
  • Бэкапа.
  • Различных операций с файлами.

Команда find в Linux производит поиск файлов и папок на основе заданных вами критериев и позволяет выполнять действия с результатами поиска.

Синтаксис команды find:

  • directory-to-search (каталог поиска) – это отправной каталог, с которой find начинает поиск файлов по всем подкаталогам, которые находятся внутри. Если не указать путь, тогда поиск начнется в текущем каталоге;
  • criteria (критерий) – критерий, по которым нужно искать файлы;
  • action (действие) – что делать с каждым найденным файлом, соответствующим критериям.

Поиск по имени

Следующая команда ищет файл s.txt в текущем каталоге:

  • . (точка) – файл относится к нынешнему каталогу
  • -name – критерии по которым осуществляется поиск. В данном случае поиск по названию файла.

В данном случае критерий -name учитывает только символы нижнего регистра и файл S.txt не появиться в результатах поиска. Чтобы убрать чувствительность к регистру необходимо использовать –iname.

Для поиска всех изображений c расширением .png нужно использовать шаблон подстановки *.png:

Можно использовать название каталога для поиска. Например, чтобы с помощью команды find найти все png изображения в каталоге home:

Если выдает слишком много ошибок в отказе разрешения, тогда можно добавить в конец команды – 2> /dev/null. Таким образом сообщения об ошибках будут перенаправляться по пути dev/null, что обеспечит более чистую выдачу.

Поиск по типу файла

Критерий -type позволяет искать файлы по типу, которые бывают следующих видов:

  • f – простые файлы;
  • d – каталоги;
  • l – символические ссылки;
  • b – блочные устройства (dev);
  • c – символьные устройства (dev);
  • p – именованные каналы;
  • s – сокеты;
Читайте также:  Загрузчик grub не видит windows

Например, указав критерий -type d будут перечислены только каталоги:

Поиск по размеру файла

Допустим, что вам необходимо найти все большие файлы. Для таких ситуаций подойдет критерий -size.

  • «+» — Поиск файлов больше заданного размера
  • «-» — Поиск файлов меньше заданного размера
  • Отсутствие знака означает, что размер файлов в поиске должен полностью совпадать.

В данном случае поиск выведет все файлы более 1 Гб (+1G).

Единицы измерения файлов:

Поиск пустых файлов и каталогов

Критерий -empty позволяет найти пустые файлы и каталоги.

Поиск времени изменения

Критерий -cmin позволяет искать файлы и каталоги по времени изменения. Для поиска всех файлов, измененных за последний час (менее 60 мин), нужно использовать -60:

Таким образом можно найти все файлы в текущем каталоге, которые были созданы или изменены в течение часа (менее 60 минут).

Для поиска файлов, которые наоборот были изменены в любое время кроме последнего часа необходимо использовать +60.

Поиск по времени доступа

Критерий -atime позволяет искать файлы по времени последнего доступа.

Таким образом можно найти файлы, к которым не обращались последние полгода (180 дней).

Поиск по имени пользователя

Опция –user username дает возможность поиска всех файлов и каталогов, принадлежащих конкретному пользователю:

Таким образом можно найти все файлы пользователя tisha в каталоге home, а 2>/dev/null сделает выдачу чистой без ошибок в отказе доступа.

Поиск по набору разрешений

Критерий -perm – ищет файлы по определенному набору разрешений.

Поиск файлов с разрешениями 777.

Операторы

Для объединения нескольких критериев в одну команду поиска можно применять операторы:

Например, чтобы найти файлы размером более 1 Гбайта пользователя tisha необходимо ввести следующую команду:

Если файлы могут принадлежать не только пользователю tisha, но и пользователю pokeristo, а также быть размером более 1 Гбайта.

Перед скобками нужно поставить обратный слеш «\».

Действия

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

  • -delete — Удаляет соответствующие результатам поиска файлы
  • -ls — Вывод более подробных результатов поиска с:
    • Размерами файлов.
    • Количеством inode.
  • -print Стоит по умолчанию, если не указать другое действие. Показывает полный путь к найденным файлам.
  • -exec Выполняет указанную команду в каждой строке результатов поиска.

-delete

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

Перед удалением лучше лишний раз себя подстраховать. Для этого можно запустить команду с действием по умолчанию -print.

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

  • command – это команда, которую вы желаете выполнить для результатов поиска. Например:
    • rm
    • mv
    • cp
  • <> – является результатами поиска.
  • \; — Команда заканчивается точкой с запятой после обратного слеша.

С помощью –exec можно написать альтернативу команде –delete и применить ее к результатам поиска:

Другой пример использования действия -exec:

Таким образом можно скопировать все .jpg изображения в каталог backups/fotos

Заключение

Команду find можно использовать для поиска:

  • Файлов по имени.
  • Дате последнего доступа.
  • Дате последнего изменения.
  • Имени пользователя (владельца файла).
  • Имени группы.
  • Размеру.
  • Разрешению.
  • Другим критериям.

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

  • Удаление.
  • Копирование.
  • Перемещение в другой каталог.

Команда find может сильно облегчить жизнь системному администратору, а лучший способ овладеть ей – больше практиковаться.

Источник

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