Социальные сети

По просьбе [info]casamusa  выкладываю скриптец по сбору маков с коммутаторов посредством SNMP с записью в файл.
Перебор коммутаторов идет в простом цикле, у меня сейчас используется выборка ip из мускула, кому нужно, тот думаю и сам допишет, если что могу наваять. Скрипт полностью рабочий. Пример лога:

192.168.4.36 00:02:b3:8b:13:cb vlan 129 port 25
192.168.4.36 00:13:8f:30:34:09 vlan 129 port 26
192.168.4.36 00:13:d4:44:da:13 vlan 129 port 25
192.168.4.36 00:14:04:15:1c:51 vlan 129 port 26
192.168.4.36 00:15:58:8e:ab:7a vlan 129 port 26
192.168.4.36 00:15:f2:d9:08:39 vlan 129 port 3

Думаю не сложно догадаться что и к чему [ip коммутатора] [mac хоста] [номер vlan'а] [порт]

Опять же, желающие могут прикрутить запись не в файл, а в базу. Фантазией вы не ограничены.

Сам скрипт:

#!/usr/bin/perl -w
#################################################
# Скрипт сбора arp таблицы комутатора D-link
# с учетом портов и vlan посредством SNMP
#################################################

use vars '$mac';

open (F,">>log.txt");
# Проверяем статус комутатора посредством пингования
for($i=0; $i <= 14; $i++)
{
for($j=2; $j <= 254; $j++)
{
$ip = "192.168.$i.$j";
$status = `ping -c 1 -w 1 $ip | grep "bytes from"`;
if ($status eq '') {print(F "$ip Fail\n")}
else {snmp_arp("$ip")}
}
}
close (F);

# Функция сбора arp таблицы с комутатора посредством SNMP
sub snmp_arp {
#----------------------------------------------------------------------------
my $ipsw = $_[0];
open (SNMP,"snmpwalk -On -v2c -c public $ipsw 1.3.6.1.2.1.17.7.1.2.2.1.2 |");
while(<SNMP>)
{
unless ($_ eq '')
{
chomp($_);
$_ = ~/\S+\.17\.7\.1\.2\.2\.1\.2\.(\d+)\.(\S+)\s\=\s\S+\s(\d+)/;
@dec = (split /\./, $2);
d2h(@dec);
print (F "$ipsw $mac vlan $1 port $3\n");
}
}
close (SNMP);
}

# Функция перевода из десятичного формата в шестнадцатеричный
sub d2h {
#---------------------------------------------------------------------------
my @HW;
foreach my $decimal (@_)
{
my $oktet = sprintf("%lx", $decimal); #переводим из десятичного вида в шестнадцатеричный
#дополняем нулями соответственно
if ($oktet eq 0) {push (@HW,'00');}
elsif (length($oktet)<2)
{
$oktet='0'.$oktet;
push (@HW, $oktet);
}
else {push (@HW, $oktet);}
}
$mac = join(':',@HW);
}

#-------------- END :) -----------------------------------------------------

Это легкий набросок, так сказать очередная ступень эволюции. На данный момент опрос по ismp происходит с помощью модуля Net::Ping. Но это уже другая история. Есть интерес - пишите, буду делиться плюшками. Я не жадный ))))




























































Вам это будет интересно!

  • Любопытная статистика…..
  • Удручающая статистика…
  • Статистика использования браузеров с января по май 2011
  • Статистика использования браузеров с мая по август 2011
  • Статистика, вопреки заблуждениям, бывает точным знанием


  • Последние новости


    Шаг 5. Выбираем фирменное наименование организации

    Если вы собираетесь регистрировать новое юридическое лицо, то перед вами неизбежно встают необходимость выбора его названия и ряд сопутствующих вопросов. Следует ли проверять выбранное наименование организации на уникальность перед подачей документов на регистрацию? Можно ли зарегистрировать компанию с таким же наименованием, как и у другой, уже существующей орган...
    Читать далее »

    Шаг 4. Выбор системы налогообложения

    Действующее налоговое законодательство позволяет налогоплательщику в некоторых случаях значительно уменьшить сумму уплачиваемых налогов путем грамотного выбора режима налогообложения. Выделяют общий режим налогообложения и специальные налоговые режимы, которые следует отличать от льготных режимов. При применении общего режима налогообложения налог...
    Читать далее »

    Аренда помещений

    Самым тесным образом с фактическим адресом организации связана Аренда Ею помещений, необходимых для налаживания выбранных видов деятельности. Для деятельности любой организации необходимо помещение. Однако недвижимость стоит сейчас очень дорого, и лишь немногие организации в состоянии приобрести помещение в собственность. В связи с этим значительная част...
    Читать далее »

    Шаг 3. Выбираем место нахождения организации

    МЕСТО НАХОЖДЕНИЯ ОРГАНИЗАЦИИ, ЕЕ ЮРИДИЧЕСКИЙ, ФАКТИЧЕСКИЙ И ПОЧТОВЫЙ АДРЕСА В ГК РФ приведено понятие «место нахождения юридического лица» – так называемый юридический адрес, официально зарегистрированный в ЕГРЮЛ. Однако юридическое лицо может располагаться и по другому адресу – фактическому. В гражданском законодательстве не содержит...
    Читать далее »

    Карточка

    С образцами подписей и оттиска печати ...
    Читать далее »

    Форма

    Документа, подтверждающего наличие лицензии Приложение 26 СЕРТИФИКАТ СООТВЕТСТВИЯ ...
    Читать далее »

    Уведомление

    О регистрации юридического лица в территориальном органе Пенсионного фонда Российской Федерации по месту нахождения На территории Российской Федерации Приложение 22 Свидетельство О регистрации страхователя в территориальном фонде Обязательного медицинского страхования При обязательном мед...
    Читать далее »