在Linux系统中,查看网络状态和信息是系统管理和网络故障排查的基础操作,通过一系列命令行工具,用户可以获取网络接口配置、路由表、网络连接、端口监听等详细信息,以下将详细介绍常用的Linux查看网络命令,包括其功能、使用方法及输出解析。

ifconfig - 查看和配置网络接口
ifconfig是传统的网络接口配置工具,虽然在新版Linux中逐渐被ip命令取代,但仍被广泛使用。
基本用法:
ifconfig # 显示所有网络接口信息 ifconfig eth0 # 显示指定接口(如eth0)的详细信息
输出解析:
inet:IPv4地址及子网掩码inet6:IPv6地址RX/TX packets:接收/发送的数据包数量RX/TX bytes:接收/发送的字节数MAC:硬件地址(物理地址)
示例输出:
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255
ether 00:1a:2b:3c:4d:5e txqueuelen 1000 (Ethernet)
RX packets 12345 bytes 1234567 (1.1 MiB)
TX packets 6789 bytes 765432 (728.9 KiB)
ip - 现代化的网络配置工具
ip命令是iproute2包的一部分,功能比ifconfig更强大,推荐在新系统中使用。
基本用法:

ip addr show # 显示所有接口地址信息 ip link show # 显示接口链路状态 ip route show # 显示路由表
常用参数:
addr:管理IP地址link:管理网络接口(如启用/禁用)route:管理路由条目
示例输出:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:1a:2b:3c:4d:5e brd ff:ff:ff:ff:ff:ff
inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0
valid_lft forever preferred_lft forever
netstat - 显示网络连接、路由表、接口统计等
netstat是一个经典的网络工具,可查看活动连接、端口监听状态等。
基本用法:
netstat -tuln # 显示所有监听的TCP/UDP端口 netstat -an # 显示所有连接(数字形式) netstat -rn # 显示路由表
常用参数:

-t:TCP端口-u:UDP端口-l:仅显示监听端口-n:以数字形式显示地址和端口-p:显示进程ID和名称
示例输出:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
udp 0 0 0.0.0.0:68 0.0.0.0:*
ss - 更快的替代netstat的工具
ss是iproute2包的一部分,速度比netstat更快,推荐用于查看套接字统计信息。
基本用法:
ss -tuln # 显示监听的TCP/UDP端口 ss -t # 显示所有TCP连接 ss -u # 显示所有UDP连接
示例输出:
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 [::]:22 [::]:*
ping - 测试网络连通性
ping通过发送ICMP回显请求测试与目标主机的连通性。
基本用法:
ping 8.8.8.8 # 测试与Google DNS的连通性 ping -c 4 192.168.1.1 # 发送4个包后退出
输出解析:
time:往返时间(RTT)packets transmitted/received:发送/接收的包数量
traceroute/traceroute6 - 跟踪网络路由路径
traceroute显示数据包到目标主机所经过的路由节点。
基本用法:
traceroute google.com # 跟踪IPv4路径 traceroute6 ipv6.google.com # 跟踪IPv6路径
示例输出:
traceroute to google.com (142.250.199.14), 30 hops max, 60 byte packets
1 gateway (192.168.1.1) 2.34 ms 1.23 ms 1.45 ms
2 isp-router (10.0.0.1) 5.67 ms 4.32 ms 6.78 ms
nslookup/dig - 查询DNS信息
这两个工具用于查询域名的DNS记录。
基本用法:
nslookup google.com # 使用默认DNS服务器查询 dig google.com # 显示详细的DNS查询结果
示例输出:
;; QUESTION SECTION:
;google.com. IN A
;; ANSWER SECTION:
google.com. 300 IN A 142.250.199.14
iptables - 查看防火墙规则
iptables用于管理Linux内核的防火墙规则。
基本用法:
iptables -L -n -v # 显示所有链的规则(数字形式,详细信息) iptables -t nat -L # 显示NAT表规则
输出解析:
Chain:规则所属的链(如INPUT、OUTPUT)pkts/bytes:匹配的数据包数和字节数
ethtool - 查看网卡硬件信息
ethtool用于获取和设置网卡参数,如速率、双工模式等。
基本用法:
ethtool eth0 # 显示eth0的详细信息 ethtool -s eth0 speed 1000 duplex full # 设置网卡速率为1Gbps全双工
lsof - 查看打开的网络端口
lsof可以显示哪些进程正在使用特定网络端口。
基本用法:
lsof -i :22 # 显示使用22端口的进程 lsof -iTCP -iUDP # 显示所有TCP/UDP连接
nmap - 网络扫描和安全审计
nmap用于扫描网络主机和端口,功能强大。
基本用法:
nmap 192.168.1.1 # 扫描主机的开放端口 nmap -sV -O 192.168.1.1 # 检测端口服务和操作系统类型
常用网络命令对比表
| 命令 | 主要功能 | 适用场景 |
|---|---|---|
ifconfig |
查看网络接口配置 | 传统系统,简单接口管理 |
ip |
现代化网络配置和状态查看 | 新系统,推荐使用 |
netstat |
显示网络连接、路由表、端口监听 | 旧系统兼容,全面网络状态 |
ss |
快速查看套接字连接和端口 | 替代netstat,性能更好 |
ping |
测试网络连通性 | 基础连通性检测 |
traceroute |
跟踪数据包路径 | 网络故障排查,路径分析 |
nslookup/dig |
DNS查询 | 域名解析问题排查 |
iptables |
防火墙规则管理 | 安全策略配置 |
ethtool |
网卡硬件参数查看 | 物理层故障排查 |
lsof |
查看端口占用进程 | 服务冲突排查 |
nmap |
网络扫描和端口检测 | 安全审计,网络发现 |
相关问答FAQs
Q1: 如何查看Linux系统中当前活跃的网络连接?
A1: 可以使用ss或netstat命令查看活跃连接。
ss -tuln:显示所有监听的TCP/UDP端口。ss -t:显示所有TCP连接。netstat -an:显示所有连接(数字形式)。
如果需要查看进程信息,可添加-p参数,如ss -tp。
Q2: 如何检查某个端口是否被占用,并找出占用该端口的进程?
A2: 可以通过以下步骤实现:
- 使用
ss或netstat检查端口占用情况:ss -tuln | grep :8080 # 检查8080端口是否被占用
- 如果端口被占用,使用
lsof或ss查看进程ID:lsof -i :8080 # 显示占用8080端口的进程 ss -tp 'sport = :8080' # 使用ss查看TCP端口8080的进程
- 根据进程ID(如PID=1234),可使用
kill命令终止进程:kill 1234
