linux系统作为服务器领域的主流操作系统,内置了丰富的网络相关命令,覆盖网络检测、配置、监控、故障排查等多个场景,是运维和开发人员处理网络问题的核心工具。
常用linux网络命令分类介绍
网络连通性检测类
这类命令主要用于判断网络是否通畅,目标主机是否可达。
- ping:发送ICMP回显请求报文,检测目标主机的连通性,同时可以查看往返延迟和丢包率。
- traceroute:追踪数据包从本地到目标主机经过的路由节点,帮助定位网络中断的节点位置。
网络状态查看类
用于查看当前系统的网络连接、端口占用、网卡配置等信息。
- netstat:显示网络连接、路由表、接口统计等信息,可查看端口监听状态、已建立的连接等。
- ss:是netstat的替代工具,功能类似但性能更高,能够更快速地展示socket统计信息。
- ip:用于查看和配置网卡、路由、邻居表等网络参数,替代了传统的ifconfig、route等命令。
数据包抓取与分析类
用于抓取网络传输中的数据包,分析网络流量和协议内容。
- tcpdump:命令行数据包抓取工具,支持按协议、端口、主机等条件过滤数据包,适合服务器环境使用。
- wireshark:图形化数据包分析工具,也有命令行版本tshark,功能更强大,支持深度协议解析。
网络连接与传输类
用于建立网络连接、传输文件等操作。
- curl:支持多种协议的网络请求工具,可用于发送HTTP、FTP等请求,测试接口连通性。
- wget:用于从网络下载文件的工具,支持断点续传、后台下载等功能。
- ssh:用于远程登录到其他linux主机,基于加密协议保障连接安全。
常用命令使用示例
ping命令示例
检测本地到百度服务器的连通性,发送4个ICMP包后停止:
# 检测目标主机连通性,发送4个包后停止 ping -c 4 www.baidu.com
netstat命令示例
查看当前系统所有监听的TCP端口:
# 查看所有监听的TCP端口,-t表示TCP,-l表示监听状态,-n表示显示数字端口 netstat -tln
tcpdump命令示例
抓取本地网卡eth0上80端口的TCP数据包:
# 抓取eth0网卡80端口的TCP数据包 tcpdump -i eth0 tcp port 80
ip命令示例
查看当前所有网卡的配置信息:
# 查看所有网卡的配置信息 ip addr show
命令使用注意事项
部分网络命令需要root权限才能正常使用,比如tcpdump抓取网卡数据包、修改网卡配置等操作,执行时可能需要加上sudo。
不同linux发行版的默认安装包可能不同,如果命令不存在,可以通过包管理器安装,比如ubuntu系统可以用apt install 命令名安装,centos系统可以用yum install 命令名安装。
抓取数据包类的命令会产生较多输出,建议结合过滤条件使用,避免输出内容过多影响查看,也可以将输出重定向到文件中后续分析。