Linux网络运维神兵谱:11把利器斩断故障,从连通诊断到攻防实战!
一、网络诊断剑客(基础连通性)
-
ping
- 网络连通性测试- 功能:发送ICMP包检测主机是否可达,计算延迟与丢包率。
- 场景:快速验证服务器是否在线或网络是否通畅。
- 代码案例:
输出解读:ping -c 4 8.8.8.8 # 发送4个包测试Google DNS
64 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=25.3 ms --- 8.8.8.8 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss
-
traceroute
- 路由路径追踪- 功能:显示数据包经过的每一跳路由节点及延迟。
- 场景:定位网络中断或高延迟节点。
- 代码案例:
traceroute -w 1 www.baidu.com # -w 1设置每跳等待1秒
-
mtr
- 双向路由诊断- 功能:融合
ping
+traceroute
,实时监控路径质量。 - 场景:持续诊断网络抖动问题。
- 代码案例:
mtr --report www.aliyun.com # 生成汇总报告
- 功能:融合
二、连接与端口管理(排错核心)
-
ss
- 高效连接分析(替代netstat)- 功能:查看监听/活动连接、进程占用端口。
- 场景:排查端口占用或异常连接。
- 代码案例:
输出示例:ss -tunlp | grep :80 # 查看80端口占用进程
tcp LISTEN 0 128 *:80 *:* users:(("nginx",pid=1234))
-
lsof
- 精准定位端口占用者- 功能:列出打开文件的进程(含网络端口)。
- 场景:快速杀死占用端口的异常进程。
- 代码案例:
lsof -i :22 # 查看22端口(SSH)占用情况
-
nc
/ncat
- 端口测试瑞士军刀- 功能:手动测试端口连通性、传输数据。
- 场景:验证防火墙规则或服务监听状态。
- 代码案例:
nc -zv 192.168.1.100 3306 # 测试MySQL端口是否开放 echo "Hello" | nc -l -p 9999 # 监听9999端口并回显数据
三、流量监控与性能分析
-
iftop
- 实时流量可视化- 功能:按连接实时显示带宽占用TOP榜。
- 场景:定位突发流量或DDoS攻击源。
- 安装:
sudo apt install iftop
- 代码案例:
iftop -i eth0 -nP # 监控eth0网口,禁用端口解析(-n)显示端口号(-P)
-
nload
- 简洁带宽仪表盘- 功能:分流入/流出流量实时统计。
- 场景:快速评估网卡负载。
- 代码案例:
nload -m eth0 # 监控eth0,-m隐藏图例节省空间
四、高级调试与攻防工具
-
tcpdump
- 抓包分析利器- 功能:捕获并解析网络数据包内容。
- 场景:分析协议异常、拦截明文数据。
- 代码案例:
tcpdump -i eth0 'tcp port 80 and host 192.168.1.100' -w capture.pcap # 抓取HTTP流量存为pcap文件
-
nmap
- 网络扫描与安全审计- 功能:探测开放端口、服务版本、操作系统。
- 场景:安全渗透测试或漏洞排查。
- 代码案例:
nmap -sV -O 192.168.1.0/24 # 扫描网段,识别服务版本(-sV)和OS(-O)
-
iptables
- 防火墙规则管理- 功能:配置包过滤规则,控制网络访问。
- 场景:封禁恶意IP或开放服务端口。
- 代码案例:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT # 允许80端口入站 iptables -A INPUT -s 10.0.0.5 -j DROP # 封禁IP 10.0.0.5
五、实战场景速查表
故障场景 | 命令组合 |
---|---|
网站无法访问 | ping 域名 → dig 域名 → telnet 域名 80 → curl -I 域名 |
SSH连接超时 | ss -tunlp :22 → iptables -L → tcpdump -i eth0 port 22 |
DNS解析失败 | dig @8.8.8.8 域名 +trace → cat /etc/resolv.conf |
带宽异常飙升 | nload eth0 → iftop -i eth0 → ss -s 查看总连接数 |
六、高阶技巧:IP命令取代传统工具
# 查看所有接口IP(替代ifconfig)
ip addr show
# 添加临时IP地址(无需重启)
ip addr add 192.168.1.200/24 dev eth0
# 查看路由表(替代route)
ip route show
# 添加默认网关
ip route add default via 192.168.1.1
避坑指南:
- 慎用
kill -9
:强行杀死进程可能导致数据损坏,先尝试kill -15
(SIGTERM)。 - 防火墙规则持久化:
iptables-save > /etc/iptables.rules # 保存规则 echo "iptables-restore < /etc/iptables.rules" >> /etc/rc.local # 开机加载
附:命令速查脑图