【发布时间】:2014-12-19 17:52:18
【问题描述】:
对于我的一个项目,我使用的是一台非常有限的 Linux busybox 机器。
我正在尝试使用 telnet 将文件上传到那台机器(通过以太网连接到我)。
到目前为止,我有几个实现它的想法:
将文件以块的形式(在 128 字节的块上使用
echo -e)写入磁盘。这个想法失败了,因为 echo 命令没有-e选项。使用
/dev/tcp/192.168.1.2/12345 > /tmp/file之类的东西将套接字重定向到文件中。这个想法失败了,因为/dev/文件夹不包含tcp设备。使用诸如
nc / ncat / nfqueue之类的实用程序来执行此操作,这个想法也失败了,因为它们都不存在并且我无法在该机器上安装任何东西(没有apt-get/yum等..)使用 echo(不带
-e选项)将 base-64 编码文件写入磁盘,然后对其进行解码。这个想法失败了,因为我找不到任何工具来解码 base64 字符串
你有上传文件的创意吗?
【问题讨论】:
-
在你的电脑上,下载
vsftpd的源代码,交叉编译,然后转储到系统中。 -
机器上没有可用的编译器。没有下载选项。如果存在编译器,我会编译
nc -
或尝试在您的嵌入式系统中挂载
nfs。我以前尝试过一次,它应该也可以。 -
没有交叉编译器?你的linux是如何编译的?一定有一个,在某个电脑盒子里。
-
不在您的嵌入式系统中。交叉编译器在您的开发机器中,即您的台式机或笔记本电脑中。为了让你的嵌入式系统安装了linux,至少内核和busybox必须被编译。你从哪里得到这个系统的?
标签: linux bash embedded-linux busybox