Busybox功能在Ubuntu上的测试

本文介绍了如何在Ubuntu系统上编译并测试Busybox,包括配置、生成 Busybox 可执行文件,然后创建软链接以添加ftp、httpd服务。通过修改inetd.conf文件启动ftpd服务,并测试httpd服务,展示如何运行CGI程序。此外,还提及了wput的下载、编译和使用,但在交叉编译过程中遇到问题并提供了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 编译

    下载最新版busybox,我用的是busybox-1.22.1

     解压  tar jxf  *.bz2

     进入目录 

     运行   make menuconfig

     选择退出

     运行  make

     编译成功后生成 busybox

2. 运行环境

    cp busybox /user/bin

     手工添加busybox功能命令,首先确认ubuntu中没有下面几个命令,否则会覆盖

      ln -sf /user/bin/busybox inetd

      ln -sf /user/bin/busybox ftpd

      ln -sf /user/bin/busybox httpd

      只测试这几个服务,只做这几个

3. ftpd测试

      配置文件 /etc/inetd.conf

            内容   21 stream tcp nowait root ftpd ftpd -w /ptop

     运行 inetd

     使用客户端测试,记得建立/ptop目录,放一些文件

4. httpd测试

    建立目录/ptop/www/cgi-bin

                 www目录可以放网页

                 cgi-bin 放cgi程序

   准备测试的cgi,busybox中已经有准备进入\busybox-1.22.1\networking

    运行gcc httpd_indexcgi.c 得到a.out

    mv a.out index.cgi

    mv index.cgi /ptop/cgi-bin

   运行http服务命令  httpd -p 8080 -h /ptop/www

   在浏览器中输入  http://xxx.xxx.xxx.xxx:8080/  即可显示目录内容

   httpd没有找到页面,自动运行 cgi-bin目录中的index.cgi的功能。


5. wput 不是busybox中的,一起写在这里吧

   下载  wput-0.6.2.tgz

    解压 tar zxf wput-0.6.2.tgz

   编译  ./configure

            make

    交叉编译

            CFLAGS=-02 ./configure --host=arm-linux --without-ssl

            make


   同步目录命令示例 wput -B --basename=/sdcard/ftproot/ /sdcard/ftproot/ ftp://test:test@192.168.10.100/

   调试打印信息加入 -d参数

   在运行arm-linux版本时候,总是无法上传,跟踪代码后,发现执行ftp_do_passive函数时,会获取一个无效的ip进行上传,

   具体原因未查明,修改了如下代码,可以上传文件,但有没有其他不良影响未知

  ----------

   fptlib.c

----------

   parse_passive_string(self->r.message, &sip, &sport); //从该函数获取的服务IP地址总是错误,导致 socket_connect出错
   printout(vDEBUG, "Remote server data port: %s:%d\n", printip((unsigned char *) &sip), sport);
 
   if(self->ps->type == PROXY_OFF)
    self->datasock = socket_connect(sip, sport);   //修改为self->datasock = socket_connect(self->host->ip/*sip*/, sport);






   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值