nslookup、ping、telnet


一、基础网络连接检测(主机是否可达)

核心命令:ping

典型现象

  • 浏览器打开任何网页均提示“无法连接到服务器”
  • 微信、QQ等软件显示“网络未连接”
  • 本地设备连接WiFi后,路由器后台显示“设备离线”

工具使用与解读

  • 执行 ping 192.168.1.1(网关IP):
    • 无响应(Request timed out):本地到网关的链路故障(如网线松动、网卡禁用)。
    • 丢包率高(丢失>30%):WiFi信号弱、路由器负载过高或硬件故障。
  • 执行 ping 8.8.8.8(公共IP):
    • 若失败但 ping 网关 成功:网关到外网的链路故障(如路由器拨号失败)。

解决办法

  • 链路故障:重新插拔网线/重启网卡(Windows:禁用后启用;Linux:sudo ip link set eth0 up)。
  • 网关故障:重启路由器/光猫,检查WAN口是否获取公网IP(登录路由器管理页查看)。
  • 外网故障:联系运营商确认宽带是否欠费或线路故障。

二、DNS解析问题(域名无法转化为IP)

核心命令:nslookupdig(Linux/macOS)

典型现象

  • 输入 www.baidu.com 提示“无法解析域名”,但直接输入 180.101.50.242(百度IP)可打开网页
  • 电脑能ping通IP(如 ping 114.114.114.114),但ping域名时提示“未知主机”

工具使用与解读

  • 执行 nslookup www.baidu.com
    • 若显示 Non-existent domain:域名不存在或DNS服务器无该记录(可能是拼写错误)。
    • 若显示 DNS request timed out:本地DNS服务器不可用(如路由器DNS配置错误)。
  • 执行 dig @8.8.8.8 www.baidu.com(指定谷歌DNS):
    • 若成功解析:本地默认DNS服务器故障,需更换DNS。

解决办法

  • 清除DNS缓存:
    • Windows:ipconfig /flushdns
    • Linux:sudo systemctl restart nscd
    • macOS:sudo dscacheutil -flushcache
  • 更换DNS服务器:手动配置为114.114.114.114(国内)或223.5.5.5(阿里)(通过网卡属性或路由器设置)。

三、端口连通性检测(服务是否开放)

核心命令:telnetnctest-netconnection

典型现象

  • 访问公司OA系统(端口8080)提示“连接被拒绝”,但能ping通服务器IP
  • 远程连接服务器(SSH 22端口)时提示“端口未开放”
  • 本地启动服务后,其他设备无法通过端口访问(如Tomcat的8080端口)

工具使用与解读

  • 执行 telnet 192.168.1.100 8080(目标IP+端口):
    • 若提示“无法连接”:端口未开放或被防火墙拦截。
    • 若连接后黑屏:端口正常开放,问题可能在服务本身(如服务未启动)。
  • 执行 nc -zv 192.168.1.100 22(Linux):
    • 显示 Connection refused:端口明确未开放;显示 succeeded:端口正常。

解决办法

  • 开放端口:
    • Windows:防火墙“入站规则”添加端口允许(如8080)。
    • Linux:sudo ufw allow 22/tcp(UFW防火墙)或 sudo firewall-cmd --add-port=8080/tcp
  • 重启服务:若端口开放但服务无响应,重启对应服务(如 sudo systemctl restart sshd)。
  • 端口映射:若目标在局域网内,需在路由器配置“端口映射”(公网端口→内网IP:端口)。

四、本地网络配置查看(IP、网关、DNS等)

核心命令:ipconfig(Windows)、ip addr(Linux)

典型现象

  • 电脑连接网络后,右下角提示“无网络访问权限”
  • 手动设置IP后能上内网,但无法访问外网
  • 局域网内设备互相ping不通(如电脑ping手机失败)

工具使用与解读

  • 执行 ipconfig /all(Windows)或 ip addr(Linux):
    • 若IP为 169.254.x.x:DHCP服务器未分配IP(路由器DHCP功能未启用)。
    • 若网关为空或错误(如网关设为192.168.1.255):无法访问外网。
    • 若DNS服务器为 0.0.0.0:域名解析会失败。

解决办法

  • DHCP问题:释放并重新获取IP(Windows:ipconfig /release && ipconfig /renew;Linux:sudo dhclient -r && sudo dhclient)。
  • 手动配置错误:修改IP、网关、DNS为正确值(如IP:192.168.1.100,网关:192.168.1.1,DNS:114.114.114.114)。
  • IP冲突:在路由器中绑定IP与MAC地址(防止重复分配),或手动修改IP为未占用地址。

五、网络路径追踪(定位中间节点故障)

核心命令:tracert(Windows)、traceroute(Linux)

典型现象

  • 访问国外网站(如GitHub)时提示“超时”,但国内网站正常
  • 游戏延迟极高(>500ms),且同网络其他设备也有类似问题

工具使用与解读

  • 执行 tracert www.github.com
    • 若某一跳(如第5跳)开始持续显示 * * *:该节点到下一跳的链路中断(如运营商骨干网故障)。
    • 若某一跳延迟骤增(如从50ms升至500ms):该节点负载过高或路由拥堵。

解决办法

  • 节点故障:记录故障节点IP(如 203.0.113.xx),反馈给运营商(如电信10000)排查。
  • 路由拥堵:尝试切换网络(如手机热点),或修改本地DNS为运营商专用DNS(提升解析速度)。

六、网络连接与端口占用查询

核心命令:netstatss(Linux)、lsof(Linux/macOS)

典型现象

  • 启动Tomcat时提示“Address already in use: 8080端口被占用”
  • 电脑后台有不明进程占用大量带宽,导致网络卡顿
  • 怀疑有恶意程序连接外部IP(如挖矿程序)

工具使用与解读

  • 执行 netstat -ano | findstr "8080"(Windows):
    • 输出中 LISTENING 状态的PID表示占用端口的进程,通过任务管理器结束该进程。
  • 执行 ss -tulnp | grep "22"(Linux):
    • 显示 ssh 1234 root:22端口被SSH服务(PID 1234)占用,属正常现象。
  • 执行 lsof -i :80(Linux/macOS):
    • 若显示不明进程(如 unknown 5678):可能是恶意程序,需终止并查杀。

解决办法

  • 端口占用:终止占用进程(Windows:任务管理器结束PID;Linux:sudo kill -9 PID),或修改服务端口(如Tomcat改8081)。
  • 异常连接:通过 netstat -an 查看ESTABLISHED状态的外部IP,若为陌生IP,用防火墙拦截该IP。

七、路由表与网关配置(跨网段通信问题)

核心命令:route(Windows)、ip route(Linux)

典型现象

  • 能访问192.168.1.x网段(本地局域网),但无法访问192.168.2.x网段(另一个子网)
  • 手动配置IP后,内网互通正常,但外网访问失败

工具使用与解读

  • 执行 route print(Windows)或 ip route show(Linux):
    • 若缺省路由(0.0.0.0)未指向网关(如指向192.168.1.255):无法访问外网。
    • 若目标网段(如192.168.2.0)无路由条目:无法跨网段通信。

解决办法

  • 修复缺省路由:
    • Windows:route add 0.0.0.0 mask 0.0.0.0 192.168.1.1 -p-p 永久生效)。
    • Linux:sudo ip route add default via 192.168.1.1,并写入 /etc/netplan/*.yaml 配置文件。
  • 添加跨网段路由:
    • 访问192.168.2.0网段需通过网关192.168.1.254:
      • Windows:route add 192.168.2.0 mask 255.255.255.0 192.168.1.254 -p
      • Linux:sudo ip route add 192.168.2.0/24 via 192.168.1.254

八、高级网络诊断与抓包

核心命令:tcpdump(Linux/macOS)、wireshark(跨系统)

典型现象

  • 网络频繁断连,但基础命令(ping、telnet)检测正常
  • 传输文件时速度骤降,且无明显带宽占用
  • 浏览器访问特定网站时提示“SSL证书错误”或“连接重置”

工具使用与解读

  • 执行 tcpdump -i eth0 port 443(抓取HTTPS流量):
    • 若大量出现 RST 包:服务器主动关闭连接(如网站防火墙拦截)。
    • 若出现 Duplicate ACK 包:网络丢包导致数据重传,需排查链路稳定性。
  • 使用Wireshark过滤 tcp.flags.reset==1
    • 定位发送RST包的IP,判断是本地防火墙还是目标服务器拦截。

解决办法

  • 丢包问题:更换网线、升级路由器固件(修复硬件兼容性bug)。
  • 拦截问题:关闭本地防火墙(临时测试),或在目标服务器白名单中添加本地IP。
  • SSL错误:清除浏览器缓存,或检查系统时间是否同步(证书依赖时间验证)。

总结:现象→工具→解决办法流程图

  1. 任何网络都不通ping 网关 → 检查链路/重启网关
  2. 域名不通但IP通nslookup → 清缓存/换DNS
  3. IP通但服务不通telnet/nc → 开端口/重启服务
  4. 本地配置异常ipconfig/ip addr → 修复IP/网关/DNS
  5. 跨网延迟/中断tracert → 反馈运营商/切换路由
  6. 端口被占/异常连接netstat/ss → 杀进程/封IP
  7. 复杂问题(如丢包/重置)tcpdump/Wireshark → 抓包分析链路/拦截原因

按此流程操作,可逐步定位并解决90%以上的网络故障。


评论