Как получить двоичный файл из удаленной встроенной системы с помощью telnet? - PullRequest
1 голос
/ 14 января 2010

У меня есть удаленная встроенная система, и она поддерживает telnet. Как я могу получить двоичный файл из него, используя ruby? Если бы это был текстовый файл, я мог бы использовать:

  con = Net::Telnet::new("Host"=>ip,"Timeout"=>200)  #Host not host
  File.open("fetched_file","w+") do |f|
        con.cmd("cat /ect/file")  {|data| f.write(data)}
  end

Но это не сработает для двоичного файла, вы не получите желаемые данные, cat используя его.

Ответы [ 2 ]

4 голосов
/ 14 января 2010

установите соединение через telnet, затем
отправить команду:

uuencode filename -

на удаленный хост, заменив имя файла именем файла

возьмите отправленные вами данные и передайте их uudecode в вашей системе

1 голос
/ 14 января 2010

Если на устройстве установлено uuencode, вы можете использовать это, чтобы «обернуть» двоичный файл в печатные символы. Другая возможность - запустить dd if=/etc/file 2>/dev/null для выгрузки данных (однако я не совсем уверен, что это будет лучше) ...

...