The OpenNET Project / Index page

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

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

"Пинговалка на Perl."  +/
Сообщение от timmych email(ok) on 10-Мрт-09, 10:57 
Задача следующая: нужно на  Perl написать скрипт, который пингует определенное количество хостов (список IP адресов находится либо в скрипте, либо в отдельном файле). Пинговатся хосты должны каждые 6 минут, отсылатся должны 100 пакетов. После пингования эти 100 значений  мне нужно сохранить  в базу данных sql для дальнейшей обработки. Поскольку с программированием раньше дела не имел, то мне составить даный скрипт тяжеловато....помогите плизз...

Ответить | Правка | Cообщить модератору

Оглавление

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


1. "Пинговалка на Perl."  +/
Сообщение от angra (ok) on 10-Мрт-09, 11:06 
Есть четыре варианта:
1. Берешь книжку, man, perldoc и пишешь сам. При столкновении с проблемами задаешь конкретные вопросы.
2. Указываешь контакты и сумму.  
3. Читаешь как правильно задавать вопросы, задаешь вопрос правильно и надеешься на то, что  кому-то будет скучно и он захочет потратить время на твою работу
4. Ждешь чуда и телепатов.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Пинговалка на Perl."  +/
Сообщение от mr_gfd on 10-Мрт-09, 13:55 
>Задача следующая: нужно на  Perl написать скрипт, который пингует определенное количество
>хостов (список IP адресов находится либо в скрипте, либо в отдельном
>файле). Пинговатся хосты должны каждые 6 минут, отсылатся должны 100 пакетов.
>После пингования эти 100 значений  мне нужно сохранить  в
>базу данных sql для дальнейшей обработки. Поскольку с программированием раньше дела
>не имел, то мне составить даный скрипт тяжеловато....помогите плизз...

Допили под потребности или смотри комментарий предидушего оратора

[12:53][berylhead][/home/mike]>cat pinger.pl
#!/usr/bin/perl -w
#
# Net pinging util by Mike v0.2
#
use strict;
use warnings;


# Обьявляем переменные

my $net='192.168.0.';
my ($addr, $mac, $status, $i, @stack, $ip);
our %ip_mac;

# Тут цикл (от 1 до 255, шаг - +1)

for ($i = 1; $i <= 255; $i++) {
        $addr="$net"."$i";
        #print "Trying $addr... ";
        # выполняем внешнюю команду (send 1 icmp packet, wait 1 second, find count of received packets)
        $status=`ping -Qq -c 1 -t 1 $addr | grep loss`;
        $status=~/(\d+)\s+packets.*\s+(\d+)\s+packets.*/;
        my $tx=$1;
        my $rx=$2;
        if ($tx eq $rx) {
                $mac=`arp -n $addr`;
                $mac=~s/.*at\s(.*)\son.*/$1/;
                chomp ($addr,$mac);
                $ip_mac{ $addr } = $mac;
        } else {
                #print "Seems down\n";
        }
}
print "Found:\n";
for $addr (sort keys %ip_mac) {
    print "$addr : $ip_mac{$addr}\n";
}


#while ( my ($addr, $mac) = each(%ip_mac) ) {
#        print "$addr => $mac\n";
#}

exit 0;

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Пинговалка на Perl."  +/
Сообщение от timmych email(ok) on 10-Мрт-09, 14:02 

>
>Допили под потребности или смотри комментарий предидушего оратора
>

Спасибо!!!

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Пинговалка на Perl."  +/
Сообщение от maximka email(??) on 30-Сен-13, 18:05 
>>
>>Допили под потребности или смотри комментарий предидушего оратора
>>
> Спасибо!!!

http://dns-ip.ru/Personal/Cabinet юзаю этот сервис

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

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

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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