The OpenNET Project / Index page

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

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

"Perl, Net::Ping, syn"  
Сообщение от JIP email(??) on 29-Апр-08, 17:08 
Разрабатывал сканер локалки - искал активные ftp-серверы. Скрипт корректно работал в winXP.
В GNU/Linux - этот скрипт показывает _все_ активные компы (те все включенные), а меня интересуют только хосты с включенным ftp-сервером. беда

<code>
use Net::Ping;

$p = Net::Ping->new( 'syn' );

$p->{'port_num'} = getservbyname( 'ftp', 'tcp' );

$p->ping( $host, 1 );

if ( ( $host, $rtt, $ip ) = $p->ack ){ print "$host\n" }
</code>

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

 Оглавление

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


1. "Perl, Net::Ping, syn"  
Сообщение от pheonix (ok) on 29-Апр-08, 18:57 
дак ты туда заломись вот так

#!/usr/bin/perl
  use Net::FTP;

    $hostname = $ARGV[0];
    $username = 'anonymous';
    $password = 'no@mail.ru';

    $ftp = Net::FTP->new($hostname, Debug => 0)
    or die"Can't connect $@";
#    $ftp->login($username, $password)
#    or die $ftp->message;
    $ftp->quit();

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

2. "Perl, Net::Ping, syn"  
Сообщение от JIP email(??) on 29-Апр-08, 20:02 
>дак ты туда заломись вот так
>

в этом случае всплывает проблема с таймаутом у виндового эктивперла - приходится долго ждать ответа если сервер оффлайн. еще можно сокет создавать - аналогичная проблема с таймаутом.

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

3. "Perl, Net::Ping, syn"  
Сообщение от pheonix (ok) on 29-Апр-08, 20:24 
>>дак ты туда заломись вот так
>>
>
>в этом случае всплывает проблема с таймаутом у виндового эктивперла - приходится
>долго ждать ответа если сервер оффлайн. еще можно сокет создавать -
>аналогичная проблема с таймаутом.

какие проблемы выставь Timeout в 3 секунды и не мучайся

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

6. "Perl, Net::Ping, syn"  
Сообщение от JIP email(??) on 30-Апр-08, 10:57 
>>>дак ты туда заломись вот так
>>>
>>
>>в этом случае всплывает проблема с таймаутом у виндового эктивперла - приходится
>>долго ждать ответа если сервер оффлайн. еще можно сокет создавать -
>>аналогичная проблема с таймаутом.
>
>какие проблемы выставь Timeout в 3 секунды и не мучайся

таймаут включал. этот функционал неработоспособен как для модуля Net::FTP так и для сокетов (эктивперл) - приходится ждать 10-15 секунд (возможно это дефолтный таймаут)


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

4. "Perl, Net::Ping, syn"  
Сообщение от anonymous (??) on 30-Апр-08, 02:10 
Может подойдёт лучше стандартное nmap -sT -p 21 192.168.25.0/24 ?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Perl, Net::Ping, syn"  
Сообщение от JIP email(??) on 30-Апр-08, 10:59 
>Может подойдёт лучше стандартное nmap -sT -p 21 192.168.25.0/24 ?

этот вариант был опробован и использовался некоторое время. отказался от него по причине плохой переносимости - юзеру прийдется ставить nmap и тд и тп

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

9. "Perl, Net::Ping, syn"  
Сообщение от phpcoder email(??) on 30-Апр-08, 12:39 
>>Может подойдёт лучше стандартное nmap -sT -p 21 192.168.25.0/24 ?
>
>этот вариант был опробован и использовался некоторое время. отказался от него по
>причине плохой переносимости - юзеру прийдется ставить nmap и тд и
>тп

Ну ActivePerl, тоже на в каждой Windows установлен и ставить его придётся пользователю.

P.S. И вообще тут "программирование под UNIX" вроде как..


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

10. "Perl, Net::Ping, syn"  
Сообщение от JIP email(??) on 30-Апр-08, 16:11 
>>>Может подойдёт лучше стандартное nmap -sT -p 21 192.168.25.0/24 ?
>>
>>этот вариант был опробован и использовался некоторое время. отказался от него по
>>причине плохой переносимости - юзеру прийдется ставить nmap и тд и
>>тп
>
>Ну ActivePerl, тоже на в каждой Windows установлен и ставить его придётся
>пользователю.
>
>P.S. И вообще тут "программирование под UNIX" вроде как..

написал многопоточный сканер с Net::Ping - вроде корректно работает. средств Perl'а оказалось достаточно :)


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

5. "Perl, Net::Ping, syn"  
Сообщение от NuINu (??) on 30-Апр-08, 09:40 
>[оверквотинг удален]
>use Net::Ping;
>
>$p = Net::Ping->new( 'syn' );
>
>$p->{'port_num'} = getservbyname( 'ftp', 'tcp' );
>
>$p->ping( $host, 1 );
>
>if ( ( $host, $rtt, $ip ) = $p->ack ){ print "$host\n" }
></code>

Добавь:
$p->service_check(1);
после конструктора

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

8. "Perl, Net::Ping, syn"  
Сообщение от JIP email(??) on 30-Апр-08, 11:17 
>[оверквотинг удален]
>>$p->{'port_num'} = getservbyname( 'ftp', 'tcp' );
>>
>>$p->ping( $host, 1 );
>>
>>if ( ( $host, $rtt, $ip ) = $p->ack ){ print "$host\n" }
>></code>
>
>Добавь:
>$p->service_check(1);
>после конструктора

вот теперь корректно работает. огромное спасибо. всетаки надо внимательно Description читать :(

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

11. "Perl, Net::Ping, syn"  
Сообщение от pheonix (ok) on 30-Апр-08, 18:43 
>[оверквотинг удален]
>>>
>>>if ( ( $host, $rtt, $ip ) = $p->ack ){ print "$host\n" }
>>></code>
>>
>>Добавь:
>>$p->service_check(1);
>>после конструктора
>
>вот теперь корректно работает. огромное спасибо. всетаки надо внимательно Description читать :(
>

у меня именно для этих же целей и прекрасно работает всё что написал я именно

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

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

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




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

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