Linux 常用网络命令:ping、ifconfig 与 netstat 详解
Linux 系统下 ping 用于测试网络连通性,通过 ICMP 数据包检测目标主机响应;ifconfig 用于查看和临时配置网卡及 IP 信息,部分新系统需安装 net-tools;netstat 用于查询网络连接状态、端口监听情况及进程占用,常用组合选项包括-tulnp。掌握这三个命令可覆盖大部分日常网络排查场景,注意部分服务器禁用 ICMP 导致 ping 不通不代表网络故障,临时配置 IP 重启后失效。

Linux 系统下 ping 用于测试网络连通性,通过 ICMP 数据包检测目标主机响应;ifconfig 用于查看和临时配置网卡及 IP 信息,部分新系统需安装 net-tools;netstat 用于查询网络连接状态、端口监听情况及进程占用,常用组合选项包括-tulnp。掌握这三个命令可覆盖大部分日常网络排查场景,注意部分服务器禁用 ICMP 导致 ping 不通不代表网络故障,临时配置 IP 重启后失效。

ping(Packet Internet Groper)是测试网络连通性的基础命令,通过向目标主机发送 ICMP 数据包,检测是否能收到回应,判断两台主机之间的网络是否通畅。新手核心用它解决:「我的机器能不能连上网?」「能不能访问某个服务器/网站?」。
注意:ping 的结果仅作参考,部分服务器会禁用 ICMP 协议(不回应 ping),此时 ping 不通不代表网络不通。
| 选项 | 作用 |
|---|---|
-c 数字 | 指定发送数据包的次数(新手必用,避免无限 ping) |
-i 数字 | 设置发送数据包的间隔(单位:秒,默认 1 秒) |
-s 数字 | 设置发送的数据包大小(单位:字节,默认 56 字节) |
-W 数字 | 设置超时时间(单位:秒,超过时间没回应则判定为丢包) |
-n | 用数字显示 IP/端口(不解析域名,速度更快) |
ping 命令无需 sudo 权限,执行后按 Ctrl+C 可强制停止(若未用 -c 指定次数,会无限发送数据包)。
# 1. 最常用:测试本机能否连外网(ping 百度,指定发送 4 个包)
ping -c 4 www.baidu.com
# 输出解读(核心):
# 64 bytes from xxx (IP 地址): icmp_seq=1 ttl=56 time=20.1 ms
# - icmp_seq:数据包序号
# - ttl:数据包生存时间(跳数)
# - time:网络延迟(越小越快)
# --- www.baidu.com ping statistics ---
# 4 packets transmitted, 4 received, 0% packet loss, time 3004ms
# - packet loss:丢包率(0% 表示网络通畅,越高越差)
# 2. 测试本机与内网服务器的连通性(比如内网 IP:192.168.1.100)
ping -c 3 192.168.1.100
# 3. 长时间监控网络(每 2 秒发 1 个包,超时时间 1 秒)
ping -i 2 -W 1 192.168.1.1
# 4. 不解析域名,快速测试(适合域名解析有问题的场景)
ping -n -c 4 www.baidu.com
ifconfig(interface configuration)是查看/临时配置网络接口的命令,核心作用是:查看本机的 IP 地址、网卡信息、MAC 地址,或临时启动/关闭网卡、修改 IP。
注意:部分新系统默认没有 ifconfig,需安装
net-tools包(sudo apt-get install net-tools);官方推荐用ip addr替代,但 ifconfig 更适合新手入门。
| 选项 | 作用 |
|---|---|
| 无选项 | 查看所有启用的网络接口信息(核心用法) |
-a | 查看所有网络接口(包括未启用的) |
网卡名 up | 启动指定网卡(如 eth0 up) |
网卡名 down | 关闭指定网卡(如 eth0 down,慎用) |
网卡名 IP 地址 | 临时给网卡配置 IP(重启后失效) |
查看信息无需 sudo,修改配置(如 up/down、改 IP)需要 sudo 权限。
# 1. 最常用:查看所有启用的网卡信息(找 IP 的核心命令)
ifconfig
# 输出解读(以 eth0 网卡为例):
# eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
# inet 192.168.1.50 netmask 255.255.255.0 broadcast 192.168.1.255
# inet6 fe80::a00:27ff:fe12:3456 prefixlen 64 scopeid 0x20<link>
# ether 08:00:27:12:34:56 txqueuelen 1000 (Ethernet)
# 核心字段:
# - inet:IPv4 地址(最常用,如 192.168.1.50)
# - inet6:IPv6 地址(一般不用)
# - ether:MAC 地址(网卡物理地址)
# - lo:本地回环接口(IP 固定为 127.0.0.1,测试本机网络用)
# 2. 查看所有网卡(包括未启用的)
ifconfig -a
# 3. 临时给网卡配置 IP(重启网卡/系统后失效,新手慎用)
sudo ifconfig eth0 192.168.1.60
# 4. 启动/关闭网卡(需 sudo,关闭后会断网,谨慎操作)
sudo ifconfig eth0 down # 关闭 eth0 网卡
sudo ifconfig eth0 up # 启动 eth0 网卡
netstat(network statistics)是查看网络连接、端口监听、路由表的全能命令,新手最常用它解决:「哪个进程占用了 80 端口?」「我的机器有没有监听某个端口?」「当前有哪些网络连接?」。
注意:和 ifconfig 一样,部分新系统需安装
net-tools包才能使用;官方推荐用ss命令替代,但 netstat 的选项更直观,适合新手。
netstat 的选项常组合使用,新手记 2 个核心组合即可覆盖 80% 场景。
| 选项 | 作用 |
|---|---|
-t | 只显示 TCP 协议的连接/端口 |
-u | 只显示 UDP 协议的连接/端口 |
-l | 只显示处于监听状态的端口(核心,查服务是否启动) |
-n | 用数字显示 IP/端口(不解析域名,速度更快,避免卡顿) |
-p | 显示占用端口/连接的进程名和 PID(需 sudo,核心查进程) |
-a | 显示所有连接/端口(包括监听和非监听) |
普通查看无需 sudo,加 -p 查看进程信息需要 sudo 权限。
# 1. 最常用:查看所有**监听中的 TCP/UDP 端口**+对应进程(查端口占用必备)
sudo netstat -tulnp
# 输出解读(核心):
# Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
# tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1234/nginx
# tcp6 0 0 :::22 :::* LISTEN 567/sshd
# udp 0 0 0.0.0.0:53 0.0.0.0:* 789/dnsmasq
# 核心字段:
# - Proto:协议(TCP/UDP)
# - Local Address:本机地址:端口(0.0.0.0 表示监听所有网卡,127.0.0.1 表示仅本机访问)
# - State:状态(LISTEN=监听中,ESTABLISHED=已建立连接)
# - PID/Program name:进程 ID 和进程名(如 1234/nginx 表示 nginx 占用了 80 端口)
# 2. 查**指定端口**是否被占用(比如查 80 端口)
sudo netstat -tulnp | grep 80
# 3. 查看所有**已建立的 TCP 连接**(看谁连了我的机器)
netstat -tnp
# 4. 查看本机路由表(了解网络转发规则,新手了解即可)
netstat -rn
telnet 目标 IP 端口(如 telnet www.baidu.com 80)测试端口连通性。sudo ifconfig eth0 down && sudo ifconfig eth0 up)或系统后,IP 会恢复默认,永久改 IP 需修改网络配置文件,通常可通过路由器管理界面或网络扫描工具获取。net-tools 包(sudo apt-get install net-tools)。| 命令 | 核心用途 | 新手必记用法 |
|---|---|---|
| ping | 测试网络连通性 | ping -c 4 目标 IP/域名 |
| ifconfig | 查看 IP/网卡信息 | ifconfig(查 IP)、ifconfig -a(查所有网卡) |
| netstat | 查端口占用/网络连接 | sudo netstat -tulnp(查所有监听端口) |

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online