BusyBox 中文文档 下载 App

BusyBox 网络工具 ifconfig wget nc httpd 全解析

网络工具清单

BusyBox 内置的网络相关 Applet 包括:

命令用途典型场景
ifconfig配置网卡 IP/MAC嵌入式设备网络配置
route管理路由表设置默认网关
nc (netcat)TCP/UDP 调试端口连通性测试、简单数据传输
wgetHTTP/FTP 下载从互联网下载固件或配置
httpd简单 HTTP 服务器提供设备 Web 管理界面
telnet远程登录网络调试
nslookupDNS 查询验证域名解析
pingICMP 测试网络连通性验证
ip现代网络配置(部分支持)替代 ifconfig 的新工具
udhcpcDHCP 客户端自动获取 IP

ifconfig 使用

# 查看所有网卡配置
busybox ifconfig

# 设置 IP 地址和子网掩码
busybox ifconfig eth0 192.168.1.100 netmask 255.255.255.0

# 启用/禁用网卡
busybox ifconfig eth0 up
busybox ifconfig eth0 down

# 设置 MAC 地址(需要 root)
busybox ifconfig eth0 hw ether 00:11:22:33:44:55

# 设置 MTU
busybox ifconfig eth0 mtu 1400

BusyBox ifconfig 比 GNU 版简单,不支持地址别名、硬件类型切换等高级功能。日常配置 IP/MAC/MTU 没问题。

wget 的局限性

BusyBox wget 是一个极简实现:

# 下载单个文件
busybox wget -O firmware.bin http://example.com/firmware.bin

# 带超时和重试
busybox wget -T 30 -t 3 http://example.com/file

# 简单的 POST 请求(不完整)
busybox wget --post-data='key=value' -O - http://example.com/api

需要完整 wget/curl 功能时,要么在编译时开启所有选项,要么用替代方案——嵌入式场景通常用 curl 的静态编译二进制(体积约 300KB)。

nc(netcat)调试利器

nc 是 BusyBox 中最实用的网络调试工具,经常用来测试端口连通性:

# 测试 TCP 端口连通
busybox nc -zv 192.168.1.1 80
# 成功输出:Connection to 192.168.1.1 80 port [tcp/http] succeeded!

# 作为简单服务端(监听端口)
busybox nc -l -p 8080

# 发送简单数据
echo "hello" | busybox nc -w 3 host port

# 扫描端口范围(虽然慢但够用)
for port in 22 80 443 8080; do
  busybox nc -zv host $port 2>&1
done

httpd 轻量 HTTP 服务

BusyBox httpd 是一个不到 50KB 的微型 HTTP 服务器,适合为设备提供简单的 Web 管理界面:

# 从当前目录提供静态文件
busybox httpd -p 80

# 指定文档根目录
busybox httpd -p 80 -h /var/www

# 设置用户名密码(htpasswd 格式)
busybox httpd -p 80 -r .htpasswd

# 作为 daemon 后台运行
busybox httpd -p 80 -h /var/www
# 默认就是后台模式,用 -f 可以前台运行调试

httpd 支持 CGI(通过 -c 指定 CGI 目录),这意味着你可以用 Shell 脚本写简单的动态页面——这是很多嵌入式设备 Web 管理界面的实现方式。