Скрипт или программа для обнаружения хостов в сети

Объяснение:

Мне нужен сценарий или программа для обнаружения устройств в моей сети. Я думал, что, возможно, выполнив сканирование с помощью nmap мне нужно отобразить только имя устройства, что это такое, а также адрес ip address / mac на устройстве. Я хотел бы сделать сканирование в фоновом режиме и отображать только желаемую информацию в виде списка, я думаю.

Пример:

после запуска скрипта / программы:

Есть 2 хоста вверх

  • Хост 1: Lenovo-PC | 192.168.1.86 | 0A: 65: 3F: 2B: F1 | Windows
  • Хост 2: LG-3444 | 192.168.1.89 | A9: B2: C3: D4: E5 | LG Electronics

ect … вы понимаете.

PS: Кстати, это примеры не настоящие IP.

обзор

Поэтому я хочу отсканировать свою сеть для устройств / хостов и отобразить важную информацию о каждом из них в списке (используя скрипт bash, python или что-то, что может это сделать).

One Solution collect form web for “Скрипт или программа для обнаружения хостов в сети”

Это пример в perl. Код запускает nmap с форматом вывода XML и затем анализирует вывод с использованием библиотеки Nmap :: Parser. Вам необходимо предоставить сетевую маску в качестве аргумента. Поэтому, если вы сохраните этот скрипт в файле explore.pl , вы можете запустить его как

 explore.pl 192.168.1.0/24 

Вам нужно запустить этот скрипт как root, если вы хотите отображать MAC-адреса .

 #!/usr/bin/env perl use utf8; use strict; use warnings; use Nmap::Parser; sub safeGet($){ defined $_[0] ? $_[0] : "unknown"; } my $nmOutput=`/usr/bin/nmap -oX - -A @ARGV`; my $np = new Nmap::Parser; $np->parse($nmOutput); my $cnt=0; for my $host ($np->all_hosts()){ $cnt++; my $hostName = 'unknown'; if(@{$host->{hostnames}} > 0){ # $host->hostname returns "0" when no hostname was found. $hostName = $host->hostname; } print "Host $cnt: $hostName|" . safeGet($host->addr) ."|" . safeGet($host->mac_addr)."|" . safeGet($host->os_sig->name)."\n"; } с #!/usr/bin/env perl use utf8; use strict; use warnings; use Nmap::Parser; sub safeGet($){ defined $_[0] ? $_[0] : "unknown"; } my $nmOutput=`/usr/bin/nmap -oX - -A @ARGV`; my $np = new Nmap::Parser; $np->parse($nmOutput); my $cnt=0; for my $host ($np->all_hosts()){ $cnt++; my $hostName = 'unknown'; if(@{$host->{hostnames}} > 0){ # $host->hostname returns "0" when no hostname was found. $hostName = $host->hostname; } print "Host $cnt: $hostName|" . safeGet($host->addr) ."|" . safeGet($host->mac_addr)."|" . safeGet($host->os_sig->name)."\n"; } с #!/usr/bin/env perl use utf8; use strict; use warnings; use Nmap::Parser; sub safeGet($){ defined $_[0] ? $_[0] : "unknown"; } my $nmOutput=`/usr/bin/nmap -oX - -A @ARGV`; my $np = new Nmap::Parser; $np->parse($nmOutput); my $cnt=0; for my $host ($np->all_hosts()){ $cnt++; my $hostName = 'unknown'; if(@{$host->{hostnames}} > 0){ # $host->hostname returns "0" when no hostname was found. $hostName = $host->hostname; } print "Host $cnt: $hostName|" . safeGet($host->addr) ."|" . safeGet($host->mac_addr)."|" . safeGet($host->os_sig->name)."\n"; } 
  • Менеджер окон с поддержкой / расширением python
  • Ошибка установки pysqlite на FreeBSD в virtualenv
  • Сделать файл python доступным из любого места всеми пользователями
  • Как использовать специальную библиотеку для определенных программ?
  • Как скопировать строки разных файлов и вставить столбцы?
  • Отображать время работы cron в удобном для пользователя формате
  • Общая библиотека libgcrypt, найденная в системном python, но не в среде Anaconda
  • Cygwin DenyHosts-файл-файл-демона: нет такой ошибки файла или каталога
  • Не удалось установить SciPy
  • почему разрешение setgid на SO вызывает сбои?
  • Каков правильный способ управления несколькими версиями python?
  • Interesting Posts

    Создание частной сети для внутренних виртуальных машин

    Как заставить Minicom ждать подключения к несуществующему устройству?

    Реорганизация строк в текстовом файле

    Как перенаправить вывод из приложения командной строки (интерпретатор howie AIML) в другое приложение командной строки (espeak)?

    Как я могу запретить exec выполнять запуск скрипта?

    почему все сильно реагирует при передаче данных на USB-накопитель на 32 ГБ?

    Удалите пространство между вложенными скобками

    USB-сенсорный экран не работает с debian 3.8.13 (BeagleBone Black)

    Какие шрифты подходят для символов Unicode

    Мой Debian замораживает

    Как установить строку как столбец в unix

    vnc: невозможно получить приглашение оболочки с открытым приложением по умолчанию

    Почему загрузка медленная?

    Проблема с использованием wget для создания статического архива веб-сайта

    настроить python3-tk для установленного вручную python 3.4 debian wheezy

    Linux и Unix - лучшая ОС в мире.