【问题标题】:Uploading files to busybox machine上传文件到busybox机器
【发布时间】:2014-12-19 17:52:18
【问题描述】:

对于我的一个项目,我使用的是一台非常有限的 Linux busybox 机器。

我正在尝试使用 telnet 将文件上传到那台机器(通过以太网连接到我)。

到目前为止,我有几个实现它的想法:

  1. 将文件以块的形式(在 128 字节的块上使用 echo -e)写入磁盘。这个想法失败了,因为 echo 命令没有-e 选项。

  2. 使用/dev/tcp/192.168.1.2/12345 > /tmp/file 之类的东西将套接字重定向到文件中。这个想法失败了,因为/dev/ 文件夹不包含tcp 设备。

  3. 使用诸如nc / ncat / nfqueue 之类的实用程序来执行此操作,这个想法也失败了,因为它们都不存在并且我无法在该机器上安装任何东西(没有apt-get / yum 等..)

  4. 使用 echo(不带 -e 选项)将 base-64 编码文件写入磁盘,然后对其进行解码。这个想法失败了,因为我找不到任何工具来解码 base64 字符串

你有上传文件的创意吗?

【问题讨论】:

  • 在你的电脑上,下载vsftpd的源代码,交叉编译,然后转储到系统中。
  • 机器上没有可用的编译器。没有下载选项。如果存在编译器,我会编译 nc
  • 或尝试在您的嵌入式系统中挂载nfs。我以前尝试过一次,它应该也可以。
  • 没有交叉编译器?你的linux是如何编译的?一定有一个,在某个电脑盒子里。
  • 不在您的嵌入式系统中。交叉编译器在您的开发机器中,即您的台式机或笔记本电脑中。为了让你的嵌入式系统安装了linux,至少内核和busybox必须被编译。你从哪里得到这个系统的?

标签: linux bash embedded-linux busybox


【解决方案1】:

感谢您的快速回复。 我在机器上找到了一个 tftp 客户端。

因此我可以执行: /usr/bin/tftp -l /tmp/tst -r testfile.txt -g <server ip>

在打开 tftp 服务器后。

【讨论】:

    【解决方案2】:

    查看您的 busybox 版本是否包含 rx

    这将为您的目标提供 XMODEM 接收功能。

    我要求我们的软件组将其添加到我们的图像中;很轻松就添加了它。

    【讨论】:

    • 这是个好主意。但是我没有。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-12
    • 2012-07-11
    • 1970-01-01
    • 1970-01-01
    • 2011-12-05
    • 2013-02-13
    • 1970-01-01
    相关资源
    最近更新 更多