使用cmd命令来排查网络故障
ping 127.0.0.1 通了,使用不代表网络没问题。令排络故这是查网排查网络故障时最容易踩的坑——很多人一看到“网络连接断开”,第一反应是使用重启路由器,或者干脆把电脑砸了。令排络故其实Windows自带的查网cmd命令,就能解决八成以上的使用网络问题。
先别急着打开浏览器刷视频,令排络故按Win+R,查网输入cmd,使用回车。令排络故这时候你面对的查网是一个黑底白字的窗口,别慌,使用它比你想的令排络故直白得多。
第一步,查网ping网关。网关是什么?就是你路由器背后的那个IP,通常是192.168.1.1或者192.168.0.1。输入ping 192.168.1.1 -t,注意那个-t,让它持续ping,别停。如果响应时间稳定在1-2ms,说明你到路由器的物理链路没问题。如果出现“请求超时”或者时间跳到了几百ms,那问题大概率出在网线、Wi-Fi信号或者路由器本身。有一次我遇到一个案例,用户说网速慢,ping网关居然有400ms延迟,最后发现是网线被老鼠咬了一半,只连着一根细铜丝。
第二步,ping外网。比如ping 8.8.8.8(Google的DNS)或者ping 114.114.114.114(国内公共DNS)。如果网关通了,但外网不通,说明问题出在路由器到运营商之间。这时候你打电话给宽带客服,别直接说“网断了”,你就说“我ping不通8.8.8.8,但能ping通网关”,客服立刻明白你是懂行的,处理速度快一倍。
第三步,查DNS。有时候你能上QQ,但打不开网页,这八成是DNS解析问题。输入nslookup baidu.com,如果返回的IP地址看着不对,或者直接报错,那就是DNS服务器出问题了。这时候输入ipconfig /flushdns清一下本地DNS缓存,八成能救回来。我见过最离谱的一次,是某公司全部门都打不开网页,结果发现是有人把路由器里的DNS改成了某个不存在的IP——查了半天。
光会ping还不够,得会用ipconfig。输入ipconfig /all,看几个关键信息:IP地址是否正常(169.254开头的说明没拿到IP,是DHCP出问题了);子网掩码是不是255.255.255.0;默认网关有没有写错。有一次我帮朋友排查,发现他电脑的IP是手动设置的,网关写成了192.168.1.254,但路由器实际是192.168.1.1,差了三位数字,死活上不了网。
还有个命令叫tracert,用来追踪数据包路径。输入tracert baidu.com,它会列出每一跳的延迟。如果某一行出现星号或者延迟暴增,说明问题就在那个节点。但说实话,这个命令对普通用户来说有点过度——你看到中间某个电信节点延迟高,你能怎么办?打电话给电信骂一顿?没用。它更适合用来判断是运营商问题还是网站服务器问题。
最后说个冷门的:netstat -an。这个命令能列出所有网络连接。如果你怀疑电脑中毒或者有程序偷偷联网,输入这个,看有没有大量异常的ESTABLISHED连接指向陌生IP。我之前在一台电脑上看到几十个连接到某个俄罗斯IP的TCP连接,一查,果然是挖矿木马。
排查网络故障,别急着重装系统。先用这几条命令花五分钟定位问题,八成能省下请人维修的钱。要是全试了还是不通——那再重启路由器吧,反正也不亏。