一、查看网络接口信息
1. ip(推荐)
bash
ip addr show # 显示所有网络接口的 IP 地址
ip link show # 显示网络接口状态(UP/DOWN)
ip route show # 显示路由表 2. ifconfig(旧版,部分系统需安装 net-tools)
bash
ifconfig # 显示激活的网络接口
ifconfig -a # 显示所有网络接口(包括未激活的) 二、查看网络连接与端口使用情况
1. ss(Socket Statistics,推荐)
bash
ss -tuln # 显示监听的 TCP/UDP 端口(数字格式)
ss -tunap # 显示所有连接及对应进程(含 PID 和程序名)
ss -s # 显示连接统计摘要 2. netstat(较旧,部分系统需安装 net-tools)
bash
netstat -tuln # 显示监听端口
netstat -tunap # 显示所有连接和进程
netstat -i # 显示网络接口统计信息
netstat -r # 显示路由表(等同于 route) 💡 注意:
ss是netstat的现代替代品,速度更快、功能更强。
三、查看路由表
bash
ip route show # 推荐方式
route -n # 传统方式(需 net-tools) 四、测试网络连通性
1. ping
bash
ping example.com # 测试主机连通性
ping -c 4 8.8.8.8 # 发送 4 个 ICMP 包后停止 2. traceroute / tracepath
bash
traceroute example.com # 路由追踪(需安装 traceroute)
tracepath example.com # 无需 root 权限的轻量替代 3. mtr(结合 ping + traceroute)
bash
mtr example.com # 实时网络诊断工具(需安装 mtr) 五、DNS 查询
1. nslookup(传统)
bash
nslookup example.com 2. dig(功能更强大)
bash
dig example.com A # 查询 A 记录
dig @8.8.8.8 example.com # 指定 DNS 服务器查询
dig -x 8.8.8.8 # 反向 DNS 查询 3. host
bash
host example.com
host 8.8.8.8 六、查看网络流量与统计
1. iftop(实时流量监控,需安装)
bash
sudo iftop 2. nethogs(按进程显示带宽使用,需安装)
bash
sudo nethogs 3. sar(来自 sysstat 包,可查看历史网络统计)
bash
sar -n DEV 1 3 # 每秒采样一次,共 3 次,显示各接口流量 七、查看防火墙与 NAT 规则(如使用 iptables)
bash
sudo iptables -L -n -v # 查看过滤规则
sudo iptables -t nat -L -n -v # 查看 NAT 规则 若使用
nftables:
bash
sudo nft list ruleset 八、其他实用命令
| 命令 | 用途 |
|---|---|
hostname | 查看或设置主机名 |
hostname -I | 快速查看本机所有 IPv4/IPv6 地址 |
cat /etc/resolv.conf | 查看当前 DNS 配置 |
cat /etc/hosts | 查看本地主机名解析文件 |
lsof -i :80 | 查看占用 80 端口的进程(需安装 lsof) |
tcpdump | 抓包分析(高级网络诊断) |
注意事项
- 大多数命令需要 root 权限 才能查看完整信息(如进程、原始套接字等)。
- 在容器或最小化系统中,部分命令可能未预装,可通过
apt install或yum install安装。 - 推荐优先使用
ip、ss、dig等现代工具,它们是ifconfig、netstat、nslookup的继任者。