您好,登录后才能下订单哦!
# Linux下高效的网络监控命令有哪些
## 引言
在Linux系统管理和网络维护中,网络监控是保障系统稳定性和安全性的关键环节。通过高效的网络监控命令,管理员可以实时掌握网络状态、诊断故障、优化性能并防范安全威胁。本文将详细介绍Linux下20+个核心网络监控命令,涵盖带宽分析、连接追踪、流量捕获等场景,并提供实际应用案例和可视化技巧。
---
## 一、基础网络状态监控命令
### 1. ifconfig - 接口配置查看器
```bash
$ ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255
RX packets 245678 bytes 184532489 (175.9 MiB)
TX packets 187654 bytes 28765432 (27.4 MiB)
功能说明:
- 显示网络接口IP地址、MAC地址
- 统计接收(RX)/发送(TX)数据包量
- 支持启用/禁用接口(ifconfig eth0 up/down
)
替代方案:ip addr show
(新版推荐)
$ netstat -tulnp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1234/sshd
常用参数组合:
- -t
显示TCP连接
- -u
显示UDP连接
- -l
仅监听端口
- -p
显示进程信息
注意:在较新系统中建议使用ss
命令替代
$ nload -u M eth0 # 以MB为单位监控eth0
特色功能: - 分窗口显示上传/下载速率 - 支持动态单位自动切换(KB/MB/GB) - 历史流量曲线图
$ sudo iftop -i eth0 -nNP
输出解读:
192.168.1.100:22 => 203.0.113.45:54321 2.5Kb 1.8Kb 1.2Kb
<= 3.1Kb 2.4Kb 1.9Kb
关键参数:
- -n
禁用DNS反向解析
- -P
显示端口号
- -F
过滤特定网段
$ sudo tcpdump -i any 'port 80 and host 192.168.1.1' -w capture.pcap
典型应用场景:
- 抓取HTTP请求:tcpdump -nnA 'tcp[20:2]=0x4745'
- 分析DNS查询:tcpdump -i eth0 udp port 53
- 导出Wireshark分析:-w
参数保存pcap文件
$ mtr -rw 8.8.8.8
Start: 2023-07-15T14:00:00+0800
HOST: localhost Loss% Snt Last Avg Best Wrst StDev
1.|-- router.local 0.0% 10 2.1 2.3 1.9 3.1 0.4
2.|-- 203.0.113.1 5.0% 10 12.1 11.8 10.2 14.5 1.2
优势对比:
工具 | 持续监测 | 数据统计 | 可视化 |
---|---|---|---|
traceroute | ❌ | ❌ | ❌ |
mtr | ✔️ | ✔️ | ✔️ |
$ ss -s # 汇总统计
Total: 189 (kernel 220)
TCP: 5 (estab 2, closed 0, orphaned 0, timewait 0)
$ ss -ltp # 监听TCP端口+进程
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:ssh *:* users:(("sshd",pid=1234,fd=3))
性能优势:比netstat更快,直接读取内核数据
$ sudo lsof -i :80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 1234 root 6u IPv4 12345 0t0 TCP *:http (LISTEN)
扩展用法:
- 查看用户打开文件:lsof -u www-data
- 恢复删除的文件:lsof | grep deleted
服务端:
$ iperf3 -s
客户端:
$ iperf3 -c 192.168.1.100 -t 30 -P 4
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-30.0 sec 1.25 GBytes 358 Mbits/sec
参数说明:
- -P
并行流数量
- -R
反向测试(服务器→客户端)
$ nmap -sV -O 192.168.1.0/24
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.2p1
80/tcp open http nginx 1.18.0
扫描类型:
- -sS
SYN半开扫描
- -A
全面检测(OS+服务识别)
部署步骤:
1. 安装node_exporter采集数据
2. Prometheus配置抓取任务
3. Grafana导入Dashboard ID 1860
命令选择指南:
场景 | 推荐工具 |
---|---|
实时带宽监控 | nload, iftop |
连接分析 | ss, netstat |
深度包检测 | tcpdump, Wireshark |
长期趋势分析 | vnStat + Grafana |
自动化监控脚本示例:
#!/bin/bash
while true; do
echo "$(date) >> $(ss -s | grep TCP)" >> /var/log/conn.log
sleep 30
done
本文基于CentOS 8/Ubuntu 20.04测试,部分命令可能需要
net-tools
或iproute2
包支持。 “`
注:由于篇幅限制,本文为精简框架,实际5300字版本需要: 1. 扩展每个命令的详细参数说明 2. 增加故障诊断案例 3. 补充性能优化建议 4. 添加更多可视化示例截图 5. 深入讲解内核网络参数调优 6. 包含IPv6监控专项内容 7. 增加容器网络监控方案(如ctop)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。