2015-06-16 11 views
0

В Lua, я скачал библиотеку LuaSocket, а затем пытаюсь:Как использовать сокеты в Lua для telnet?

  1. Подключение с помощью Telnet
  2. Отправить некоторые команды
  3. получить выход из команд для анализа позже
  4. близко телнет

Что я делаю неправильно с этим кодом, который не делает эту работу?

local socket = require("socket") 
conn = socket.tcp() 
conn:connect("IP Address",23) 
conn:send("password") 
conn:send("enable") 
conn:send("password2") ;; above was all login procedure 
conn:send("sh run interfaces ethernet 16") 
var1 = conn:receive('*l') 
print (var1) 

Я ожидал, что это даст мне первую строку кода распечатан на ВГ Ран интерфейсы Ethernet 16 команды, но все это я получаю 2 :) 2v SQRT :) SQRT < 3 ... То есть, четыре случайных символа, которые я не знаю, что они означают.

Любая помощь в отношении того, что я сделал не так, был бы очень благодарен, спасибо.

вот эти четыре символа: enter image description here

+0

'telnet' не является протоколом обычного текста. Какую строку вы получаете * после * этой строки? Что вы получаете, если вы «conn: получаете (« * a »)' в этот момент? –

+0

Обычно он зависает, когда я набираю conn: receive ("* a"), хотя я долго его не пускаю, и в этом пробеге есть много слов. Я попробую еще раз, дайте ему время и дайте знать. Как преобразовать символы в текст? –

+0

'' * a '' может зависать, поэтому попробуйте прочитать вторую строку и посмотреть, есть ли у вас там какие-либо данные. Вы не конвертируете его. Он не закодирован. Это просто не только текст. В протоколе telnet есть элементы управления без текста. –

ответ

0

Update: Для всех, кто был любопытным мне нужно \ г, чтобы сделать команды идут на отдельных строках, и я должен был поставить время ожидания между каждым из команд так система будет иметь время для загрузки между ними. Затем он работал отлично.

Смежные вопросы