睿诚科技协会

linux 查看网络 命令

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

linux 查看网络 命令-图1
(图片来源网络,侵删)

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更强大,推荐在新系统中使用。
基本用法

linux 查看网络 命令-图2
(图片来源网络,侵删)
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       # 显示路由表  

常用参数

linux 查看网络 命令-图3
(图片来源网络,侵删)
  • -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的工具

ssiproute2包的一部分,速度比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: 可以使用ssnetstat命令查看活跃连接。

  • ss -tuln:显示所有监听的TCP/UDP端口。
  • ss -t:显示所有TCP连接。
  • netstat -an:显示所有连接(数字形式)。
    如果需要查看进程信息,可添加-p参数,如ss -tp

Q2: 如何检查某个端口是否被占用,并找出占用该端口的进程?
A2: 可以通过以下步骤实现:

  1. 使用ssnetstat检查端口占用情况:
    ss -tuln | grep :8080   # 检查8080端口是否被占用
  2. 如果端口被占用,使用lsofss查看进程ID:
    lsof -i :8080           # 显示占用8080端口的进程
    ss -tp 'sport = :8080'  # 使用ss查看TCP端口8080的进程
  3. 根据进程ID(如PID=1234),可使用kill命令终止进程:
    kill 1234
分享:
扫描分享到社交APP
上一篇
下一篇