Jump to content

Recommended Posts

Posted

Натолкнулся на проблему ограничения какого-то буфера у телнета.

Задача : Подсоединиться через 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 ?

Posted

terminal-length <0-512> {}

Установить длину строки терминала <0-512>. Эта команда конфигурации

применяется ко всем интерфейсам VTY.

 

Я думаю врядли, этот параметр повлияет.

Пробовал, результата не дало :(

Posted

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 "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.

Posted (edited)

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

#!/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

Edited by ISQman

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.