如何使用telnet从远程嵌入式系统获取二进制文件?

时间:2010-01-14 07:57:22

标签: ruby telnet

我有一个远程嵌入式系统,它是telnet-able。如何使用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 个答案:

答案 0 :(得分:4)

建立你的telnet连接然后
发送命令:

uuencode filename -

到远程主机,用文件名替换filename

获取您发送的数据并将其传递给您系统上的uudecode

答案 1 :(得分:1)

如果设备安装了uuencode,您可以使用它将二进制文件“包装”为可打印字符。其他可能性是运行dd if=/etc/file 2>/dev/null来转储数据(但我不完全确定这会更好地说明......)