家里WiFi时断时续,路由器日志翻到眼花,手动查IP、ping网关、抓包分析……一通操作下来,半小时过去了,问题还在那儿。其实不少网络工程师和家庭用户早把重复动作写成脚本了——不是为了炫技,是真省时间。
从手动到自动,就差这三行
比如每次重启路由器后,得确认设备是否连上、获取的IP是不是在正确网段、DNS能不能解析。以前点开终端敲五六个命令,现在一个wifi-check.sh搞定:
#!/bin/bash
ping -c 2 192.168.1.1 > /dev/null && echo "✅ 网关可达" || echo "❌ 网关失联"
dhclient -v wlan0 2>&1 | grep "bound to" > /dev/null && echo "✅ 已获IP" || echo "❌ DHCP失败"
nslookup www.baidu.com 192.168.1.1 > /dev/null 2>&1 && echo "✅ DNS正常" || echo "❌ DNS异常"保存后加执行权限:chmod +x wifi-check.sh,双击或终端里输./wifi-check.sh,三秒出结果。
别硬记命令,让脚本替你记
有人记不住iw dev wlan0 scan | grep SSID还是nmcli dev wifi list,其实不用背。写个wifi-scan脚本,把常用扫描方式都封装进去,运行时自动判断当前系统环境(NetworkManager or iw),再调对应命令。遇到新路由器型号?只改脚本里一行参数,不用重学整套流程。
日志也能“自己说话”
路由器后台导出的日志动辄几十MB,全是时间戳+状态码。用Python写个简易解析器,几行就能筛出关键信息:
import re
with open('router.log') as f:
for line in f:
if re.search(r'auth_fail|deauth|channel switch', line):
print(line.strip())再配合定时任务(crontab -e里加一句*/10 * * * * /path/to/parse_wifi_log.py >> /tmp/wifi-alerts.log 2>&1),异常一出现,记录就落进指定文件,比守着网页后台刷新强多了。
小脚本,大习惯
脚本不是程序员专利。把经常做的动作固化下来,哪怕只是把ssh admin@192.168.1.1和cat /proc/net/wireless合并成一个快捷命令,也比每次重新输入快半分钟。效率提升不在代码多酷,而在少敲一次退格键、少点一次鼠标右键。