HEDG Опубликовано 3 июля, 2009 · Жалоба Натолкнулся на проблему ограничения какого-то буфера у телнета. Задача : Подсоединиться через 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. Подскажите, почему это происходит ? Есть ли еще какие то клиенты телнет под FreeBSD ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mikevlz Опубликовано 3 июля, 2009 · Жалоба terminal len <0-512> Number of lines on screen (0 for no pausing) не оно? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
HEDG Опубликовано 3 июля, 2009 · Жалоба terminal-length <0-512> {} Установить длину строки терминала <0-512>. Эта команда конфигурации применяется ко всем интерфейсам VTY. Я думаю врядли, этот параметр повлияет. Пробовал, результата не дало :( Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mikevlz Опубликовано 4 июля, 2009 · Жалоба именно 0 пробовал ставить в начале сессии? оно должно переставать ждать ввода на многостраничных результатах Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
zlobar Опубликовано 4 июля, 2009 · Жалоба 4. С использованием expect #!/usr/local/bin/expect -fset timeout 30 spawn telnet 127.0.0.1 2605 match_max 10485760 expect "Password:" send "pass" send "terminal len 0" send "show ip bgp neighbors x.x.x.x received-routes\r" send "exit\r" expect eof У меня вылетает с "Connection closed by foreign host" на 268K. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ISQman Опубликовано 6 июля, 2009 (изменено) · Жалоба проблема решена: #!/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 Изменено 6 июля, 2009 пользователем ISQman Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
HEDG Опубликовано 7 июля, 2009 · Жалоба 2mikevlz ОГРОМНОЕ СПАСИБО!! Действительно помогло :)) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...