别小看Windows的netsh,比ipconfig强大!

提到 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 转发注册表项已启用

四、总结

 

别小看Windows的netsh,比ipconfig强大!

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

上一篇 数据库连接失败的常见原因及排查方法
下一篇 IntelCPU