为了获取网络适配器信息、删除 DNS 缓存和 IP 地址,并通过 ipconfig /renew6 自动获取 IPv6 地址,可以使用以下步骤和命令。
PS C:\Users\Administrator> ipconfig /?
用法:
ipconfig [/allcompartments] [/? | /all |
/renew [adapter] | /release [adapter] |
/renew6 [adapter] | /release6 [adapter] |
/flushdns | /displaydns | /registerdns |
/showclassid adapter |
/setclassid adapter [classid] |
/showclassid6 adapter |
/setclassid6 adapter [classid] ]
其中
adapter 连接名称 (允许使用通配符 * 和 ?,参见示例)
选项:
ipconfig /? 显示此帮助消息
ipconfig /all 显示完整配置信息。
ipconfig /release 释放指定适配器的 IPv4 地址。
ipconfig /release6 释放指定适配器的 IPv6 地址。
ipconfig /renew 更新指定适配器的 IPv4 地址。
ipconfig /renew6 更新指定适配器的 IPv6 地址。
ipconfig /flushdns 清除 DNS 解析程序缓存。
ipconfig /registerdns 刷新所有 DHCP 租用并重新注册 DNS 名称
ipconfig /displaydns 显示 DNS 解析程序缓存的内容。
ipconfig /showclassid 显示适配器允许的所有 DHCP 类 ID。
ipconfig /setclassid 修改 DHCP 类 ID。
ipconfig /showclassid6 显示适配器允许的所有 IPv6 DHCP 类 ID。
ipconfig /setclassid6 修改 IPv6 DHCP 类 ID。
默认情况下,仅显示绑定到 TCP/IP 的每个适配器的 IP 地址、子网掩码和默认网关。
对于 Release 和 Renew,如果未指定适配器名称,则会释放或更新所有绑定到 TCP/IP 的适配器的 IP 地址租用。
对于 Setclassid 和 Setclassid6,如果未指定 ClassId,则会删除 ClassId。
示例:
> ipconfig ... 显示信息
> ipconfig /all ... 显示详细信息
> ipconfig /renew ... 更新所有适配器
> ipconfig /renew EL* ... 更新所有名称以 EL 开头的连接
> ipconfig /release *Con* ... 释放所有匹配的连接,例如“有线以太网连接 1”或“有线以太网连接 2”
> ipconfig /allcompartments ... 显示有关所有隔离舱的信息
> ipconfig /allcompartments /all ... 显示有关所有隔离舱的详细信息
为了获取网络适配器信息、删除 DNS 缓存和 IP 地址,并通过 ipconfig /renew6 自动获取 IPv6 地址,可以使用以下步骤和命令。
1. 获取网络适配器信息
首先,查看网络适配器信息:
ipconfig /all
2. 删除 DNS 缓存
清除 DNS 缓存的命令是:
ipconfig /flushdns
3. 释放当前的 IP 地址
释放当前的 IP 地址:
ipconfig /release
4. 通过 DHCP 重新获取 IPv6 地址
使用以下命令获取新的 DHCP IPv6 地址:
ipconfig /renew6
5. 自动化命令
你可以将这些命令组合成一个批处理文件(.bat),这样每次只需运行这个文件即可完成所有操作。以下是一个示例批处理文件内容:
@echo off
echo 获取网络适配器信息...
ipconfig /all
echo 清除 DNS 缓存...
ipconfig /flushdns
echo 释放当前 IP 地址...
ipconfig /release
echo 通过 DHCP 重新获取 IPv6 地址...
ipconfig /renew6
echo 完成!
pause
运行批处理文件
- 将上述代码复制到文本编辑器中,保存为
reset_network.bat。 - 右键点击该文件,选择“以管理员身份运行”。
这样就能自动执行所有步骤,完成对 DNS 缓存的清除、IP 地址的释放和 IPv6 地址的获取。
整套批处理命令逐条拆解:底层原理|依赖文件|依赖关系|配套链|逻辑链路
echo 清除 DNS 缓存...
ipconfig /flushdns
echo 释放当前 IP 地址...
ipconfig /release
echo 通过 DHCP 重新获取 IPv6 地址...
ipconfig /renew6
通用前置结论:ipconfig.exe仅为命令行控制前端程序,自身不会收发任何网络报文;所有实际网络交互、缓存管理、租约维护由后台服务承载;调用核心库:iphlpapi.dll、dnsapi.dll,跨进程依靠rpcrt4.dll完成 IPC 通信。
一、ipconfig /flushdns
底层原理
dnsapi.dll 导出函数 DnsFlushResolverCache(),通过本地 RPC 通知 Dnscache(DNS Client,dnscache.dll) 清空内存中全部 DNS 解析缓存(A/AAAA 记录、CNAME、NXDOMAIN 负缓存)。
依赖文件
- 主程序:
ipconfig.exe - API 库:
dnsapi.dll、rpcrt4.dll、kernel32.dll - 后台模块:
svchost.exe -k netsvcs加载dnscache.dll(Dnscache 服务)
依赖关系
逻辑链路
ipconfig.exe → dnsapi.dll → RPC通道 → svchost(Dnscache/dnscache.dll)
↓
清空内存DNS缓存 → 返回结果给控制台
配套链
- PowerShell 等效:
Clear-DnsClientCache - 查看缓存:
ipconfig /displaydns/Get-DnsClientCache - 排错观测:
Microsoft-Windows-DNS-Client/Operational事件日志
二、ipconfig /release
底层原理
0.0.0.0。
依赖文件
- 主程序:
ipconfig.exe - API 库:
iphlpapi.dll、rpcrt4.dll、ws2_32.dll - 后台模块:
svchost.exe -k netsvcs加载dhcpcsvc.dll(Dhcp IPv4 客户端) - 配置持久化:注册表
HKLM\SYSTEM\CurrentControlSet\Services\Dhcp\Parameters\Adapters\{网卡GUID}
依赖关系
逻辑链路
ipconfig.exe → iphlpapi.dll → RPC → svchost(dhcpcsvc.dll)
↓
ws2_32构造DHCPRELEASE报文
UDP 68→67 发送至DHCPv4服务器
网卡IPv4地址清零
配套链
- IPv4 续租配套:
ipconfig /renew - IPv6 释放配套:
ipconfig /release6 - 抓包过滤:
udp.port == 67 or udp.port == 68 - PowerShell:
Remove-NetIPAddress -AddressFamily IPv4
三、ipconfig /renew6
底层原理
RENEW 请求(UDP 546 ↔ 547),更新 DHCPv6 分配的 IPv6 地址、DNS、租期等参数。⚠️ 重要边界:renew6仅针对【有状态 DHCPv6 分配地址】;无法刷新 SLAAC 自动生成的 IPv6 地址(SLAAC 不依赖 DHCPv6)。上一条命令ipconfig /release只释放 IPv4,不影响 IPv6 租约,二者相互独立。
依赖文件
- 主程序:
ipconfig.exe - API 库:
iphlpapi.dll、rpcrt4.dll、ws2_32.dll - 后台模块:
svchost.exe -k netsvcs加载dhcpcsvc6.dll(DHCPv6 客户端)
依赖关系
逻辑链路
ipconfig.exe → iphlpapi.dll → RPC → svchost(dhcpcsvc6.dll)
↓
ws2_32构造DHCPv6 RENEW报文
UDP 546→547 和DHCPv6服务器交互
更新IPv6租约与相关网络参数
配套链
- IPv6 释放配套:
ipconfig /release6 - 抓包过滤:
udp.port == 546 or udp.port == 547 - 事件日志:
Microsoft-Windows-Dhcp-Client/Operational
整套脚本存在的关键运维问题(重点提醒)
ipconfig /release # 释放IPv4
ipconfig /renew6 # 仅续租IPv6
- IPv4 地址释放后,不会自动重新获取 IPv4!
脚本只释放 IPv4,缺少
ipconfig /renew,执行完成后电脑没有 IPv4 地址,断 IPv4 网络。 - IPv4 DHCP 与 IPv6 DHCP 两套独立协议、两套独立客户端模块,互不影响。
- 优化修正版本(如需同时恢复 IPv4 + 刷新 IPv6):
echo 清除 DNS 缓存...
ipconfig /flushdns
echo 释放IPv4地址并重新获取IPv4
ipconfig /release
ipconfig /renew
echo 刷新DHCPv6地址
ipconfig /renew6
服务依赖总览
| 命令 | 依赖后台服务 | 协议端口 |
|---|---|---|
| ipconfig /flushdns | Dnscache | 本地 IPC,无端口 |
| ipconfig /release | Dhcp(dhcpcsvc.dll) | DHCPv4 UDP 67/68 |
| ipconfig /renew6 | Dhcp(dhcpcsvc6.dll) | DHCPv6 UDP 546/547 |

浙公网安备 33010602011771号