The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Сканирование сети по поиску оборудования"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Маршрутизаторы CISCO и др. оборудование. (Public)
Изначальное сообщение [ Отслеживать ]

"Сканирование сети по поиску оборудования"  +/
Сообщение от qwer email(ok) on 24-Ноя-09, 16:00 
Добрый день!
Кто нибудь сталкивался с такой ситуацией. В нашей организации внутренняя сеть типа X.X.0.0/16. Сеть многоуровневая, есть территориально удаленные резервный и основной вычислительные комплексы.
Оборудования в сети сами понимаете, не мало. Есть задача просканировать все сеть с маской /16 на поиск оборудования. Пока интересует только Cisco.
На всех железках есть SNMP comunity на чтение.
Меня интересует сл. информация. модель, серийный номер, версия IOS. Можно ли такуб информацию получить по SNMP, и какой программой (можно NIX или Windows).
Пробовал NetSNMP, но там не всю инфу мне показывает.
Может кто сталкивался с чем-то подобным.
Конечно все оборудование я знаю где стоит, и есть мониторинг всего с помощью WhatsUP, но тут надо будет заходит в каждое оборудование и выполнять команду sh ver. Кол-во оборудования оставляет желать лучшего!
Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Сканирование сети по поиску оборудования"  +/
Сообщение от Pingvinych on 24-Ноя-09, 16:08 
>[оверквотинг удален]
>с маской /16 на поиск оборудования. Пока интересует только Cisco.
>На всех железках есть SNMP comunity на чтение.
>Меня интересует сл. информация. модель, серийный номер, версия IOS. Можно ли такуб
>информацию получить по SNMP, и какой программой (можно NIX или Windows).
>
>Пробовал NetSNMP, но там не всю инфу мне показывает.
>Может кто сталкивался с чем-то подобным.
>Конечно все оборудование я знаю где стоит, и есть мониторинг всего с
>помощью WhatsUP, но тут надо будет заходит в каждое оборудование и
>выполнять команду sh ver. Кол-во оборудования оставляет желать лучшего!

Ситуация возникала. Для решения писался скрипт на перле, который по ssh коннектился к девайсам, собирал нужную инфу и парсил ее. Был еще вариант. Есть пакет, называется rancid. Изначально сделан для бекапирования и фиксирования изменений в конфигах. Там скрипты написаны на Expect. Механизм работы - подключения по ssh к устройству, ввод необходимых комманд и их парсинг. Я точно уже не помню, но эти скрипты вроде тоже удалось приспособить под сбор серийников, моделей и версий.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Сканирование сети по поиску оборудования"  +/
Сообщение от qwer email(ok) on 24-Ноя-09, 16:17 
Так то у меня была такая идея. Выгрузить всю базу с WhatsUP по DNS именам и IP в текстовый файл, потом на перле написать скрипт, который по текстовому файлу пробежит, зайдет в каждое железо по rsh и выполнит команду sh ver. Результат запишет в текстовый файл, например по <днс имя>.txt. Но нам же сисадминам хочется простого решения.
Вот, думал может кто что нить подскажет. А так думаю придется писать скрипт.
Спасибо за совет!
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Сканирование сети по поиску оборудования"  +/
Сообщение от Valery12 (ok) on 25-Ноя-09, 16:10 
>Так то у меня была такая идея. Выгрузить всю базу с WhatsUP по DNS именам и IP в текстовый файл, потом на перле написать скрипт, который по текстовому файлу пробежит, зайдет в каждое железо по rsh и выполнит команду sh ver. Результат запишет в текстовый файл, например по <днс имя>.txt. Но нам же сисадминам хочется простого решения.
>Вот, думал может кто что нить подскажет. А так думаю придется писать
>скрипт.
>Спасибо за совет!

Если нет предубеждения перед пиратским софтом, возьмите SolarWinds Engineer's toolset, там готовое решение.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Сканирование сети по поиску оборудования"  +/
Сообщение от qwer email(ok) on 25-Ноя-09, 17:17 
Спасибо конечно, но я уже на Perl написал скрипт. Если кому надо могу выложить!

>>Так то у меня была такая идея. Выгрузить всю базу с WhatsUP по DNS именам и IP в текстовый файл, потом на перле написать скрипт, который по текстовому файлу пробежит, зайдет в каждое железо по rsh и выполнит команду sh ver. Результат запишет в текстовый файл, например по <днс имя>.txt. Но нам же сисадминам хочется простого решения.
>>Вот, думал может кто что нить подскажет. А так думаю придется писать
>>скрипт.
>>Спасибо за совет!
>
>Если нет предубеждения перед пиратским софтом, возьмите SolarWinds Engineer's toolset, там готовое
>решение.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Сканирование сети по поиску оборудования"  +/
Сообщение от qwer email(ok) on 26-Ноя-09, 09:31 
Скрипт такой, правда используется библиотека 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);

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Сканирование сети по поиску оборудования"  +/
Сообщение от Аноним (??) on 28-Ноя-09, 17:06 
Поищите на xgu, там была пара статей по CDP - это как раз то, что вам нужно.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Сканирование сети по поиску оборудования"  +/
Сообщение от qwer email(??) on 28-Ноя-09, 18:40 
>Поищите на xgu, там была пара статей по CDP - это как
>раз то, что вам нужно.

Спасибо, пока нет необходимости. Я уже решил данную задачу.
Кусок от скрипта я выложил где он берет серийные номера оборудования. Есть также готовый скрипт который берет все (серийник, версию ИОСа, наименование оборудования). Только она написана под SUSE 11 (Используется библиотека NET::SSH::Perl)
Также если статья написана для использования протокола CDP, то в моем случае он не поможет, так как на всех железках CDP выключен (служба безопасности не разрешает его включать)!


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру