菜鸟科技网

网络基础命令

网络连接测试与诊断

ping - 测试网络连通性

ping 是最常用的网络命令,用于测试本地计算机与另一台主机之间的网络是否连通,以及延迟情况。

网络基础命令-图1
(图片来源网络,侵删)
  • 功能: 发送 ICMP 回显请求包到目标主机,并等待响应,根据返回的响应时间来判断网络延迟。
  • Windows: ping [目标地址]
  • macOS/Linux: ping [目标地址]

常用参数:

  • Windows:
    • -t: 持续不断地 ping,直到手动按 Ctrl+C 停止。
    • -n count: 指定发送的请求数量,默认为 4。
    • -l size: 指定发送的数据包大小(字节),默认为 32。
  • macOS/Linux:
    • -c count: 指定发送的请求数量,默认是无限循环,需按 Ctrl+C 停止。
    • -s size: 指定发送的数据包大小(字节),默认为 56(加上 ICMP 头部共 64 字节)。
    • -i interval: 指定两次 ping 之间的间隔时间(秒)。

示例:

  • Windows: ping www.baidu.com
  • macOS/Linux: ping -c 4 www.baidu.com (只发送 4 个包)

traceroute / tracert - 跟踪网络路径

这两个命令功能完全相同,用于显示数据包从本地主机到目标主机所经过的路由器(网关)列表。

  • 功能: 逐跳显示数据包的路径,可以帮助你定位网络延迟或丢包发生在哪个环节。
  • Windows: tracert [目标地址]
  • macOS/Linux: traceroute [目标地址]

常用参数:

网络基础命令-图2
(图片来源网络,侵删)
  • Windows:
    • -d: 不解析主机名,只显示 IP 地址,加快速度。
    • -h maximum_hops: 指定搜索目标的最大跃点数,默认为 30。
  • macOS/Linux:
    • -n: 不解析主机名,只显示 IP 地址。
    • -m max_ttl: 指定最大跳数(TTL),与 Windows 的 -h 类似。

示例:

  • Windows: tracert www.google.com
  • macOS/Linux: traceroute -n www.google.com

pathping - 结合 ping 和 tracert 的高级诊断 (仅限 Windows)

pathping 是一个更强大的工具,它结合了 tracert 的路径发现功能和 ping 的网络统计功能,能更好地分析路径上的网络延迟和丢包情况。

  • 功能: 显示数据包路径,并在一段时间内对路径上的每个节点进行 ping 测试,最终提供丢包率的统计。
  • 命令: pathping [目标地址]

示例:

  • pathping www.github.com

网络信息查看

ipconfig / ifconfig - 查看/配置网络接口信息

这两个命令用于查看和管理计算机的网络接口配置。

网络基础命令-图3
(图片来源网络,侵删)
  • 功能: 显示当前计算机的网络接口(如以太网、Wi-Fi)的 IP 地址、子网掩码、默认网关、MAC 地址等信息。
  • Windows: ipconfig
  • macOS/Linux: ifconfig (在较新的 Linux 发行版中,推荐使用 ip addr)

常用参数:

  • Windows:
    • all: 显示所有网络接口的完整信息,包括 MAC 地址和 DNS 服务器。
    • release: 释放当前 DHCP 获取的 IP 地址。
    • renew: 重新从 DHCP 服务器获取 IP 地址。
  • macOS/Linux:
    • ifconfig [interface] up/down: 启用或禁用指定网络接口。
    • ifconfig [interface] [IP地址] netmask [子网掩码]: 为指定接口配置 IP 地址。

示例:

  • Windows: ipconfig /all
  • macOS/Linux: ifconfigip addr

nslookup - DNS 查询工具

nslookup 用于查询 DNS 记录,可以帮助你将域名解析为 IP 地址,或者反向查询 IP 对应的域名。

  • 功能: 交互式或命令行式的 DNS 查询工具。
  • Windows & macOS/Linux: nslookup [域名或IP]

常用参数:

  • [域名]: 直接查询域名的 IP 地址。
  • [IP]: 执行反向 IP 查询。
  • server [DNS服务器地址]: 指定要使用的 DNS 服务器进行查询。

示例:

  • nslookup www.baidu.com (查询百度服务器的 IP)
  • nslookup 8.8.8.8 (查询 8.8.8.8 这个 IP 对应的域名)
  • nslookup www.qq.com 114.114.114.114 (使用 114.114.114.114 这个 DNS 服务器查询)

netstat - 查看网络连接、路由表、接口统计

netstat 是一个功能非常强大的工具,用于显示网络连接、路由表、接口统计等信息。

  • 功能: 监控传入和传出的网络连接,查看哪些端口正在被监听。
  • Windows & macOS/Linux: netstat [参数]

常用参数:

  • -a: 显示所有连接和监听端口。
  • -n: 以数字形式显示地址和端口号,不进行域名解析,速度更快。
  • -t: 显示 TCP 连接。
  • -u: 显示 UDP 连接。
  • -l: (Linux/macOS) 只显示监听(Listening)的端口。
  • -p: (Linux/macOS) 显示进程 ID 和进程名称,需要 root 权限。
  • -ano: (Windows) -a (所有), -n (数字), -o (显示进程 ID/OID)。

示例:

  • 查看所有监听的 TCP 端口:
    • Windows: netstat -ano | findstr "LISTENING"
    • macOS/Linux: netstat -tuln
  • 查看某个进程占用的端口 (PID 为 4 的进程):
    • Windows: netstat -ano | findstr ":4"
    • macOS/Linux: netstat -tulnp | grep ':4'

ss - 替代 netstat 的新工具 (Linux)

在现代 Linux 发行版中,ssnetstat 的替代品,它更快、功能更强大,默认显示的信息更丰富。

  • 功能: 类似 netstat,但性能更高,能显示更多 TCP 状态信息。
  • 命令: ss [参数]

常用参数:

  • -t: TCP
  • -u: UDP
  • -l: 只显示监听端口
  • -n: 数字形式
  • -p: 显示进程 ID 和名称
  • -a: 所有
  • -4: IPv4
  • -6: IPv6

示例:

  • ss -tuln (查看所有监听的 TCP/UDP 端口)
  • ss -tulpn (显示监听端口及其对应的进程)

网络通信与安全

telnet - 远程登录与端口测试

telnet 是一个古老的远程协议,现在更多被用作测试某个端口是否开放的工具。

  • 功能: 测试指定 IP 的某个端口是否可以被访问(开放)。
  • Windows & macOS/Linux: telnet [主机名或IP] [端口号]

示例:

  • telnet www.baidu.com 80 (测试百度网站的 80 端口是否开放)
  • 如果端口开放,会显示一个空白屏幕并等待输入;如果关闭,则会连接失败。

curl / wget - 下载网页或文件

这两个是功能强大的命令行下载工具,也可以用来测试 HTTP/HTTPS 服务。

  • 功能: 从服务器传输数据。curl 更侧重于与 URL 交互,wget 更侧重于递归下载整个网站。
  • Windows & macOS/Linux: curl [URL]wget [URL]

常用参数:

  • curl:
    • -I--head: 只获取 HTTP 头信息,不获取页面内容,常用于检查服务状态。
    • -v: 显示详细的通信过程。
  • wget:
    • -q: 安静模式,不输出信息。
    • -O [文件名]: 将输出写入指定文件。

示例:

  • curl -I http://www.example.com (检查 example.com 的 HTTP 响应头)
  • wget -q http://www.example.com (静默下载 example.com 的首页)

Windows 专用高级命令

netsh (Network Shell) - 网络配置利器

netsh 是一个功能极其强大的命令行脚本工具,可以显示或配置几乎所有网络方面。

  • 功能: 配置 IP 地址、接口、防火墙、代理等。
  • 命令: netsh [上下文] [子命令]

常用场景:

  • 重置网络: netsh winsock reset (重置 Winsock 目录) 和 netsh int ip reset (重置 TCP/IP 协议栈),这两个命令组合使用可以解决很多疑难杂症。
  • 查看和配置 IP 地址: netsh interface ip show config

macOS / Linux 专用高级命令

dig - 更专业的 DNS 查询工具

dig 是比 nslookup 更强大、更灵活的 DNS 查询工具,提供更详细的 DNS 查询信息。

  • 功能: 查询 DNS 的各种记录(A, AAAA, MX, NS, SOA 等)。
  • 命令: dig [域名] [记录类型]

示例:

  • dig www.baidu.com (查询 A 记录)
  • dig mx qq.com (查询 qq.com 的 MX 邮件交换记录)
  • dig +short www.baidu.com (只返回 IP 地址,简洁模式)

总结速查表

命令 主要功能 Windows macOS/Linux 备注
ping 测试网络连通性 ping ping 最基础的网络测试
tracert 跟踪网络路径 tracert traceroute 定位网络延迟/丢包点
ipconfig 查看网络接口信息 ipconfig /all ifconfig / ip addr Windows/Mac/Linux 略有不同
nslookup DNS 查询 nslookup nslookup 查询域名与 IP 的对应关系
netstat 查看网络连接 netstat -ano netstat -tuln Linux 上推荐使用 ss
curl/wget 下载/测试 HTTP curl / wget curl / wget curl 更灵活,wget 更擅长下载
telnet 测试端口开放 telnet telnet 安全性低,主要用于端口测试
pathping 高级路径诊断 pathping - Windows 独有,功能强大
netsh 网络配置利器 netsh - Windows 独有,功能极其强大
dig 专业 DNS 查询 - dig macOS/Linux,比 nslookup 更详细

掌握这些命令,你就可以解决绝大多数日常遇到的网络问题,从简单的“上不了网”到复杂的“网站访问慢”都能进行初步的诊断和排查。

分享:
扫描分享到社交APP
上一篇
下一篇