在本文中,我将向您展示如何使用命令行工具ipconfig。如果您是IT管理员,ipconfig是一个非常有用的控制台应用程序,可以帮助您解决Windows中的网络连接问题。
Linux和其他操作系统(OS)具有类似的功能,但它们通常使用不同的命令来实现。在Linux中,ipconfig的对应命令是ifconfig和ip命令。但是,在macOS中则结合了ipconfig和ifconfig。
什么是ipconfig?
Ipconfig是用于分析、配置和解决系统网络设置问题的最常用的命令行工具之一,无论是在家庭还是企业环境中。这是任何系统管理员和网络工程师都将了解和珍视的工具之一。
总的来说,这个命令行工具易于学习,相对容易掌握。它消除了浏览多个不同基于GUI的实用程序的需要,这些实用程序往往会随着每个新版本的Windows而更改(让像我这样的人感到恼火)。
如何使用ipconfig命令
传统上,ipconfig是在命令行会话中运行的。但在Windows上,您可以使用以下任一解决方案启动它:
- 打开Windows开始菜单,点击Windows系统文件夹,然后选择命令提示符。
- 使用Windows键+R打开运行框,输入cmd,然后按Enter键。
- 使用Windows键+X打开快速链接菜单。那里可能会列出命令提示符和命令提示符(管理员),但这取决于您的Windows版本。
- 您也可以在Windows PowerShell中访问它,可以通过开始菜单搜索或在开始菜单中的Windows PowerShell文件夹中启动
- 另外,Windows 终端允许您在单个应用程序中拥有多个选项卡。因此,您可以混合并匹配命令提示符、PowerShell、Azure 云 Shell、WSL 等。Windows 终端现在预装在 Windows 10 和 Windows 11 上。您可以通过 Windows 搜索或“开始”菜单访问它。
如果您不设置任何参数,ipconfig 命令将为系统中的所有网络适配器显示以下信息:
- 连接特定的 DNS 后缀
- 本地链路 IPv6 地址
- IPv4 地址
- 子网掩码
- 默认网关
下面的图像显示了我测试服务器的输出,其中包含单个(虚拟)网络适配器。您应该在具有相同单个网络适配器控制器(NIC)配置的系统上看到类似的内容。

如何将 ipconfig 命令的输出重定向到文本文件
您可能希望将ipconfig的输出保存在文本文件中。这对文档化非常方便。并且证明您没有犯下导致整个基础架构垮掉的错误(我可能有些夸张,但有时候微小的更改可能会产生巨大的影响)。
要将结果输出到文本文件,我们只需使用“>”(大于)符号,这对许多其他命令行工具同样适用。
要将ipconfig /all 命令的输出保存到名为 ipdetailsserver1.txt 的文件中,需要运行以下命令:
ipconfig /all > ipdetailsserver1.txt
要快速检查刚创建的文本文件的内容,运行type 命令,然后跟上文件名:
type ipdetailsserver1.txt
下方的图片显示了导出命令的结果,以及ipdetailsserver1.txt 文件的内容。

您应该学习的前十个 ipconfig 命令
以下是您应该了解并掌握的最重要的 ipconfig 命令。一如既往,鼓励您使用您喜爱的搜索引擎获取帮助。许多操作系统还提供了内置的帮助功能,解释何时以及如何最佳地使用这些命令。我知道命令的数量超过了10个,但它们很好地适合十个类别。
1. Ipconfig /all
正如你所猜到的,我们上面使用的 /all 参数将列出所有网络适配器的配置信息。请注意,这个命令将从 Windows IP 配置部分开始,其中包括以下六个项目:
- 主机名
- 主 DNS 后缀
- 节点类型
- IP 路由已启用
- WINS 代理已启用
- DNS 后缀搜索列表
然后,对于每个网卡,它将列出所有它们的设置:
- 连接特定的 DNS 后缀
- 描述
- 物理地址(MAC 地址)
- DHCP 已启用
- 自动配置已启用
- IPv6 地址
- 临时 IPv6 地址
- 链路本地 IPv6 地址
- IPv4 地址
- 子网掩码
- 租约获取时间
- 租约到期时间
- 默认网关
- DHCP 服务器
- DHCPv6 IAID
- DHCPv6 客户端 DUID
- DNS 服务器
- TCP/IP 上的 NetBIOS
总的来说,这个命令提供了大量信息,有助于故障排除。同时,也非常有用用于文档记录目的。
2. Ipconfig /allcompartments
A bit of a relic from a long time ago (Windows Vista), the /allcompartments will output the same information as the ipconfig command without any parameters. The image below shows a comparison of the outputs of the two commands.
ipconfig /allcompartments

3. Ipconfig /displaydns
这个/displaydns参数会显示你系统的DNS解析器缓存。缓存可以减少网络流量,因为它会跟踪你已经访问过的IP地址和网站名称。此外,它还会包含你本地Hosts文件的内容(如果有的话)。每条记录包含以下几个部分:
- 每个部分以被缓存的域名名称开头,然后包含一个或多个记录。
- 记录名称:远程计算机的名称。
- 记录类型:常见类型包括1表示A(IP4地址),28表示AAAA(IPv6),15表示MX(邮件交换),2表示NS(名称服务器)。
- 存续时间:显示条目何时会过期(以秒为单位)。
- 数据长度:以字节为单位(例如,IP4地址长度为四个字节,IPv6为16个字节)
- 部分:通常会看到“Answer”列在那里,但也可能是“Additional”。
- A (Host) Record: The IP address for the record.
ipconfig /Displaydns

4. ipconfig /flushdns
/flushdns参数将会清除DNS解析器缓存。这在进行故障排除或想要摆脱有缺陷或过时DNS记录时很有用。缓存会在你浏览互联网或在正常系统活动期间重新填充。
A reboot of your system also flushes the DNS resolver cache. This helps to keep some privacy, but it doesn’t get rid of your browsing history.

5. ipconfig /registerdns
/registerdns参数注册(或刷新)所有DHCP租约,并重新注册系统所有网络适配器的DNS名称。这可能需要一些时间,但无论如何,这有助于解决系统与DNS服务器之间的问题。Windows还会在重新启动过程中注册或更新客户端的DNS注册。
ipconfig /Registerdns

6. Ipconfig /release
该参数仅适用于通过DHCP分配的网络适配器。/release参数向DHCP服务器发送请求,放弃活动租约并将其(或它们)从系统中删除。
请注意,如果您不指定适配器,则所有活动的DHCP租约将被释放。这可能不符合您的最佳利益。因此,请确保语法正确。另外,如果您远程连接到系统,然后释放您通过连接的适配器的IP地址,那么您将终止您的活动会话。
ipconfig /release
例如,要释放名为“Ethernet0”的网络适配器的IP地址,您需要键入以下命令:
ipconfig /release “Ethernet0”
您还可以使用通配符一次释放多个IP地址。要释放所有以“Ether”开头的适配器的IP地址,您需要输入以下命令:
ipconfig /release Ether*
要释放所有以“net”结尾的适配器的IP地址,您需要使用以下命令:
ipconfig /release *net
要释放所有包含“erne”的适配器的IP地址,您需要使用以下命令:
ipconfig /release *erne*
最后,/Release6参数是/release的IPv6等效参数,仅释放IPv4地址。
ipconfig /release6
7. Ipconfig /renew
此参数会更新一个IP4地址。与释放参数一样,/renew适用于所有系统网络适配器(仅限DHCP)。
ipconfig /renew
同样,/renew6参数是/renew的IPv6等效参数,仅更新IP4地址。
ipconfig /renew6
8. Ipconfig /showclassid
用户类和供应商类允许您通过指定适用于某些用户或设备的策略,而不是适用于同一范围内的所有用户或设备,为客户端分配DHCP选项。在范围内拥有不同的类别,如果您想将一组设备分隔到范围内的一个片段,同时仍然保持动态主机托管,将会很有用。
通常,这些课程仅限于企业网络。在家用网络中很少遇到它们。您可以将课程应用于一组远程用户,以促进他们的访问。每个课程可以包含不同的DNS服务器、路由器、网关地址、不同时区的用户的时间偏移以及特定的租约时间。
使用/showclassid参数将显示指定适配器的DHCP类ID。此参数仅在具有配置为自动获取IP地址的适配器的计算机上可用。
Ipconfig /showclassid <adapter>
要显示您系统所有网络适配器的类信息,您需要输入以下命令,其中星号通配符字符替换‘adapter’。
ipconfig /showclassid *
对于IPv6地址,您可以使用/showclassid6参数。
ipconfig /showclassid6
9. ipconfig /setclassid
/setclassid参数允许您将类ID分配给系统的一个或多个适配器。要将类ID分配给所有网络适配器,请使用以下命令。您需要将‘classID’替换为您的类实际名称:
ipconfig /setclassid * classID
您还可以将类ID分配给特定的网络适配器。为此,您需要将‘adaptername’替换为特定适配器的名称,或者使用本文前面解释的通配符:
ipconfig /setclassid adaptername classID
如果未指定类ID,则将删除当前分配的类ID。对于IPv6地址,您也可以使用/setclassid6参数。
下图显示了将名为“policy1”的类ID分配给我的网络适配器“Ethernet1”。
ipconfig /setclassid Ethernet 1 policy1

10. Ipconfig /?
/?参数显示所有可用命令以及如何最佳使用它们的提示。您可以在下面的图像中看到更多详细信息。

结论
从检查家用PC的本地IP地址,显示您的DNS缓存,续订您的IP地址,以及设置类ID,ipconfig命令将帮助您完成许多网络分析,配置和故障排除任务,并使您的生活变得更加轻松。它不能做所有事情,但它绝对是您软件工具包中最有用的工具之一。