Windows 命令提示符网络命令
最后修改于 2025 年 7 月 14 日
Windows 命令提示符提供强大的网络命令,用于故障排除、配置和监控。这些工具有助于诊断连接问题、分析网络性能和配置网络设置。网络命令对于系统管理员和 IT 专业人员至关重要。
这些命令的范围从基本的连接测试到高级配置。它们可以显示 IP 地址、测试连接、显示路由表等。许多网络问题无需图形工具,仅通过这些命令即可诊断。它们适用于从 Windows XP 到 11 的所有 Windows 版本。
网络命令通常需要管理员权限才能实现全部功能。有些命令提供实时监控功能。另一些则生成关于网络使用和性能的统计信息。学习这些命令可以提高您有效管理 Windows 网络的能力。
本教程将通过实际示例涵盖重要的网络命令。我们将探讨 IP 配置、连接测试、DNS 解析等。每个示例都包含命令语法和输出解释的详细说明。
基本网络定义
在深入研究命令之前,让我们先定义一些关键的网络概念。理解这些术语有助于解释命令输出和诊断问题。
IP 地址:网络上设备的唯一标识符。IPv4 使用四个八位字节(例如,192.168.1.1),而 IPv6 使用十六进制。
子网掩码:确定 IP 地址的哪个部分标识网络,哪个部分标识主机。常见的掩码包括 255.255.255.0 (/24)。
网关:将本地网络连接到其他网络(包括 Internet)的设备(通常是路由器)。
DNS:域名系统将人类可读的域名(例如,zetcode.com)转换为 IP 地址。
MAC 地址:网络接口的硬件标识符,每个设备唯一,格式为六对十六进制数。
检查 IP 配置
ipconfig 命令显示当前的网络配置。它显示所有网络适配器的 IP 地址、子网掩码、网关和 DNS 服务器。
@echo off echo Basic IP Configuration: ipconfig echo Detailed IP Configuration: ipconfig /all echo Flushing DNS Cache: ipconfig /flushdns
此脚本演示了基本的和详细的 IP 配置输出。它还展示了如何清除 DNS 解析器缓存。
ipconfig
显示所有网络适配器的基本 IP 配置。显示 IPv4/IPv6 地址、子网掩码和默认网关。输出因系统而异。
ipconfig /all
显示完整的网络配置,包括 MAC 地址、DHCP 状态、DNS 服务器等。对详细故障排除至关重要。
ipconfig /flushdns
清除 DNS 解析器缓存。在更改 DNS 设置后,在解决 DNS 解析问题时非常有用。
C:\>ipconfig.bat Basic IP Configuration: Windows IP Configuration Ethernet adapter Ethernet: Connection-specific DNS Suffix . : localdomain IPv4 Address. . . . . . . . . . . : 192.168.1.100 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 192.168.1.1 Detailed IP Configuration: ... DNS Resolver Cache has been flushed.
输出显示基本网络信息并确认 DNS 缓存已清除。为了简洁起见,/all 的输出被截断。
测试网络连接
ping 命令测试到另一个网络设备的连接。它发送 ICMP 回显请求并测量响应时间。Ping 有助于诊断连接问题和测量延迟。
@echo off echo Testing connection to Google DNS: ping 8.8.8.8 echo Testing connection to ZetCode: ping zetcode.com echo Continuous ping to gateway: ping -t 192.168.1.1
此脚本演示了基本的 ping 用法,包括连续 ping。按 Ctrl+C 停止连续 ping。
ping 8.8.8.8
测试到 Google 公共 DNS 服务器 (8.8.8.8) 的连接。默认发送四个数据包并显示响应时间。成功的回复表示连接正常。
ping zetcode.com
测试到域名 (domain name) 的连接,演示 DNS 解析。首先将名称解析为 IP,然后 ping 该地址。对 DNS 测试很有用。
ping -t 192.168.1.1
持续 ping 直到停止(Ctrl+C)。-t 开关启用持续测试。对于随着时间推移监控连接稳定性很有用。
C:\>pingtest.bat Testing connection to Google DNS: Pinging 8.8.8.8 with 32 bytes of data: Reply from 8.8.8.8: bytes=32 time=15ms TTL=117 Reply from 8.8.8.8: bytes=32 time=16ms TTL=117 Reply from 8.8.8.8: bytes=32 time=14ms TTL=117 Reply from 8.8.8.8: bytes=32 time=15ms TTL=117 Ping statistics for 8.8.8.8: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 14ms, Maximum = 16ms, Average = 15ms
输出显示成功的 ping 和响应时间。连续 ping 的输出会一直显示,直到手动停止。
跟踪网络路由
tracert 命令跟踪数据包到达目的地所经过的路径。它显示路由上的每个跳(路由器)并在每个点测量延迟。Tracert 有助于识别连接问题发生的位置。
@echo off echo Tracing route to Google DNS: tracert 8.8.8.8 echo Tracing route with no DNS resolution: tracert -d 8.8.8.8
此脚本演示了带和不带 DNS 解析的路由跟踪。-d 开关通过跳过反向 DNS 查找来加快跟踪速度。
tracert 8.8.8.8
跟踪到 8.8.8.8 的网络路径,显示所有中间跳。每跳显示三个延迟测量和路由器的(如果可解析)主机名。
tracert -d 8.8.8.8
执行相同的跟踪,但不将 IP 解析为主机名。由于跳过了每个跳的 DNS 查找,因此速度更快。仅显示 IP 地址。
C:\>traceroute.bat Tracing route to 8.8.8.8 over a maximum of 30 hops 1 1 ms 1 ms 1 ms router.local [192.168.1.1] 2 10 ms 9 ms 10 ms isp-gateway.example.com [203.0.113.1] 3 12 ms 11 ms 12 ms 72.14.203.25 4 14 ms 13 ms 14 ms 8.8.8.8 Trace complete.
输出显示通过本地网络、ISP 到目的地的路径。每行代表一个网络跳,并带有延迟测量。
检查网络统计信息
netstat 命令显示网络连接、路由表和接口统计信息。它有助于监控活动连接和排查网络问题。Netstat 提供对网络活动的各种视图。
@echo off echo Active connections: netstat echo All listening ports: netstat -ano echo Statistics by protocol: netstat -s
此脚本演示了不同的 netstat 视图。-a 显示所有端口,-n 跳过名称解析,-o 显示进程 ID。
netstat
显示活动的 TCP 连接和侦听端口。显示本地/远程地址和连接状态。没有数字 IP 的基本视图。
netstat -ano
显示所有侦听端口 (-a)、数字地址 (-n) 和拥有进程 ID (-o)。对于识别哪些程序在使用网络端口至关重要。
netstat -s
显示每个协议(TCP、UDP、ICMP)的统计信息。显示发送/接收的数据包、错误等。对检测网络问题很有用。
C:\>netstats.bat Active connections: Proto Local Address Foreign Address State TCP 192.168.1.100:49876 stackoverflow:https ESTABLISHED TCP 192.168.1.100:49877 github:https ESTABLISHED All listening ports: Proto Local Address Foreign Address State PID TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4 TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 928
输出显示活动连接和侦听服务。-s 统计输出非常详细,此处已截断。
DNS 查询和故障排除
nslookup 命令查询 DNS 服务器,将域名解析为 IP 地址,反之亦然。它有助于诊断 DNS 解析问题和验证 DNS 记录。Nslookup 既可以在交互模式下运行,也可以在非交互模式下运行。
@echo off echo Basic DNS lookup: nslookup zetcode.com echo Specific DNS server query: nslookup zetcode.com 8.8.8.8 echo Reverse DNS lookup: nslookup 172.217.14.206
此脚本演示了正向和反向 DNS 查询。它展示了如何查询特定的 DNS 服务器和检查 PTR 记录。
nslookup zetcode.com
对 zetcode.com 执行标准的 DNS 查询。显示解析的 IP 地址和用于查询的 DNS 服务器。
nslookup zetcode.com 8.8.8.8
查询特定的 DNS 服务器 (8.8.8.8) 而不是默认服务器。用于测试 DNS 问题是否特定于服务器。
nslookup 172.217.14.206
执行反向 DNS 查询(PTR 记录查询)以获取 IP 地址。尝试查找与该 IP 地址关联的域名。
C:\>dnstest.bat Basic DNS lookup: Server: UnKnown Address: 192.168.1.1 Non-authoritative answer: Name: zetcode.com Addresses: 2606:4700:20::681a:9e5 172.67.26.229 104.26.9.229 Specific DNS server query: Server: dns.google Address: 8.8.8.8 Non-authoritative answer: Name: zetcode.com Addresses: 2606:4700:20::681a:9e5 172.67.26.229 104.26.9.229
输出显示成功的 DNS 解析。实际 IP 地址可能因当前 DNS 记录和 CDN 配置而异。
来源
在本文中,我们涵盖了重要的 Windows 命令提示符网络命令。这些工具对于 Windows 环境中的网络故障排除和管理非常宝贵。