提到 Windows 网络诊断,很多人第一反应是 ipconfig。
但真正懂行的工程师都知道:netsh 才是隐藏在系统深处的“网络瑞士军刀”。
它不仅能查看 IP,还能:
- 重置整个 TCP/IP 协议栈
- 导出/导入完整网络配置
- 配置端口转发、防火墙规则、无线连接
- 修复“网络图标打叉”等顽疾
今天就带你解锁 netsh 的 7 大高能用法。
一、什么是 netsh?
netsh(Network Shell)是 Windows 内置的命令行网络配置工具,从 Windows2000 延续至今,支持脚本化、远程管理、批量操作。
它不是单一命令,而是一个交互式命令环境,可深入不同“上下文”(context)进行精细控制。
二、7 个必须掌握的 netsh 实战技巧
1⃣【急救】一键重置 TCP/IP 和 Winsock(解决“连不上网”终极方案)
当用户遇到:
- 能获取 IP,但无法上网
- DNS 解析失败
- 网络适配器显示“未识别的网络”
执行以下三连击(以管理员身份运行 CMD):
netsh int ip reset
netsh winsock reset
netsh interface teredo set state disabled
✅ 效果:
- 清除所有自定义 IP 路由、ARP 表、接口配置
- 重置 Winsock 目录(修复 LSP 劫持、代理异常)
- 禁用 Teredo(避免 IPv6 干扰)
重启后,网络恢复出厂状态!
适用场景:杀毒软件冲突、恶意驱动、系统更新失败后的网络异常。
2⃣【备份】导出/导入完整网络配置(批量部署神器)
导出当前配置:
netsh -c interface dump > network_config.txt
生成文件包含:
- 所有接口 IP、子网、网关
- 静态路由
- DHCP 状态
在新机器上导入:
netsh exec network_config.txt
✅ 用途:
- 快速克隆服务器网络设置
- 灾难恢复时还原网络环境
- 自动化部署脚本的一部分
3⃣【高级】配置端口转发(无需第三方工具)
想把访问本机 8080 端口的流量转发到内网 192.168.1.100:80?
一条命令搞定:
netsh interface portproxy add v4tov4 listenport=8080 listenaddress=0.0.0.0 connectport=80 connectaddress=192.168.1.100
查看已配置的转发:
netsh interface portproxy show all
删除转发规则:
netsh interface portproxy delete v4tov4 listenport=8080 listenaddress=0.0.0.0
注意:需开启 IP 转发(默认关闭):
reg add HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /v IpEnableRouter /t REG_DWORD /d 1 /f
4️⃣ 【安全】管理 Windows 防火墙(比图形界面更精准)
开放一个端口(如 RDP 3389):
netsh advfirewall firewall add rule name="Remote Desktop" dir=in action=allow protocol=TCP localport=3389
禁用所有入站规则(临时排错):
netsh advfirewall set allprofiles state off
恢复防火墙:
netsh advfirewall set allprofiles state on
✅ 优势:可写入批处理脚本,实现自动化安全策略部署。
5⃣【无线】查看/连接 Wi-Fi(无图形界面也能上网)
列出所有已保存的 Wi-Fi 配置文件:
netsh wlan show profiles
显示某个 Wi-Fi 的密码(需管理员权限):
netsh wlan show profile name="MyWiFi" key=clear
在输出中查找
关键内容 → Key Content
连接到指定 Wi-Fi:
netsh wlan connect name="MyWiFi"
适用于:服务器 Core 版、远程桌面无 GUI 场景。
6⃣【诊断】查看网络接口详细统计信息
比 ipconfig /all 更深入:
netsh interface ipv4 show interfaces
输出包含:
- 接口索引(Interface Index)
- MTU 值
- 接收/发送包计数
- 错误包数量(可用于判断网卡故障)
♂️ 结合
netsh interface ipv4 show ipaddresses 可查看多 IP 绑定情况。
7⃣【自动化】进入交互模式,批量操作
直接输入 netsh 进入交互环境:
C:\> netsh
netsh> interface
netsh interface> ip
netsh interface ip> show config
可逐级深入,像 Linux shell 一样操作,适合写复杂脚本。
三、常见问题与避坑指南
❓Q1:执行 netsh int ip reset 后需要重启吗?
✅ 强烈建议重启。虽然部分设置立即生效,但 Winsock 和驱动层需重启加载。
❓Q2:netsh 命令在 PowerShell 中能用吗?
✅ 可以!但需加 cmd /c 前缀,或直接调用:
netsh interface portproxy show all
❓ Q3:为什么端口转发不生效?
- 检查 Windows 防火墙是否放行 listenport
- 确认 目标主机可达
- 验证 IP 转发注册表项已启用
四、总结

ipconfig 告诉你“现在是什么”,netsh 让你“改成你想要的”。