在腾讯云 CVM(Cloud Virtual Machine)上,如果你想知道当前服务器的流量是 TCP、UDP 还是其他协议的访问量较大,可以通过以下几种方式进行查看和分析:
一、使用系统命令查看实时流量信息
1. 使用 iftop 查看流量统计
安装 iftop 可以查看实时网络连接情况,包括协议类型(TCP/UDP)、IP 地址和端口。
# 安装 iftop(以 CentOS 为例)
sudo yum install iftop -y
# 启动 iftop 并显示协议信息
sudo iftop -P
-P参数可以显示端口号和服务名称。- 在界面中可以看到每个连接使用的协议(如 TCP、UDP)以及数据传输速率。
2. 使用 nethogs 按进程查看流量
nethogs 是按进程划分网络带宽使用的工具。
# 安装 nethogs
sudo yum install nethogs -y # CentOS
sudo apt install nethogs -y # Ubuntu
# 查看各进程的流量
sudo nethogs eth0 # 替换为你实际的网卡名,如 ens3 或 enp0s3
虽然不直接显示协议,但可以结合 PID 查看具体服务(如 Nginx、MySQL 等)是否使用 TCP。
3. 使用 tcpdump 抓包分析协议类型
# 抓取前100个包并显示协议
sudo tcpdump -i eth0 -nn -c 100
# 仅抓取 TCP 包
sudo tcpdump -i eth0 tcp -nn -c 100
# 仅抓取 UDP 包
sudo tcpdump -i eth0 udp -nn -c 100
通过比较不同协议的抓包数量,可以判断哪种协议流量大。
二、使用监控工具进行长期分析
1. 使用 Netdata
Netdata 是一个功能强大的可视化监控工具,支持查看协议级别的流量。
# 安装 Netdata(适用于大多数 Linux 发行版)
sudo apt install netdata # Debian/Ubuntu
sudo yum install netdata # CentOS
# 访问 Web 界面,默认地址:
http://<CVM_IP>:19999
在 Web 界面中可以查看详细的网络协议分布(TCP、UDP、ICMP 等)。
2. 使用 Prometheus + Grafana + node_exporter
搭建一套完整的监控系统,可自定义查询协议层面的流量数据。
node_exporter提供基础指标;- Prometheus 收集数据;
- Grafana 展示图表;
- 配置合适的指标(如
node_network_receive_bytes_total和node_network_transmit_bytes_total),并通过标签区分协议。
三、使用腾讯云控制台和云监控
1. 腾讯云监控(Cloud Monitor)
进入 腾讯云控制台 → 云服务器 CVM → 监控页面:
- 查看 公网入带宽、出带宽
- 查看 内网入带宽、出带宽
虽然默认不区分 TCP/UDP,但可以配合下面的方法做进一步分析。
2. 开启 VPC 流日志(Flow Log)
腾讯云支持为 VPC 子网或弹性网卡开启流日志,记录进出流量的详细信息,包括:
- 源 IP、目的 IP
- 协议类型(TCP、UDP、ICMP)
- 端口
- 数据包数、字节数等
✅ 流日志会写入到 CLS(Cloud Log Service),你可以通过日志分析来统计哪些协议流量最大。
开启方法:
- 登录腾讯云控制台;
- 进入 VPC 控制台;
- 找到目标子网或弹性网卡;
- 开启 流日志(Flow Log),选择日志主题;
- 进入 CLS 日志服务,使用 SQL 查询语句分析协议字段。
例如,在 CLS 中执行如下 SQL 查询:
* | select protocol, count(*) as cnt, sum(bytes) as total_bytes group by protocol
即可看到每种协议的流量统计。
四、总结
| 方法 | 是否能查看协议 | 是否实时 | 是否需安装 |
|---|---|---|---|
iftop |
✅ TCP/UDP | ✅ 实时 | ✅ 需要安装 |
nethogs |
❌ 不直接显示协议 | ✅ 实时 | ✅ 需要安装 |
tcpdump |
✅ TCP/UDP | ✅ 实时 | ✅ 需要安装 |
netdata |
✅ 协议分布 | ✅ 实时 | ✅ 需要安装 |
| 腾讯云监控 | ❌ 默认不行 | ✅ 实时 | ❌ 不需要 |
| VPC Flow Log + CLS | ✅ 可统计协议 | ❌ 延迟几秒 | ❌ 不需要 |
如果你只是想快速排查问题,推荐使用 iftop 或 tcpdump;
如果要做长期监控和分析,建议配置 VPC 流日志 + CLS 分析 或部署 Prometheus + Grafana。
如需我帮你写一段具体的脚本或 CLS 查询语句,也可以继续问我!
CDNK博客