Ограничения telnet клиентов

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
HEDG_SS
сержант
Сообщения: 198
Зарегистрирован: 2008-11-22 20:37:07

Ограничения telnet клиентов

Непрочитанное сообщение HEDG_SS » 2009-07-03 11:54:44

была тема
Натолкнулся на проблему ограничения какого-то буфера у телнета.
Задача : Подсоединиться через telnet к quagga 0.99.12 на FreeBSD 7.0 , получить список анонсируемых сетей от одного из нейборов.


1. При использовании NET::Telnet ограничение буфера в 64К, дальше вылетает ошибка

Код: Выделить всё

Connection closed by foreign host.
2. При конекте через телнет при помощи команды

Код: Выделить всё

( sleep 2 ; echo "pass" ; sleep 2 ; echo "show ip bgp neighbors x.x.x.x received-routes" ; sleep 10 ) | telnet 127.0.0.1 2605
Вылетает по ошибке

Код: Выделить всё

Connection closed by foreign host
Повисает ровно на той же строчке, т.е ограничение в теже 64К

3. При выполнении команд в ручную, телнет отрабатывает, но там идет постраничный вывод (Т.е. вывод такой же, как с использованием "| more").
Опять же вопрос почему отрабатывает по разному команда и когда этоже делаешь руками пошагово ?

4. С использованием expect

Код: Выделить всё

#!/usr/local/bin/expect -f
set timeout 30
spawn telnet 127.0.0.1 2605
match_max 10485760
expect "Password:"
send "pass"
send "show ip bgp neighbors x.x.x.x received-routes\r"
send "exit\r"
expect eof
Отрабатывает и вывод инфы на 128К
Ошибка вылета та же

Код: Выделить всё

Connection closed by foreign host.
Подскажите, почему это происходит ? :st: :st: :st:
Есть ли еще какие то клиенты телнет под FreeBSD ?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

olexande
рядовой
Сообщения: 25
Зарегистрирован: 2009-02-16 14:14:21

Re: Ограничения telnet клиентов

Непрочитанное сообщение olexande » 2009-07-03 13:32:52

перенаправить результаты в отдельный файл и после уже этот файл построчно читать?

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Ограничения telnet клиентов

Непрочитанное сообщение terminus » 2009-07-03 13:57:31

Есть ли еще какие то клиенты телнет под FreeBSD ?
nc ;-)
http://www.freebsd.org/cgi/man.cgi?quer ... ormat=html

Код: Выделить всё

nc hostname 23
тока это экстрим
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

HEDG_SS
сержант
Сообщения: 198
Зарегистрирован: 2008-11-22 20:37:07

Re: Ограничения telnet клиентов

Непрочитанное сообщение HEDG_SS » 2009-07-03 14:47:48

olexande писал(а):перенаправить результаты в отдельный файл и после уже этот файл построчно читать?
В скрипте не получается. Запись идет только данных до ошибки.

P.S. использовал утилиту tee и сделал все действия вручную. Получил сохраненный файл. Это временное решение, т.к. нужно сделать скрипт, которй отрабатывал б автоматически в кроне...

olexande
рядовой
Сообщения: 25
Зарегистрирован: 2009-02-16 14:14:21

Re: Ограничения telnet клиентов

Непрочитанное сообщение olexande » 2009-07-04 0:30:00

Не совсем понимаю что ты делаешь ...

Как я понял - пытаешься соединиться по telnet и запустить команду выполнение, выводящую очень большой поток данных.
Результаты через ">>" без вывода на экран перенаправлять пробовал? Или тоже буфер переполняется?

А если запускать (вызывать) отдельным скриптом данную операцию и скриптом результат писать в файл не пробовал?..

HEDG_SS
сержант
Сообщения: 198
Зарегистрирован: 2008-11-22 20:37:07

Re: Ограничения telnet клиентов

Непрочитанное сообщение HEDG_SS » 2009-07-04 11:17:20

olexande писал(а):Не совсем понимаю что ты делаешь ...

Как я понял - пытаешься соединиться по telnet и запустить команду выполнение, выводящую очень большой поток данных.
Результаты через ">>" без вывода на экран перенаправлять пробовал? Или тоже буфер переполняется?

А если запускать (вызывать) отдельным скриптом данную операцию и скриптом результат писать в файл не пробовал?..
Вы поняли абсолютно правильно .
Насчет перенаправления вывода, это результата не даст, т.к. поток данных прерывается и соответственно не все данные извлекаются :(

Код: Выделить всё

# ( sleep 2 ; echo "pass" ; sleep 2 ; echo "show ip bgp neighbors x.x.x.x received-routes" ; sleep 10 ) | telnet 127.0.0.1 2605 >> /nt.log
Connection closed by foreign host.


Кстати вопрос: Почему при выполнении набора команд вручную, автоматически включается вывод с использованием more, а в скрипте нет ? Как его включить в скрипте (надеюсь поможет...) ?

Аватара пользователя
ISQman
ефрейтор
Сообщения: 55
Зарегистрирован: 2009-02-26 18:42:03
Контактная информация:

Re: Ограничения telnet клиентов

Непрочитанное сообщение ISQman » 2009-07-06 11:03:13

проблема решена:

Код: Выделить всё

#!/usr/local/bin/expect -f                                                      
set timeout 30                                                                  
spawn telnet 127.0.0.1 2605                                                     
match_max 10485760                                                              
expect "Password:"                                                              
send "pass\r"                                           
send "terminal len 0\r"                                                         
send "show ip bgp neighbors ххх.х.хх.х received-routes\r"                     
expect "Total*"                                                                 
send "exit\r"                                                                   
expect eof
|"""""""""""""""""| |\
|Холодное пиво! ||""\__,
|_____________ |||_|__|)
*(@)|(@)"""*******(@)"

HEDG_SS
сержант
Сообщения: 198
Зарегистрирован: 2008-11-22 20:37:07

Re: Ограничения telnet клиентов

Непрочитанное сообщение HEDG_SS » 2009-07-07 12:20:19

Все всем СПАСИБО, проблему решили :Yahoo!: :Yahoo!: :Yahoo!: !!!