我有一个远程嵌入式系统,它是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
得到理想的数据。
答案 0 :(得分:4)
建立你的telnet连接然后
发送命令:
uuencode filename -
到远程主机,用文件名替换filename
获取您发送的数据并将其传递给您系统上的uudecode
答案 1 :(得分:1)
如果设备安装了uuencode
,您可以使用它将二进制文件“包装”为可打印字符。其他可能性是运行dd if=/etc/file 2>/dev/null
来转储数据(但我不完全确定这会更好地说明......)