文章总结: 该文档详细阐述了Windows网络诊断与配置管理命令,涵盖IP信息收集、连通性测试、路由跟踪及防火墙配置等核心技能。文中通过具体示例讲解了ipconfig、ping、netsh等工具用法,并提供了实用的自动化诊断脚本。内容结构严谨,兼具理论指导与实战操作,为运维人员提供了快速排查故障与网络管理的有效方案,具有较高的参考价值。 综合评分: 88 文章分类: 实战经验,安全工具,网络安全,终端安全
Windows 网络诊断命令详解
原创
刘军军 刘军军
运维星火燎原
2026年3月4日 00:00 天津
目录
- 网络信息收集命令
- 连通性测试命令
- 网络配置管理命令
- 网络故障修复命令
- 高级网络诊断工具
- 常见网络问题排查
- 自动化诊断脚本
- 命令速查表
一、网络信息收集命令
1.1 IP 配置信息
:: ========== 基础 IP 信息 ==========
:: 查看基本 IP 配置
ipconfig
:: 查看完整 IP 配置(推荐)
ipconfig /all
:: 输出示例
Windows IP 配置
主机名 . . . . . . . . . . . . . : DESKTOP-ABC123
主 DNS 后缀 . . . . . . . . . . . :
节点类型 . . . . . . . . . . . . : 混合
IP 路由已启用 . . . . . . . . . . : 否
WINS 代理已启用 . . . . . . . . . : 否
以太网适配器 以太网:
连接特定的 DNS 后缀 . . . . . . . :
描述. . . . . . . . . . . . . . . : Realtek PCIe GbE Family Controller
物理地址. . . . . . . . . . . . . : 00-11-22-33-44-55
DHCP 已启用 . . . . . . . . . . . : 是
自动配置已启用. . . . . . . . . . : 是
IPv4 地址 . . . . . . . . . . . . : 192.168.1.100(首选)
子网掩码 . . . . . . . . . . . . : 255.255.255.0
获得租约的时间 . . . . . . . . . : 2024 年 1 月 15 日 8:00:00
租约过期的时间 . . . . . . . . . : 2024 年 1 月 16 日 8:00:00
默认网关. . . . . . . . . . . . . : 192.168.1.1
DHCP 服务器 . . . . . . . . . . . : 192.168.1.1
DNS 服务器 . . . . . . . . . . . : 8.8.8.8
114.114.114.114
:: ========== IP 配置管理 ==========
:: 释放 DHCP 租约
ipconfig /release
:: 更新 DHCP 租约
ipconfig /renew
:: 释放特定适配器
ipconfig /release "以太网"
ipconfig /renew "以太网"
:: 刷新 DNS 缓存
ipconfig /flushdns
:: 显示 DNS 缓存
ipconfig /displaydns
:: 注册 DNS
ipconfig /registerdns
:: 查看 DHCP 类别
ipconfig /showclassid *
:: 设置 DHCP 类别
ipconfig /setclassid "以太网" *
1.2 网络接口信息
:: ========== 网络接口详细信息 ==========
:: 查看 MAC 地址
getmac
getmac /v
getmac /fo list
:: 查看网络适配器配置
wmic nic get Name,MACAddress,NetEnabled
wmic nicconfig get IPAddress,IPSubnet,DefaultIPGateway
:: 查看网络接口状态
netsh interface show interface
:: 查看接口 IP 配置
netsh interface ip show config
:: 查看接口统计
netsh interface ip show stats
:: 查看 IPv4 配置
netsh interface ipv4 show config
:: 查看 IPv6 配置
netsh interface ipv6 show config
1.3 网络连接统计
:: ========== 网络连接统计 ==========
:: 查看所有连接和监听端口
netstat -a
:: 查看数字格式(不解析名称)
netstat -an
:: 查看连接和进程 ID
netstat -ano
:: 查看以太网统计
netstat -e
:: 查看协议统计
netstat -s
:: 查看路由表
netstat -r
:: 查看特定端口
netstat -ano | findstr ":80"
netstat -ano | findstr ":443"
:: 查看 ESTABLISHED 连接
netstat -ano | findstr "ESTABLISHED"
:: 查看 LISTENING 端口
netstat -ano | findstr "LISTENING"
:: 统计连接数
netstat -an | find /c /v ""
netstat -an | findstr "ESTABLISHED" | find /c /v ""
:: 输出示例
协议 本地地址 外部地址 状态 PID
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4
TCP 192.168.1.100:52345 8.8.8.8:443 ESTABLISHED 1234
UDP 0.0.0.0:53 *:* 5678
1.4 网络信息收集脚本
:: ========== 网络信息收集脚本 ==========
:: 文件名:network_info.bat
@echo off
title 网络信息收集工具
color 0b
set LOG_FILE=C:\network_info_%date:~0,4%%date:~5,2%%date:~8,2%.txt
echo ==================================== > %LOG_FILE%
echo 网络信息收集报告 >> %LOG_FILE%
echo 时间:%date% %time% >> %LOG_FILE%
echo ==================================== >> %LOG_FILE%
echo.
:: 1. IP 配置
echo [1] IP 配置信息 >> %LOG_FILE%
ipconfig /all >> %LOG_FILE%
echo. >> %LOG_FILE%
:: 2. 路由表
echo [2] 路由表 >> %LOG_FILE%
route print >> %LOG_FILE%
echo. >> %LOG_FILE%
:: 3. ARP 缓存
echo [3] ARP 缓存 >> %LOG_FILE%
arp -a >> %LOG_FILE%
echo. >> %LOG_FILE%
:: 4. 网络连接
echo [4] 网络连接 >> %LOG_FILE%
netstat -ano >> %LOG_FILE%
echo. >> %LOG_FILE%
:: 5. DNS 配置
echo [5] DNS 配置 >> %LOG_FILE%
nslookup www.baidu.com >> %LOG_FILE%
echo. >> %LOG_FILE%
:: 6. 网络接口
echo [6] 网络接口 >> %LOG_FILE%
netsh interface show interface >> %LOG_FILE%
echo. >> %LOG_FILE%
:: 7. MAC 地址
echo [7] MAC 地址 >> %LOG_FILE%
getmac /v >> %LOG_FILE%
echo. >> %LOG_FILE%
echo ==================================== >> %LOG_FILE%
echo 信息收集完成 >> %LOG_FILE%
echo 日志文件:%LOG_FILE% >> %LOG_FILE%
echo ==================================== >> %LOG_FILE%
echo 网络信息收集完成!
echo 日志文件:%LOG_FILE%
pause
二、连通性测试命令
2.1 Ping 命令详解
:: ========== Ping 基础用法 ==========
:: 基本 ping 测试
ping www.baidu.com
ping 192.168.1.1
:: 指定 ping 次数
ping -n 4 www.baidu.com
:: 持续 ping(按 Ctrl+C 停止)
ping -t 192.168.1.1
:: 指定数据包大小
ping -l 1000 www.baidu.com
ping -l 65500 www.baidu.com (最大 65500 字节)
:: 指定超时时间(毫秒)
ping -w 5000 www.baidu.com
:: 不分片
ping -f -l 1472 www.baidu.com (测试 MTU)
:: 指定 TTL
ping -i 64 www.baidu.com
:: 记录路由(最多 4 跳)
ping -r 4 www.baidu.com
:: 指定源地址
ping -S 192.168.1.100 www.baidu.com
:: 输出示例
正在 Ping www.baidu.com [14.215.177.38] 具有 32 字节的数据:
来自 14.215.177.38 的回复:字节=32 时间=25ms TTL=54
来自 14.215.177.38 的回复:字节=32 时间=24ms TTL=54
来自 14.215.177.38 的回复:字节=32 时间=26ms TTL=54
来自 14.215.177.38 的回复:字节=32 时间=25ms TTL=54
14.215.177.38 的 Ping 统计信息:
数据包:已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间 (以毫秒为单位):
最短 = 24ms,最长 = 26ms,平均 = 25ms
2.2 路由跟踪命令
:: ========== Tracert 路由跟踪 ==========
:: 基本路由跟踪
tracert www.baidu.com
:: 不解析主机名(更快)
tracert -d www.baidu.com
:: 指定最大跳数
tracert -h 30 www.baidu.com
:: 指定超时时间
tracert -w 1000 www.baidu.com
:: 指定源地址
tracert -S 192.168.1.100 www.baidu.com
:: 输出示例
通过最多 30 个跃点跟踪到 www.baidu.com [14.215.177.38] 的路由:
1 1 ms 1 ms 1 ms 192.168.1.1
2 10 ms 9 ms 10 ms 10.0.0.1
3 15 ms 14 ms 15 ms 202.97.0.1
4 20 ms 19 ms 20 ms 14.215.177.38
跟踪完成。
:: ========== Pathping 路径分析 ==========
:: 综合 ping 和 tracert 的功能
pathping www.baidu.com
:: 不解析主机名
pathping -n www.baidu.com
:: 指定查询次数
pathping -q 10 www.baidu.com
:: 指定超时时间
pathping -w 1000 www.baidu.com
:: 输出示例(分两阶段)
阶段 1:计算路由...
0 DESKTOP-ABC123 [192.168.1.100]
1 192.168.1.1
2 10.0.0.1
3 14.215.177.38
阶段 2:统计丢包率...
节点/链接 IP 丢失/发送=Pct 地址
0 0/100= 0% 192.168.1.100
1 0/100= 0% 192.168.1.1
2 5/100= 5% 10.0.0.1
3 0/100= 0% 14.215.177.38
2.3 DNS 查询命令
:: ========== Nslookup DNS 查询 ==========
:: 基本 DNS 查询
nslookup www.baidu.com
:: 指定 DNS 服务器
nslookup www.baidu.com 8.8.8.8
nslookup www.baidu.com 114.114.114.114
:: 查询特定记录类型
nslookup -type=A www.baidu.com (IPv4 地址)
nslookup -type=AAAA www.baidu.com (IPv6 地址)
nslookup -type=MX baidu.com (邮件服务器)
nslookup -type=NS baidu.com (名称服务器)
nslookup -type=CNAME www.baidu.com (别名)
nslookup -type=TXT baidu.com (文本记录)
nslookup -type=SOA baidu.com (授权起始)
nslookup -type=PTR 8.8.8.8 (反向查询)
:: 交互模式
nslookup
> server 8.8.8.8
> www.baidu.com
> set type=MX
> baidu.com
> exit
:: 输出示例
服务器: dns.google
Address: 8.8.8.8
非权威应答:
名称: www.baidu.com
Addresses: 14.215.177.38
14.215.177.39
2.4 端口连接测试
:: ========== 端口连接测试 ==========
:: Telnet 测试(需要启用 Telnet 客户端)
telnet 192.168.1.100 80
telnet www.baidu.com 443
:: PowerShell Test-NetConnection(Win8+)
powershell "Test-NetConnection 192.168.1.100 -Port 80"
powershell "Test-NetConnection www.baidu.com -Port 443"
:: PowerShell 详细测试
powershell "Test-NetConnection -ComputerName 192.168.1.100 -Port 80 -InformationLevel Detailed"
:: 使用 PsPing(Sysinternals 工具)
psping 192.168.1.100:80
psping -t 192.168.1.100:80
:: 输出示例(Test-NetConnection)
ComputerName : 192.168.1.100
RemoteAddress : 192.168.1.100
RemotePort : 80
InterfaceAlias : 以太网
SourceAddress : 192.168.1.50
TcpTestSucceeded : True
2.5 连通性测试脚本
:: ========== 连通性测试脚本 ==========
:: 文件名:connectivity_test.bat
@echo off
title 网络连通性测试
color 0a
echo ====================================
echo 网络连通性测试
echo ====================================
echo.
:: 1. 本地回环测试
echo [1] 本地回环测试
ping 127.0.0.1 -n 2
echo.
:: 2. 本地 IP 测试
echo [2] 本地 IP 测试
for /f "tokens=2" %%i in ('ipconfig ^| findstr /C:"IPv4 地址"') do (
set localip=%%i
ping %%i -n 2
goto :next1
)
:next1
echo.
:: 3. 网关测试
echo [3] 网关测试
for /f "tokens=2" %%i in ('ipconfig ^| findstr /C:"默认网关"') do (
set gateway=%%i
echo 网关:%%i
ping %%i -n 4
goto :next2
)
:next2
echo.
:: 4. DNS 测试
echo [4] DNS 解析测试
nslookup www.baidu.com
echo.
:: 5. 外网 IP 测试
echo [5] 外网 IP 测试
ping 8.8.8.8 -n 4
echo.
:: 6. 域名测试
echo [6] 域名连通性测试
ping www.baidu.com -n 4
echo.
:: 7. 路由跟踪
echo [7] 路由跟踪(前 5 跳)
tracert -d -h 5 www.baidu.com
echo.
:: 8. 结果总结
echo ====================================
echo 测试结果总结
echo ====================================
echo 本地回环:127.0.0.1
echo 本地 IP: %localip%
echo 默认网关:%gateway%
echo.
echo 如果以上任何一步失败,请检查相应网络配置
echo ====================================
pause
三、网络配置管理命令
3.1 Netsh 命令详解
:: ========== Netsh 基础命令 ==========
:: 进入 netsh 交互模式
netsh
netsh> interface
netsh interface> ip
:: 查看网络配置
netsh interface show interface
netsh interface ip show config
netsh interface ip show addresses
netsh interface ip show dns
:: 查看接口统计
netsh interface ip show stats
:: ========== IP 地址配置 ==========
:: 设置静态 IP
netsh interface ip set address "以太网" static 192.168.1.100 255.255.255.0 192.168.1.1 1
:: 设置 DHCP
netsh interface ip set address "以太网" dhcp
:: 添加备用 IP
netsh interface ip add address "以太网" 192.168.1.101 255.255.255.0
:: 删除 IP 地址
netsh interface ip delete address "以太网" 192.168.1.101
:: 设置 DNS
netsh interface ip set dns "以太网" static 8.8.8.8
netsh interface ip add dns "以太网" 114.114.114.114 index=2
:: 设置 DHCP DNS
netsh interface ip set dns "以太网" dhcp
:: 设置 WINS
netsh interface ip set wins "以太网" static 192.168.1.10
netsh interface ip set wins "以太网" dhcp
:: ========== 接口管理 ==========
:: 启用接口
netsh interface set interface "以太网" enabled
:: 禁用接口
netsh interface set interface "以太网" disabled
:: 重命名接口
netsh interface set interface name="以太网" newname="LAN"
:: 查看接口
netsh interface show interface
:: 导出接口配置
netsh interface dump > C:\interface_config.txt
:: 导入接口配置
netsh exec C:\interface_config.txt
:: ========== 防火墙配置 ==========
:: 查看防火墙状态
netsh advfirewall show allprofiles state
:: 启用防火墙
netsh advfirewall set allprofiles state on
:: 禁用防火墙
netsh advfirewall set allprofiles state off
:: 添加入站规则
netsh advfirewall firewall add rule name="Allow HTTP" dir=in action=allow protocol=TCP localport=80
:: 添加出站规则
netsh advfirewall firewall add rule name="Allow HTTPS" dir=out action=allow protocol=TCP localport=443
:: 删除规则
netsh advfirewall firewall delete rule name="Allow HTTP"
:: 查看规则
netsh advfirewall firewall show rule name=all
:: 导出防火墙配置
netsh advfirewall export C:\firewall.wfw
:: 导入防火墙配置
netsh advfirewall import C:\firewall.wfw
:: 重置防火墙
netsh advfirewall reset
3.2 路由管理命令
:: ========== 路由表管理 ==========
:: 查看路由表
route print
route print -4
route print -6
:: 查看特定路由
route print 192.168.*
:: 添加静态路由
route add 10.0.0.0 mask 255.0.0.0 192.168.1.1
route add 10.0.0.0 mask 255.0.0.0 192.168.1.1 metric 5
route add 10.0.0.0 mask 255.0.0.0 192.168.1.1 -p (永久路由)
:: 修改路由
route change 10.0.0.0 mask 255.0.0.0 192.168.1.2
:: 删除路由
route delete 10.0.0.0
:: 清除所有路由(谨慎使用)
route -f
:: 输出示例
===========================================================================
接口列表
1...00 11 22 33 44 55 ......Realtek PCIe GbE Family Controller
===========================================================================
IPv4 路由表
===========================================================================
活动路由:
网络目标 网络掩码 网关 接口 跃点数
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.100 25
127.0.0.0 255.0.0.0 在链路上 127.0.0.1 331
192.168.1.0 255.255.255.0 在链路上 192.168.1.100 281
===========================================================================
3.3 ARP 缓存管理
:: ========== ARP 缓存管理 ==========
:: 查看 ARP 缓存
arp -a
:: 查看特定接口的 ARP 缓存
arp -a -N 192.168.1.100
:: 添加静态 ARP 条目
arp -s 192.168.1.50 00-11-22-33-44-55
:: 删除 ARP 条目
arp -d 192.168.1.50
:: 清空 ARP 缓存
arp -d *
:: 输出示例
接口:192.168.1.100 --- 0xa
Internet 地址 物理地址 类型
192.168.1.1 00-11-22-33-44-55 动态
192.168.1.50 00-aa-bb-cc-dd-ee 静态
192.168.1.255 ff-ff-ff-ff-ff-ff 静态
3.4 网络配置备份与恢复
:: ========== 网络配置备份 ==========
:: 导出网络配置
netsh interface dump > C:\network_backup.txt
netsh advfirewall export C:\firewall_backup.wfw
reg export HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters C:\tcpip_backup.reg
:: 恢复网络配置
netsh exec C:\network_backup.txt
netsh advfirewall import C:\firewall_backup.wfw
reg import C:\tcpip_backup.reg
:: 重置网络配置
netsh int ip reset
netsh winsock reset
netsh advfirewall reset
四、网络故障修复命令
4.1 网络重置命令
:: ========== 完整网络重置 ==========
:: 1. 释放和更新 IP
ipconfig /release
ipconfig /renew
:: 2. 刷新 DNS
ipconfig /flushdns
ipconfig /registerdns
:: 3. 重置 Winsock
netsh winsock reset
:: 4. 重置 TCP/IP
netsh int ip reset
netsh int ipv4 reset
netsh int ipv6 reset
:: 5. 重置防火墙
netsh advfirewall reset
:: 6. 重置网络适配器
netsh interface set interface "以太网" disable
netsh interface set interface "以太网" enable
:: 7. 重启网络服务
net stop lanmanworkstation
net start lanmanworkstation
net stop dnscache
net start dnscache
:: 8. 重启计算机(完成重置)
shutdown /r /t 0
4.2 DNS 问题修复
:: ========== DNS 问题修复 ==========
:: 刷新 DNS 缓存
ipconfig /flushdns
:: 显示 DNS 缓存
ipconfig /displaydns
:: 清除 DNS 缓存
ipconfig /flushdns
:: 注册 DNS
ipconfig /registerdns
:: 设置 DNS 服务器
netsh interface ip set dns "以太网" static 8.8.8.8
netsh interface ip add dns "以太网" 114.114.114.114 index=2
:: 恢复 DHCP DNS
netsh interface ip set dns "以太网" dhcp
:: 测试 DNS 解析
nslookup www.baidu.com
nslookup www.baidu.com 8.8.8.8
:: 清除 DNS 缓存文件
del /f /q C:\Windows\System32\dns\cache.*
4.3 网络适配器修复
:: ========== 网络适配器修复 ==========
:: 查看适配器状态
netsh interface show interface
:: 禁用/启用适配器
netsh interface set interface "以太网" disable
timeout /t 3 /nobreak
netsh interface set interface "以太网" enable
:: 更新驱动
pnputil /scan-devices
pnputil /update-driver C:\driver\*.inf
:: 卸载适配器(设备管理器)
devmgmt.msc
:: 重新安装适配器
:: 1. 设备管理器中卸载
:: 2. 扫描硬件改动
:: 3. 或重启计算机
:: 重置适配器配置
netsh interface ip reset
netsh winsock reset
4.4 网络故障修复脚本
:: ========== 网络故障修复脚本 ==========
:: 文件名:network_repair.bat
:: 需要管理员权限
@echo off
title 网络故障修复工具
color 0c
echo ====================================
echo Windows 网络故障修复工具
echo ====================================
echo.
echo 警告:此脚本将重置网络配置
echo 按任意键继续,或按 Ctrl+C 取消
pause >nul
echo.
echo [1/8] 释放 IP 地址...
ipconfig /release >nul 2>&1
echo 完成
echo.
echo [2/8] 更新 IP 地址...
ipconfig /renew >nul 2>&1
echo 完成
echo.
echo [3/8] 刷新 DNS 缓存...
ipconfig /flushdns >nul 2>&1
echo 完成
echo.
echo [4/8] 重置 Winsock...
netsh winsock reset >nul 2>&1
echo 完成
echo.
echo [5/8] 重置 TCP/IP...
netsh int ip reset >nul 2>&1
echo 完成
echo.
echo [6/8] 重置防火墙...
netsh advfirewall reset >nul 2>&1
echo 完成
echo.
echo [7/8] 重启 DNS 服务...
net stop dnscache >nul 2>&1
net start dnscache >nul 2>&1
echo 完成
echo.
echo [8/8] 注册 DNS...
ipconfig /registerdns >nul 2>&1
echo 完成
echo.
echo ====================================
echo 网络修复完成!
echo 建议重启计算机以使更改生效
echo ====================================
echo.
set /p restart="是否立即重启?(Y/N): "
if /i "%restart%"=="Y" (
shutdown /r /t 0
) else (
echo 请手动重启计算机
pause
)
五、高级网络诊断工具
5.1 Windows 内置诊断工具
:: ========== 网络诊断工具 ==========
:: 网络疑难解答
msdt.exe /id NetworkDiagnosticsNetworkAdapter
:: 网络共享中心
control.exe /name Microsoft.NetworkAndSharingCenter
:: 网络连接文件夹
ncpa.cpl
:: 网络诊断
netsh diag show all
:: 网络状态
netsh wlan show networks
:: WiFi 配置文件
netsh wlan show profiles
netsh wlan show profile name="WiFi 名称" key=clear
:: 网络适配器诊断
netsh interface show interface
5.2 性能监控工具
:: ========== 网络性能监控 ==========
:: 性能监视器
perfmon
:: 资源监视器
resmon
:: 网络监视器(添加计数器)
typeperf "\Network Interface(*)\Bytes Total/sec" -si 5 -sc 12
typeperf "\Network Interface(*)\Packets/sec" -si 5 -sc 12
typeperf "\Network Interface(*)\Packets Outbound Errors" -si 5 -sc 12
:: 查看网络适配器性能
netstat -e 5 (每 5 秒刷新)
:: PowerShell 网络监控
powershell "Get-Counter '\Network Interface(*)\Bytes Total/sec' -SampleInterval 2 -MaxSamples 5"
5.3 第三方诊断工具
| | | | | — | — | — | | 工具 | 用途 | 下载 | | Wireshark | 抓包分析 | wireshark.org | | PsPing | 端口测试 | Microsoft Sysinternals | | TcpView | 连接监控 | Microsoft Sysinternals | | Fiddler | HTTP 调试 | telerik.com/fiddler | | NetBalancer | 流量控制 | netbalancer.com | | GlassWire | 网络监控 | glasswire.com |
5.4 抓包分析命令
:: ========== 使用 netsh 抓包 ==========
:: 开始抓包
netsh trace start capture=yes tracefile=C:\network.etl
:: 停止抓包
netsh trace stop
:: 查看抓包状态
netsh trace show status
:: 使用 Wireshark 分析
:: 1. 转换 ETL 到 PCAP
netsh trace convert input=C:\network.etl output=C:\network.pcap
:: 2. 用 Wireshark 打开
wireshark C:\network.pcap
:: PowerShell 抓包
powershell "Start-NetEventSession -Name Capture -CaptureMode SaveToFile -LocalFilePath C:\capture.etl"
powershell "Stop-NetEventSession -Name Capture"
六、常见网络问题排查
6.1 无法上网排查流程
┌─────────────────────────────────────────────────────────────────┐
│ 无法上网 │
└─────────────────────────┬───────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ 1. 检查本地连接 │
│ ipconfig /all │
│ 确认 IP 地址、子网掩码、网关是否正确 │
└─────────────────────────┬───────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ 2. 测试本地连通性 │
│ ping 127.0.0.1 (回环测试) │
│ ping 本地 IP (网卡测试) │
└─────────────────────────┬───────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ 3. 测试网关连通性 │
│ ping 网关 IP │
│ 失败→检查网线/路由器 │
└─────────────────────────┬───────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ 4. 测试 DNS 解析 │
│ nslookup www.baidu.com │
│ 失败→检查 DNS 服务器配置 │
└─────────────────────────┬───────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ 5. 测试外网连通性 │
│ ping 8.8.8.8 │
│ 失败→检查路由器/ISP │
└─────────────────────────┬───────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ 6. 执行网络重置 │
│ netsh winsock reset │
│ netsh int ip reset │
│ 重启计算机 │
└─────────────────────────────────────────────────────────────────┘
6.2 常见网络问题及解决方案
| | | | | — | — | — | | 问题 | 诊断命令 | 解决方案 | | 无 IP 地址 | ipconfig | ipconfig /renew | | IP 冲突 | arp -a | 更改静态 IP 或重启 DHCP | | 网关不通 | ping 网关 | 检查路由器/网线 | | DNS 失败 | nslookup | 更换 DNS 服务器 | | 端口不通 | telnet IP 端口 | 检查防火墙/服务 | | 网速慢 | pathping | 检查带宽/干扰 | | 频繁断线 | ping -t 网关 | 检查网卡驱动/硬件 | | WiFi 连不上 | netsh wlan show | 重置 WiFi 配置 |
6.3 WiFi 问题排查
:: ========== WiFi 问题排查 ==========
:: 查看 WiFi 适配器
netsh wlan show interfaces
:: 查看可用网络
netsh wlan show networks
:: 查看保存的配置文件
netsh wlan show profiles
:: 查看 WiFi 密码
netsh wlan show profile name="WiFi 名称" key=clear
:: 连接 WiFi
netsh wlan connect name="WiFi 名称"
:: 断开 WiFi
netsh wlan disconnect
:: 删除配置文件
netsh wlan delete profile name="WiFi 名称"
:: 查看 WiFi 信号质量
netsh wlan show interfaces | findstr "信号"
:: 重置 WiFi
netsh wlan delete profile name=*
netsh int ip reset
netsh winsock reset
6.4 网络问题排查脚本
:: ========== 网络问题诊断脚本 ==========
:: 文件名:network_troubleshoot.bat
@echo off
title 网络问题诊断工具
color 0b
echo ====================================
echo 网络问题诊断工具
echo ====================================
echo.
set PROBLEM=0
:: 1. 检查网络适配器
echo [1] 检查网络适配器...
netsh interface show interface | findstr "已连接"
if errorlevel 1 (
echo ❌ 未检测到连接的网络适配器
set PROBLEM=1
) else (
echo ✓ 网络适配器正常
)
echo.
:: 2. 检查 IP 配置
echo [2] 检查 IP 配置...
ipconfig | findstr "IPv4"
if errorlevel 1 (
echo ❌ 未获取到 IP 地址
set PROBLEM=1
) else (
echo ✓ IP 配置正常
)
echo.
:: 3. 测试网关
echo [3] 测试网关连通性...
for /f "tokens=2" %%i in ('ipconfig ^| findstr /C:"默认网关"') do (
ping %%i -n 2 -w 1000 | findstr "TTL"
if errorlevel 1 (
echo ❌ 网关不通:%%i
set PROBLEM=1
) else (
echo ✓ 网关连通:%%i
)
goto :next1
)
:next1
echo.
:: 4. 测试 DNS
echo [4] 测试 DNS 解析...
nslookup www.baidu.com | findstr "Address"
if errorlevel 1 (
echo ❌ DNS 解析失败
set PROBLEM=1
) else (
echo ✓ DNS 解析正常
)
echo.
:: 5. 测试外网
echo [5] 测试外网连通性...
ping 8.8.8.8 -n 2 -w 1000 | findstr "TTL"
if errorlevel 1 (
echo ❌ 外网不通
set PROBLEM=1
) else (
echo ✓ 外网连通
)
echo.
:: 6. 总结
echo ====================================
if %PROBLEM% equ 0 (
echo 网络状态正常
) else (
echo 发现网络问题,建议执行以下操作:
echo 1. ipconfig /release ^&^& ipconfig /renew
echo 2. ipconfig /flushdns
echo 3. netsh winsock reset
echo 4. netsh int ip reset
echo 5. 重启计算机
)
echo ====================================
pause
七、自动化诊断脚本
7.1 完整网络诊断脚本
:: ========== 完整网络诊断脚本 ==========
:: 文件名:full_network_diagnosis.bat
:: 需要管理员权限
@echo off
title 完整网络诊断工具
color 0a
set LOG_DIR=C:\NetworkDiagnosis
set LOG_FILE=%LOG_DIR%\diagnosis_%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%.log
set LOG_FILE=%LOG_FILE: =0%
if not exist %LOG_DIR% mkdir %LOG_DIR%
echo ==================================== > %LOG_FILE%
echo 网络诊断报告 >> %LOG_FILE%
echo 时间:%date% %time% >> %LOG_FILE%
echo ==================================== >> %LOG_FILE%
echo.
:: 诊断函数
:diagnose
echo %1 >> %LOG_FILE%
echo %1
shift
:loop
if "%1"=="" goto :eof
echo %1 >> %LOG_FILE%
shift
goto loop
:section
echo. >> %LOG_FILE%
echo ==================================== >> %LOG_FILE%
echo %1 >> %LOG_FILE%
echo ==================================== >> %LOG_FILE%
echo.
echo %1
shift
goto :eof
:: 开始诊断
call :section [1] 系统信息
hostname >> %LOG_FILE%
ver >> %LOG_FILE%
echo.
call :section [2] 网络适配器
netsh interface show interface >> %LOG_FILE%
echo.
call :section [3] IP 配置
ipconfig /all >> %LOG_FILE%
echo.
call :section [4] 路由表
route print >> %LOG_FILE%
echo.
call :section [5] ARP 缓存
arp -a >> %LOG_FILE%
echo.
call :section [6] 网络连接
netstat -ano >> %LOG_FILE%
echo.
call :section [7] 连通性测试
call :diagnose 本地回环:
ping 127.0.0.1 -n 2 >> %LOG_FILE%
call :diagnose 网关测试:
for /f "tokens=2" %%i in ('ipconfig ^| findstr /C:"默认网关"') do ping %%i -n 2 >> %LOG_FILE%
call :diagnose DNS 测试:
nslookup www.baidu.com >> %LOG_FILE% 2>&1
call :diagnose 外网测试:
ping 8.8.8.8 -n 2 >> %LOG_FILE%
echo.
call :section [8] DNS 配置
ipconfig /displaydns >> %LOG_FILE% 2>&1
echo.
call :section [9] 防火墙状态
netsh advfirewall show allprofiles state >> %LOG_FILE%
echo.
call :section [10] 网络统计
netstat -e >> %LOG_FILE%
echo.
echo ==================================== >> %LOG_FILE%
echo 诊断完成 >> %LOG_FILE%
echo 日志文件:%LOG_FILE% >> %LOG_FILE%
echo ==================================== >> %LOG_FILE%
echo.
echo ====================================
echo 网络诊断完成
echo 日志文件:%LOG_FILE%
echo ====================================
pause
7.2 网络监控脚本
:: ========== 网络监控脚本 ==========
:: 文件名:network_monitor.bat
@echo off
title 网络实时监控
color 0b
:loop
cls
echo ====================================
echo 网络实时监控
echo 时间:%date% %time%
echo 按 Ctrl+C 退出
echo ====================================
echo.
:: IP 信息
echo [IP 地址]
ipconfig | findstr "IPv4"
echo.
:: 网关
echo [默认网关]
ipconfig | findstr "默认网关"
echo.
:: 连接数
echo [网络连接数]
echo 总连接:
netstat -ano | find /c /v ""
echo 已建立:
netstat -ano | findstr "ESTABLISHED" | find /c /v ""
echo.
:: 监听端口
echo [监听端口数]
netstat -ano | findstr "LISTENING" | find /c /v ""
echo.
:: Ping 测试
echo [外网 Ping 测试]
ping 8.8.8.8 -n 1 | findstr "时间"
echo.
timeout /t 5 /nobreak >nul
goto :loop
八、命令速查表
8.1 网络诊断命令速查
| | | | | — | — | — | | 功能 | 命令 | 说明 | | 查看 IP | ipconfig /all | 完整 IP 配置 | | 更新 IP | ipconfig /renew | 获取新 IP | | 释放 IP | ipconfig /release | 释放当前 IP | | 刷新 DNS | ipconfig /flushdns | 清除 DNS 缓存 | | Ping 测试 | ping 目标 | 测试连通性 | | 路由跟踪 | tracert 目标 | 跟踪路由路径 | | 路径分析 | pathping 目标 | 综合 ping+tracert | | DNS 查询 | nslookup 域名 | 查询 DNS 记录 | | 连接统计 | netstat -ano | 查看所有连接 | | ARP 缓存 | arp -a | 查看 ARP 表 | | 路由表 | route print | 查看路由表 | | 网络配置 | netsh interface ip show config | 查看接口配置 | | 重置网络 | netsh winsock reset | 重置 Winsock | | 防火墙 | netsh advfirewall | 防火墙配置 | | WiFi | netsh wlan | WiFi 配置 |
8.2 网络故障快速修复
:: 快速修复命令序列
ipconfig /release
ipconfig /renew
ipconfig /flushdns
netsh winsock reset
netsh int ip reset
netsh advfirewall reset
shutdown /r /t 0
:: 单行执行
ipconfig /release && ipconfig /renew && ipconfig /flushdns && netsh winsock reset && netsh int ip reset
8.3 常用端口参考
| | | | | — | — | — | | 端口 | 服务 | 测试命令 | | 80 | HTTP | telnet 目标 80 | | 443 | HTTPS | telnet 目标 443 | | 22 | SSH | telnet 目标 22 | | 21 | FTP | telnet 目标 21 | | 25 | SMTP | telnet 目标 25 | | 53 | DNS | nslookup | | 3306 | MySQL | telnet 目标 3306 | | 3389 | RDP | mstsc /v:目标 |
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:运维星火燎原 刘军军 刘军军《Windows 网络诊断命令详解》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论