在Linux系统中,查看和管理网络信息是系统管理员和开发者的日常任务之一,虽然“网管”一词通常指网络管理员,但在实际操作中,用户可能需要查看网络接口状态、路由配置、连接信息等与网络管理相关的数据,Linux提供了丰富的命令行工具来帮助用户全面掌握网络状态,以下将详细介绍常用的查看方法及其应用场景。

查看网络接口信息
网络接口是Linux系统与外部网络通信的桥梁,查看接口信息可以了解当前网络连接状态、IP地址、MAC地址等基础数据。
使用ip addr命令(推荐)
ip命令是iproute2工具包的核心命令,功能比传统的ifconfig更强大,推荐在新版Linux(如Ubuntu 18+、CentOS 7+)中使用。
ip addr show
执行后会显示所有网络接口的详细信息,包括接口状态(UP/DOWN)、IPv4/IPv6地址、子网掩码、MAC地址、MTU(最大传输单元)等。
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:1c:23:45:67:89 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
inet6 fe80::21c:23ff:fe45:6789/64 scope link
valid_lft forever preferred_lft forever
UP:接口已启用;DOWN:接口已禁用。inet:IPv4地址及子网掩码(如/24表示255.255.255.0)。link/ether:MAC地址。
若需查看特定接口(如eth0),可添加接口名:
ip addr show eth0
使用ifconfig命令(传统工具)
ifconfig是早期Linux系统常用的工具,在部分旧版系统中默认安装,但新系统可能需要手动安装net-tools包:
sudo apt install net-tools # Debian/Ubuntu sudo yum install net-tools # CentOS/RHEL
执行ifconfig或ifconfig eth0可查看接口信息,输出与ip addr类似,但功能较少(如不支持IPv6的详细展示)。
查看路由表信息
路由表决定了数据包的转发路径,查看路由表可了解默认网关、目标网络及下一跳地址等信息。
使用ip route命令
ip route show
输出示例:
default via 192.168.1.1 dev eth0 proto dhcp metric 100 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100 metric 100
default via 192.168.1.1:默认网关为192.168.1.1,数据包通过eth0接口发送。168.1.0/24:直连网络,目标地址为192.168.1.0/24的数据包直接通过eth0转发,无需经过网关。
使用route命令(传统工具)
route -n
-n参数以数字形式显示地址(避免DNS解析),输出与ip route类似,但功能较简单。

查看网络连接状态
查看当前系统的网络连接状态(如监听端口、已建立的连接)有助于排查网络服务问题或异常连接。
使用ss命令(推荐)
ss是iproute2工具包的一部分,比netstat更高效,尤其是在处理大量连接时。
ss -tulnp
参数说明:
-t:显示TCP连接;-u:显示UDP连接;-l:仅显示监听端口;-n:以数字形式显示地址和端口;-p:显示进程ID和进程名。
输出示例:
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=1234,fd=3))
LISTEN 0 5 127.0.0.1:3306 0.0.0.0:* users:(("mysqld",pid=5678,fd=31))
LISTEN:表示进程正在监听端口(如SSH的22端口、MySQL的3306端口)。Recv-Q/Send-Q:接收/发送队列中的字节数,通常为0表示无数据堆积。
使用netstat命令(传统工具)
netstat -tulnp
netstat的功能与ss类似,但效率较低,部分新系统已默认不安装。
查看网络统计信息
若需了解网络接口的流量统计(如接收/发送数据包数量、错误数),可通过以下命令实现。
使用ip -s link
ip -s link show eth0
输出包含接口的详细统计信息,如:
RX: packets 12345 bytes 1234567 (1.1 MiB)
errors 0 dropped 0 overruns 0 frame 0
TX: packets 6789 bytes 765432 (747.9 KiB)
errors 0 dropped 0 overruns 0 carrier 0
collisions 0
RX:接收数据包数量、字节数及错误数;TX:发送数据包数量、字节数及错误数。
使用netstat -i
netstat -i
显示所有接口的简要统计信息,包括接收/发送的数据包、错误数等。
查看网络配置文件
除了实时查看网络状态,了解系统的静态配置文件也有助于排查问题,不同Linux发行版的配置文件位置不同:

| 发行版 | 网络配置文件路径 | 说明 |
|---|---|---|
| Debian/Ubuntu | /etc/network/interfaces |
传统配置文件,定义接口静态IP或DHCP |
| CentOS/RHEL | /etc/sysconfig/network-scripts/ifcfg-eth0 |
每个接口一个配置文件 |
| Ubuntu 18+ | /etc/netplan/*.yaml |
使用YAML格式配置,支持Netplan |
查看Ubuntu 20.04的Netplan配置文件:
cat /etc/netplan/01-network-manager-all.yaml
``` 示例:
```yaml
network:
version: 2
ethernets:
eth0:
dhcp4: true
optional: true
dhcp4: true:通过DHCP获取IPv4地址;optional: true:接口可选(即使连接失败也不影响系统启动)。
高级网络工具
若需更深入的网络分析(如端口扫描、抓包),可使用以下工具:
nmap:端口扫描工具,检测目标主机的开放端口:sudo nmap -sS 192.168.1.1 # 扫描192.168.1.1的TCP端口
tcpdump:抓包工具,实时捕获网络数据包:sudo tcpdump -i eth0 -n port 80 # 捕获eth0接口的HTTP流量
ethtool:查看/修改网卡驱动参数:sudo ethtool eth0 # 查看eth0的网卡信息(如速率、双工模式)
Linux查看网络信息需根据需求选择合适工具:基础接口信息用ip addr,路由表用ip route,连接状态用ss,流量统计用ip -s link,掌握这些命令能帮助快速定位网络问题,同时结合配置文件分析,可全面掌握系统的网络管理状态。
相关问答FAQs
Q1:如何查看Linux系统中当前所有活跃的网络连接及其对应的进程?
A:使用ss或netstat命令结合-p参数可查看连接及进程信息。
ss -tunp # 查看所有TCP/UDP连接及进程
输出中会显示Local Address:Port(本地地址和端口)、Peer Address:Port(对端地址和端口)以及Process(进程ID和名称),便于定位占用端口的进程。
Q2:Linux中如何查看默认网关的配置信息?
A:默认网关可通过ip route命令查看,具体执行:
ip route | grep default
输出示例为default via 192.168.1.1 dev eth0 proto dhcp metric 100,其中168.1.1即为默认网关地址,dev eth0表示通过eth0接口访问网关,proto dhcp表示通过DHCP获取的网关(若为static则为静态配置)。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/28562.html