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

发布于 2024-08-17 15:25:25 字数 322 浏览 2 评论 0原文

我有一个远程嵌入式系统,它可以远程登录。如何使用 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 获得所需的数据。

I have a remote embedded system and it is telnet-able. How can I fetch a binary file from it using ruby? If it were a text file, I could have used:

  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

But this wouldn't work for binary file you won't get desirable data by cating it.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

软的没边 2024-08-24 15:25:25

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

uuencode filename -

到远程主机,将 filename 替换为 filename

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

establish your telnet connection then
send the command:

uuencode filename -

to the remote host, replacing filename with the filename

take the data you are sent and pass it to uudecode on your system

乱了心跳 2024-08-24 15:25:25

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

If the device has uuencode installed, you could use that to 'wrap' the binary into printable characters. Other possibility is to run dd if=/etc/file 2>/dev/null to dump the data (however I am not completely certain this will word any better...)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文