Busybox的小巧,有目共睹;busybox的强大,用过的人爱不释手;busybox被称为the Swiss Army-knife of Linux一点也不为过。这里,简单说明其内嵌的httpd、ftpd、telnetd、tftpd、ntpd的用法,让你的板子running as a powerful workstation。至于各个applet的源代码,就让专业的程序“猿”去啃代码吧。
一、busybox中httpd的用法
为维护国家互联网信息安全及过滤不良信息的要求,httpd的启动方式暂略。
只展示httpd进程运行的示例:
busybox内嵌httpd服务端
mini_httpd服务端(minihttpd不属于busybox内嵌applet,此为独立编译版)
二、busybox中ftpd的用法(行末“&”表示后台运行进程,下同)
ln -s /bin/busybox /bin/tcpsvd
ln -s /bin/busybox /bin/ftpd
tcpsvd -vE 0.0.0.0 21 ftpd -w /webpages &
登录ftp服务端要求密码的,就是你板子运行ftpd进程用户的密码
登录后可以上传、下载文件
三、busybox中telnetd的用法
ln -s /bin/busybox /bin/telnetd
telnetd -K -b 192.168.1.10:23 &
把telnetd与你的板子IP绑定,默认端口号23
登录telnetd要求密码,就是运行telnetd进程用户密码
四、busybox中tftpd的用法
ln -s /bin/busybox /bin/udpsvd
ln -s /bin/busybox /bin/tftpd
udpsvd -vE 0.0.0.0 69 tftpd -c /mnt/usb1_1/ &
tftpd参数-c表示允许tftp客户端上传文件
五、busybox中ntpd的用法
ntp是linux系统同步网络时间的重要工具,当前新版busybox已集成了ntpd,是从OpenNTPD移植而来,busybox使用手册也没有详细的使用说明。在此,我们需要参考其他前辈的工作笔记(原理请参考:https://yq.aliyun.com/articles/33329)。
这里,简单说明使用busybox内嵌ntpd同步网络时间,并正确显示中国时区的方法:
第一步:
ln -s /bin/busybox /bin/ntpd
ntpd -qNn -p time.windows.com &
第二步:
把其它台式linux的时区文件/usr/share/zoneinfo/PRC拷贝到你的板子/etc目录,并重命名为localtime(我的演示机为ubuntu 16.04LTS x32,板子是家用光猫ZTE-F412,内核linux-3.4.11)即可
root@F412:~ # date
Tue Nov 5 17:57:25 CST 2019
root@F412:~ # date -R
Tue, 05 Nov 2019 17:57:33 +0800
上面常用服务基本都集成到了busybox,现在家用光猫可以当做一台超mini的Linux主机,玩法多样。本文用到的busybox是mips架构,版本1.30.1,及时区文件/etc/localtime在我的资源下载。
附件:
1、busybox-1.30.1-mips和localtime链接:https://download.csdn.net/download/wxalriss/11959503
2、gcc-4.6.2-mips链接:https://download.csdn.net/download/wxalriss/11959303