Сканирование сети по поиску оборудования, qwer, 24-Ноя-09, 16:00 [смотреть все]Добрый день! Кто нибудь сталкивался с такой ситуацией. В нашей организации внутренняя сеть типа X.X.0.0/16. Сеть многоуровневая, есть территориально удаленные резервный и основной вычислительные комплексы. Оборудования в сети сами понимаете, не мало. Есть задача просканировать все сеть с маской /16 на поиск оборудования. Пока интересует только Cisco. На всех железках есть SNMP comunity на чтение. Меня интересует сл. информация. модель, серийный номер, версия IOS. Можно ли такуб информацию получить по SNMP, и какой программой (можно NIX или Windows). Пробовал NetSNMP, но там не всю инфу мне показывает. Может кто сталкивался с чем-то подобным. Конечно все оборудование я знаю где стоит, и есть мониторинг всего с помощью WhatsUP, но тут надо будет заходит в каждое оборудование и выполнять команду sh ver. Кол-во оборудования оставляет желать лучшего!
|
- Сканирование сети по поиску оборудования, Pingvinych, 16:08 , 24-Ноя-09 (1)
>[оверквотинг удален] >с маской /16 на поиск оборудования. Пока интересует только Cisco. >На всех железках есть SNMP comunity на чтение. >Меня интересует сл. информация. модель, серийный номер, версия IOS. Можно ли такуб >информацию получить по SNMP, и какой программой (можно NIX или Windows). > >Пробовал NetSNMP, но там не всю инфу мне показывает. >Может кто сталкивался с чем-то подобным. >Конечно все оборудование я знаю где стоит, и есть мониторинг всего с >помощью WhatsUP, но тут надо будет заходит в каждое оборудование и >выполнять команду sh ver. Кол-во оборудования оставляет желать лучшего! Ситуация возникала. Для решения писался скрипт на перле, который по ssh коннектился к девайсам, собирал нужную инфу и парсил ее. Был еще вариант. Есть пакет, называется rancid. Изначально сделан для бекапирования и фиксирования изменений в конфигах. Там скрипты написаны на Expect. Механизм работы - подключения по ssh к устройству, ввод необходимых комманд и их парсинг. Я точно уже не помню, но эти скрипты вроде тоже удалось приспособить под сбор серийников, моделей и версий.
- Сканирование сети по поиску оборудования, qwer, 16:17 , 24-Ноя-09 (2)
Так то у меня была такая идея. Выгрузить всю базу с WhatsUP по DNS именам и IP в текстовый файл, потом на перле написать скрипт, который по текстовому файлу пробежит, зайдет в каждое железо по rsh и выполнит команду sh ver. Результат запишет в текстовый файл, например по <днс имя>.txt. Но нам же сисадминам хочется простого решения. Вот, думал может кто что нить подскажет. А так думаю придется писать скрипт. Спасибо за совет!
- Сканирование сети по поиску оборудования, Valery12, 16:10 , 25-Ноя-09 (3)
>Так то у меня была такая идея. Выгрузить всю базу с WhatsUP по DNS именам и IP в текстовый файл, потом на перле написать скрипт, который по текстовому файлу пробежит, зайдет в каждое железо по rsh и выполнит команду sh ver. Результат запишет в текстовый файл, например по <днс имя>.txt. Но нам же сисадминам хочется простого решения. >Вот, думал может кто что нить подскажет. А так думаю придется писать >скрипт. >Спасибо за совет! Если нет предубеждения перед пиратским софтом, возьмите SolarWinds Engineer's toolset, там готовое решение.
- Сканирование сети по поиску оборудования, qwer, 17:17 , 25-Ноя-09 (4)
Спасибо конечно, но я уже на Perl написал скрипт. Если кому надо могу выложить!>>Так то у меня была такая идея. Выгрузить всю базу с WhatsUP по DNS именам и IP в текстовый файл, потом на перле написать скрипт, который по текстовому файлу пробежит, зайдет в каждое железо по rsh и выполнит команду sh ver. Результат запишет в текстовый файл, например по <днс имя>.txt. Но нам же сисадминам хочется простого решения. >>Вот, думал может кто что нить подскажет. А так думаю придется писать >>скрипт. >>Спасибо за совет! > >Если нет предубеждения перед пиратским софтом, возьмите SolarWinds Engineer's toolset, там готовое >решение.
- Сканирование сети по поиску оборудования, qwer, 09:31 , 26-Ноя-09 (5)
Скрипт такой, правда используется библиотека Net::Telnet. С Net::SSH::Perl есть проблемы, он под виндой не работает, под *nix пожалуйста. Формат входного файла такой Название\tDNS имя\tIP address\tТип оборудования\tLocation Cisco 3745 aaa.cisco.com 192.168.1.1 Router г. Москва Catalyst 6513 camp01.cisco.com 192.168.0.12 Switch г. МоскваСобственное сам скрипт: #!c:Perl/bin/perl use Net::Telnet; use Net::Ping; use Term::ReadKey; #------------------------------------------------ $out_f='result.txt'; if ($#ARGV != 0){ die "Usage: net-telnet.pl <input textfile with <tab> delimiter>\n"; } $inp_f=$ARGV[0]; #---------------------------------------------------------------- open(INP,"<$inp_f") || die "Error opening input file\n"; open(OUT,">$out_f") || die "Error opening output file\n"; #------------------------------------------------ $cmd='sh ver | i Proc'; #Запрос пользователя print "login as: "; my $username = ReadLine; chomp $username; print 'password: '; ReadMode 'noecho'; my $password = ReadLine; ReadMode 'normal'; chomp $password; print "\r\n"; #------------------------------------------------ while (<INP>) { ($sDisplayName,$sNetworkName,$sNetworkAddress,$sName,$sValue)=split("\t",$_); $p = Net::Ping->new('icmp'); if ($p->ping($sNetworkAddress,5)){ print "Connecting to $sNetworkName\n"; $conn = new Net::Telnet (Timeout => 5,binmode=>1); $conn->open($sNetworkAddress); $conn->waitfor('/Username.*$/'); $conn->print($username); #print ($conn->get); $conn->waitfor('/Password.*$/'); $conn->print($password); #print ($conn->get); if ($conn){ $conn->print($cmd); $conn->getline; $conn->getline; $conn->getline; $ser_text=$conn->get; $ser_text=~/.*?Processor board ID\s([A-Z0-9]+).*/; $ser=$1; chop($ser); print OUT "$sDisplayName\t$sNetworkName\t$sNetworkAddress\t$ser\t$sName\t$sValue"; } $conn->print('exit'); close $conn; } else{ print OUT "$sDisplayName\t$sNetworkName\t$sNetworkAddress\tNO READING\t$sName\t$sValue"; } $p->close(); } close(INP); close(OUT);
- Сканирование сети по поиску оборудования, Аноним, 17:06 , 28-Ноя-09 (6)
Поищите на xgu, там была пара статей по CDP - это как раз то, что вам нужно.
- Сканирование сети по поиску оборудования, qwer, 18:40 , 28-Ноя-09 (7)
>Поищите на xgu, там была пара статей по CDP - это как >раз то, что вам нужно. Спасибо, пока нет необходимости. Я уже решил данную задачу. Кусок от скрипта я выложил где он берет серийные номера оборудования. Есть также готовый скрипт который берет все (серийник, версию ИОСа, наименование оборудования). Только она написана под SUSE 11 (Используется библиотека NET::SSH::Perl) Также если статья написана для использования протокола CDP, то в моем случае он не поможет, так как на всех железках CDP выключен (служба безопасности не разрешает его включать)!
|