Автор Тема: скан на открытый порт и время жизни сокета  (Прочитано 2424 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн okoks

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 1
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
задача такая

есть 20 шт IP адресов
нужно проверить как можно БЫСТРО открыт ли на них 21 порт/FTP

имеется Active Perl 5.8.8

проблема:

при закрытом порте соединение сокета повисает (1-8 сек на 1 IP в зависимости от реализации скрипта)
при открытом порте обработка занимает доли секунды

20 закрытых IP = обработка 20 сек = это ОЧЕНЬ долго

как задать вручную время жизни соединения сокета?

пробовал команду Timeout => 10, а  также Timeout => .1
результат 1 и тот же

Оказалось, что Таймаут не работает, так как его обработка закомментирована в модуле IO::SOcket:Inet.pm

почему он закомментирован и как сделать, чтобы он работал,
 в инете ничего толкового не нашел

// снятие "#" в модуле ничего не дает

почему то все советуют делать это, через IO::Select

Отключение алгоритма буферизации
обработка через alarm
обработка через IO::Select

ничего не привело к желаемому

Прошу высказать Ваши мнения...
« Последнее редактирование: 15 Апреля 2007, 08:20:01 от okoks »

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28