Как создать оболочку сценария для отправки cmd через telnet и регистрировать только результаты?

920
Simon

Я хотел бы сделать сценарий оболочки, который может вызывать диапазон IP-адресов через telnet, чтобы отправить команду и записать результат в файл.

0
В Windows есть telnet -f, в Linux это так ... команда сценария или команда tee http://stackoverflow.com/questions/12121241/can-i-grep-telnet-command-output barlop 9 лет назад 0

1 ответ на вопрос

0
glenn jackman

ssh is easier than telnet:

for host in host1 host2 host3; do ssh user@host remote_command with args done > result.file 

For password-less login, set up ssh keys


This will have bugs, but something like:

#!/usr/bin/env expect exp_internal 1 set out [open "results.txt" w] foreach ip $argv { spawn telnet $ip expect "password: " send "$password\r" expect "% " ;# this is the prompt, adjust to suit sent "the command\r" expect -re "([01,]+).*% " puts $out "$ip=$expect_out(1,string)" send exit expect eof exp_close wait } close $out 
Спасибо, но мои устройства поддерживают только telnet. Я должен отправить эту команду: статус. Результатом может быть: 0,0,0,0,0,0 или 1,1,1,1,1 или микс-комбинация. Я хочу поместить только результат в файл. Возможно ли это? Вот так: 192.168.1.1 = 0,0,0,0,0,0 192.168.1.2 = 1,0,0,0,0,0 192.168.1.3 = 0,1,0,0,0,0 192,168. 1,4 = 0,0,1,0,0,0 192,168.1,5 = 0,1,0,0,1,0 Simon 9 лет назад 0

Похожие вопросы