Linux网络命令是系统管理员和开发人员日常工作中不可或缺的工具,涵盖了网络配置、连接测试、数据监控、路由管理等多个方面,这些命令不仅功能强大,而且灵活高效,能够帮助用户快速诊断网络问题、优化网络性能或进行网络调试,以下将详细介绍常用的Linux网络命令,并附上具体用法和示例。

网络连接测试与诊断命令
ping
用于测试与目标主机的连通性,通过发送ICMP回显请求包并接收响应来判断网络是否可达。ping -c 4 192.168.1.1 # 发送4个包后停止 ping -i 2 8.8.8.8 # 每隔2秒发送一次请求
traceroute/tracert
跟踪数据包到目标主机所经过的路由路径,帮助定位网络延迟或中断点。traceroute -n 8.8.8.8 # 不进行DNS解析,直接显示IP traceroute -I 192.168.1.1 # 使用ICMP代替UDP
mtr
结合了ping和traceroute的功能,实时显示网络路径的每一跳延迟和丢包情况。mtr --report-cycles 5 192.168.1.1 # 运行5个测试周期
网络配置与接口管理命令
ifconfig(传统工具)或ip(现代推荐)
查看或配置网络接口信息。
(图片来源网络,侵删)ifconfig eth0 up # 启用eth0接口 ifconfig eth0 192.168.1.100 netmask 255.255.255.0 # 设置IP ip addr add 192.168.1.101/24 dev eth0 # 使用ip命令添加IP ip link show # 显示所有接口状态
nmcli
NetworkManager的命令行工具,适用于管理网络连接(尤其是动态IP、Wi-Fi等)。nmcli con show # 显示所有连接 nmcli con mod "eth0" ipv4.addresses 192.168.1.102/24 # 修改IP nmcli con up "eth0" # 启用连接
网络数据监控与分析命令
netstat
显示网络连接、路由表、接口统计等信息。netstat -tuln # 显示所有监听的TCP/UDP端口 netstat -an | grep ESTAB # 查看已建立的连接 netstat -s # 显示网络协议统计信息
ss(替代netstat)
更快速地显示套接字统计信息,支持更多过滤选项。ss -tulnp # 显示监听端口及进程ID ss - state established # 查看已建立的连接
tcpdump
抓取和分析网络数据包,适用于深度网络调试。
(图片来源网络,侵删)tcpdump -i eth0 -nn port 80 # 抓取eth0上80端口的HTTP流量 tcpdump -w capture.pcap # 将抓包结果保存到文件
路由与DNS管理命令
route(传统)或ip route
查看或管理路由表。route -n # 显示路由表(不解析DNS) ip route add 10.0.0.0/24 via 192.168.1.1 # 添加静态路由
nslookup/dig
查询DNS记录,前者交互式,后者功能更强大。nslookup www.baidu.com dig +short www.google.com # 仅返回IP地址
文件传输与远程管理命令
scp/rsync
安全复制文件,支持本地与远程主机之间的数据传输。scp -r /local/path user@remote:/remote/path # 递归复制目录 rsync -avz --progress /local/ user@remote:/remote/ # 增量同步
ssh
安全远程登录,也可执行远程命令。ssh -p 22 user@192.168.1.1 # 指定端口登录 ssh-keygen -t rsa # 生成SSH密钥对
网络服务与安全命令
iptables
配置Linux内核防火墙规则。iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 允许SSH访问 iptables -L -n --line-numbers # 列出规则并显示行号
firewall-cmd
CentOS/RHEL系统的防火墙管理工具(基于firewalld)。firewall-cmd --add-service=http --permanent # 永久允许HTTP firewall-cmd --reload # 重新加载防火墙
其他实用工具
- nmap:端口扫描与主机发现。
nmap -sT -p 1-1000 192.168.1.1 # 扫描指定范围的TCP端口
- curl/wget:下载文件或测试HTTP服务。
curl -I http://example.com # 查看HTTP响应头 wget -c http://example.com/file.zip # 断点续传下载
相关命令对比表格
| 功能分类 | 命令 | 现代替代工具 | 主要用途 |
|---|---|---|---|
| 路由管理 | route | ip route | 查看/添加静态路由 |
| 网络状态 | netstat | ss | 显示连接、端口、路由统计 |
| 接口配置 | ifconfig | ip addr | 配置网络IP和接口状态 |
| 防火墙 | iptables | firewall-cmd | 管理包过滤规则 |
| DNS查询 | nslookup | dig | 解析域名到IP |
相关问答FAQs
Q1: 如何快速定位网络延迟高的节点?
A1: 使用mtr命令结合目标主机IP,例如mtr --report-cycles 10 8.8.8.8,该命令会实时显示每一跳的延迟、丢包率和节点IP,通过观察中间节点的延迟值可快速定位瓶颈。
Q2: 为什么推荐使用ss替代netstat?
A2: ss是Linux内核从3.17版本后引入的工具,相比netstat,它直接从内核获取套接字信息,速度更快且支持更丰富的过滤选项(如按状态、端口、协议等),在大量连接的场景下,ss的性能优势尤为明显。
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/475979.html<
