WiFi优化中如何用脚本提升排查效率

家里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.1cat /proc/net/wireless合并成一个快捷命令,也比每次重新输入快半分钟。效率提升不在代码多酷,而在少敲一次退格键、少点一次鼠标右键。