ping / ifconfig / netstat 是Linux中最核心的网络排查命令,分别对应网络连通性测试网卡/IP信息查看网络连接/端口监听查询,覆盖了新手日常90%的网络问题排查场景。今天我按照「简介+常用选项+实操用法」梳理,选项解释通俗,用法配注释,新手能直接上手。


1. ping 命令

简介

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

2. ifconfig 命令

简介

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网卡

3. netstat 命令

简介

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

新手易踩坑提醒

  1. ping不通≠网络不通:部分服务器禁用ICMP,可改用telnet 目标IP 端口(如telnet www.baidu.com 80)测试端口连通性。
  2. ifconfig配置IP是临时的:重启网卡(sudo ifconfig eth0 down && sudo ifconfig eth0 up)或系统后,IP会恢复默认,永久改IP需修改网络配置文件。我一般是自己去家里光猫后台,自己去看IP是多少,或者用自己的kail虚拟机去嗅探自己的网络ip是多少。
  3. netstat无输出/提示找不到命令:先安装net-tools包(sudo apt-get install net-tools)。

总结

命令 核心用途 新手必记用法
ping 测试网络连通性 ping -c 4 目标IP/域名
ifconfig 查看IP/网卡信息 ifconfig(查IP)、ifconfig -a(查所有网卡)
netstat 查端口占用/网络连接 sudo netstat -tulnp(查所有监听端口)、`sudo netstat -tulnp
Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐