ZetCode

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 服务器。

ipconfig.bat
@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 有助于诊断连接问题和测量延迟。

pingtest.bat
@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 有助于识别连接问题发生的位置。

traceroute.bat
@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 提供对网络活动的各种视图。

netstats.bat
@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 既可以在交互模式下运行,也可以在非交互模式下运行。

dnstest.bat
@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 命令提示符网络命令。这些工具对于 Windows 环境中的网络故障排除和管理非常宝贵。

作者

我叫 Jan Bodnar,是一名充满热情的程序员,拥有丰富的编程经验。我自 2007 年以来一直在撰写编程文章。迄今为止,我已撰写了 1400 多篇文章和 8 本电子书。我在教授编程方面拥有十多年的经验。