本文目录导读:

监控电脑服务器流量异常是保障业务连续性和网络安全的重要环节,通常可以从系统层面、网络层面以及流量分析工具三个维度入手。
以下是详细的监控方法与步骤:
基础监控:系统自带工具
适用于快速定位、临时排查,或在没有专业监控软件的情况下使用。
Linux 服务器
- iftop:实时查看网络接口的带宽占用情况,能看到具体是哪个IP和端口在通信。
- 安装:
yum install iftop或apt install iftop - 使用:
iftop -i eth0(替换为实际网卡名) - 异常特征:某个陌生IP流量异常高,或者连接数异常多。
- 安装:
- nethogs:按进程统计流量,能查到是哪个程序(如nginx、MySQL、挖矿脚本)占用了带宽。
- 使用:
nethogs eth0
- 使用:
- tcpdump:深度抓包分析,能检查数据包内容。
- 示例:抓取80端口流量并保存:
tcpdump -i eth0 port 80 -w capture.pcap
- 示例:抓取80端口流量并保存:
- netstat / ss:查看当前活跃的连接数。
- 命令:
netstat -antp | wc -l(统计连接数) - 异常特征:连接数突然暴增(如
SYN_RECV状态过多,可能为SYN Flood攻击)。
- 命令:
Windows 服务器
- 资源监视器:
- 打开:运行
resmon-> 点击“网络”选项卡。 - 功能:查看每个进程的网络I/O,以及远程IP地址的流量。
- 打开:运行
- 性能监视器:
- 添加计数器:
Network Interface\Bytes Total/sec,观察历史趋势。
- 添加计数器:
- PowerShell:
- 查看当前TCP连接:
Get-NetTCPConnection | Group-Object -Property State | Sort-Object Count
- 查看当前TCP连接:
进阶监控:流量分析与可视化
如果需要长期监控、告警并分析异常模式,建议部署专业工具。
流量采集协议
- NetFlow / sFlow:网络设备(路由器/交换机)将流量元数据(源IP、目的IP、端口、协议、包数量)发送到分析器。
- IPFIX:NetFlow的升级版。
开源流量分析软件
| 工具 | 特点 | 适用场景 |
|---|---|---|
| ntopng | Web界面美观,能实时展示Top Talkers(流量最大的IP)、应用协议、地理分布。 | 快速识别“谁在大量发送数据”。 |
| Prometheus + Grafana | 通过node_exporter采集网络流量指标,配合Grafana绘制趋势图并配置告警。 |
企业级监控体系,适合有运维基础的环境。 |
| ELK Stack | 收集系统日志、网络日志(如iptables日志),通过Kibana可视化分析。 | 结合安全事件(如登录失败+流量异常)进行关联分析。 |
| Wireshark | 深度抓包,分析单个数据包的内容。 | 排查是否是恶意软件、病毒发出的异常流量。 |
异常流量检测的关键指标
不要只看“带宽用了多少”,需要关注以下变化:
- 出入流量不对称:
- 正常情况下,出流量 ≈ 入流量(对Web服务器而言)。
- 异常:出流量远大于入流量(可能是服务器被控,对外发送数据或DDoS攻击);入流量远大于出流量(可能是遭遇DDoS攻击,或日志、数据被大量下载)。
- 特定端口流量激增:
- 比如25端口(SMTP)突然异常高,可能是服务器被当成垃圾邮件中继。
- 比如445端口(SMB)异常高,可能是勒索病毒传播(如永恒之蓝)。
- 连接数与连接频率:
- 单个IP短时间内建立大量半连接(
SYN_RECV)-> DDoS。 - 大量短连接(电信扫描特征)-> 可能是扫描或攻击前奏。
- 单个IP短时间内建立大量半连接(
- 流量与UTC时间关联:
流量高峰期是否与业务高峰期匹配?是否有异常的“深夜流量”?
实用监控告警脚本(基于 Linux + crontab)
以判断“瞬时流量是否超过阈值”为例:
#!/bin/bash
# 监控脚本:check_traffic.sh
# 获取eth0网口接收字节数(单位:字节/秒)
TRAFFIC=$(cat /sys/class/net/eth0/statistics/rx_bytes)
sleep 1
TRAFFIC_NOW=$(cat /sys/class/net/eth0/statistics/rx_bytes)
SPEED=$(( (TRAFFIC_NOW - TRAFFIC) / 1024 / 1024 )) # 转换为MB/s
THRESHOLD=500 # 阈值,单位MB/s,根据你的带宽调整
if [ $SPEED -gt $THRESHOLD ]; then
echo "警告:当前入站流量 ${SPEED}MB/s,超过阈值 ${THRESHOLD}MB/s" | mail -s "服务器流量异常告警" [your_email@example.com](mailto:your_email@example.com)
# 也可以在这里调用 top 或 nethogs 记录异常进程
fi
建议:配合 iftop -t -s 3 或 nethogs 将异常时刻的流量排名一并记录。
专项场景排查
怀疑被植入挖矿程序
- 方法:检查UDP流量(挖矿通常使用UDP 3333、4444等端口),使用
nethogs查看进程名,或使用lsof -i查看异常文件描述符。 - 命令:
tcpdump -i eth0 -c 1000 udp port 3333或查看cat /proc/net/tcp | head -20。
怀疑被作为CC攻击肉鸡
- 方法:查看HTTP请求频率与来源IP。
- 工具:
ngxtop(解析nginx日志)、goaccess(实时分析访问日志)、fail2ban(自动封禁高频IP)。
数据泄露(大流量外传)
- 方法:检查出站流量中的异常大包或DNS查询。
- 命令:
tcpdump -i eth0 src host 服务器IP and dst port ! 80 and dst port ! 443 -w outbound.pcap
总结工作流
| 步骤 | 工具/方法 | 目标 |
|---|---|---|
| 发现 | iftop/nethogs/带宽监控图 |
确认流量确实异常 |
| 定位 | ss -tunap/tcpdump |
找到异常IP或进程PID |
| 分析 | ps aux/抓包分析 |
判断是恶意软件、攻击还是业务异常 |
| 处置 | kill/iptables/重启服务 |
阻断异常流量 |
| 预防 | 部署ntopng + Prometheus告警 | 实现自动化监控与通知 |
建议: 如果流量异常持续超过1小时且无法定位原因,优先考虑拔掉网线或隔离服务器,避免数据泄露或影响其他服务。
标签: 异常告警
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播