Linux命令--网络连通性测试(ping)、网卡/ip信息查看(ifconfig)、网络连接/端口监听查询(netstat)
Linux网络排查三大核心命令: ping测试网络连通性,常用ping -c 4 目标地址检查网络延迟和丢包 ifconfig查看网卡/IP信息,直接执行ifconfig可获取本机IP和MAC地址 netstat检查端口占用,推荐组合命令sudo netstat -tulnp查看所有监听端口及对应进程 注意: ping不通可能因目标禁用ICMP ifconfig修改IP是临时的 新系统需先安装ne
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
新手易踩坑提醒
- ping不通≠网络不通:部分服务器禁用ICMP,可改用
telnet 目标IP 端口(如telnet www.baidu.com 80)测试端口连通性。 - ifconfig配置IP是临时的:重启网卡(
sudo ifconfig eth0 down && sudo ifconfig eth0 up)或系统后,IP会恢复默认,永久改IP需修改网络配置文件。我一般是自己去家里光猫后台,自己去看IP是多少,或者用自己的kail虚拟机去嗅探自己的网络ip是多少。 - 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 |
更多推荐

所有评论(0)