菜鸟科技网

Linux查看网络状态有哪些常用命令?

在Linux系统中,查看网络状态是系统管理和故障排查的常见操作,掌握相关命令能够帮助用户高效监控网络连接、端口占用、路由表等信息,以下是常用的Linux查看网络状态的命令及其详细用法,涵盖不同场景下的需求。

Linux查看网络状态有哪些常用命令?-图1
(图片来源网络,侵删)

ifconfigip命令用于查看和配置网络接口信息。ifconfig是传统工具,通过ifconfigifconfig -a可显示所有网络接口的IP地址、子网掩码、MAC地址等状态,例如eth0接口的UP状态表示已启用,RUNNING表示正在传输数据,而ip命令是现代Linux系统推荐的工具,功能更强大,通过ip addr showip a可查看接口详细信息,包括IPv4/IPv6地址、MTU值等,ip link show则专注于接口的链路状态,如是否启用(UP/DOWN)和MAC地址。ip命令还支持动态查看,如ip addr show eth0仅查看指定接口。

netstatss命令用于监控网络连接、路由表和接口统计。netstat是经典工具,通过netstat -an可显示所有网络连接(-a)并以数字形式展示地址和端口(-n),避免DNS解析延迟;netstat -tuln仅列出监听的TCP(-t)和UDP(-u)端口,-l表示仅显示监听状态,而ssnetstat的替代品,性能更优,尤其在处理大量连接时,ss -tuln功能与netstat -tuln类似,但输出更简洁;ss -t可显示TCP连接状态,如ESTABLISHED(已建立连接)、LISTEN(监听中)等,-p参数可显示进程ID和名称,便于定位占用端口的程序。

对于路由表查看,routeip route命令是常用工具。route -n以数字形式显示路由表,包括目标网络、网关、接口等;ip route showip r提供更详细的输出,支持添加-4-6参数筛选IPv4/IPv6路由,例如ip route show dev eth0仅查看通过eth0接口的路由。

pingtraceroute(或traceroute6)用于测试网络连通性。ping [目标IP/域名]通过发送ICMP回显请求测试与目标主机的连通性,-c参数可指定发送包数量(如ping -c 4 8.8.8.8);traceroute [目标IP/域名]显示数据包到达目标主机的路径及每跳的延迟,-n参数可避免DNS解析,直接显示IP地址。

Linux查看网络状态有哪些常用命令?-图2
(图片来源网络,侵删)

网络接口流量统计可通过iftopnethogsip -s link实现。iftop实时显示网络带宽使用情况,按IP或端口排序;nethogs按进程显示网络带宽占用,适合定位高流量进程;ip -s link show eth0可查看eth0接口的接收(RX)和发送(TX)字节数、错误包数等统计信息。

以下是常用命令的对比总结:

命令 核心功能 常用参数示例 优势场景
ip a 查看接口IP地址 ip addr show eth0 现代系统,支持IPv6
ifconfig 传统接口信息查看 ifconfig -a 兼容旧系统
ss -tuln 查看监听端口及连接状态 ss -t -p(显示进程ID) 高性能,替代netstat
netstat -an 显示所有网络连接 netstat -rn(显示路由表) 兼容性好,功能全面
ip route 查看路由表 ip route show default 现代路由管理
ping 测试网络连通性 ping -c 3 192.168.1.1 快速检查网络可达性
iftop 实时带宽监控 iftop -i eth0 按IP/端口排序流量分析

相关问答FAQs

  1. 问:ssnetstat有什么区别?哪个更适合使用?
    答:ssnetstat的替代品,在处理大量连接时性能更优,输出信息更简洁,且默认显示进程ID(需-p参数)。netstat兼容性更好,适用于旧系统,推荐在Linux新版本中使用ss,尤其是在高并发场景下,效率更高。

    Linux查看网络状态有哪些常用命令?-图3
    (图片来源网络,侵删)
  2. 问:如何查看某个端口被哪个进程占用?
    答:使用ss -tulnp | grep [端口号]netstat -tulnp | grep [端口号],例如ss -tulnp | grep 8080会显示占用8080端口的进程ID和名称,也可通过lsof -i :[端口号]查看,lsof会列出占用端口的进程详细信息。

分享:
扫描分享到社交APP
上一篇
下一篇