记一次流量消耗问题排查

722 阅读1分钟

问题描述

某天笔者的笔记本电脑连着手机热点,半个小时后发现用了 7GB 流量!

明明没开什么需要消耗大流量的应用,流量怎么会耗得这么快?

排查过程

Wireshark 抓包

Screenshot_20241121_230024.png

本机与13.227.74.107的流量传输速度明显有问题,流量主要集中在下载部分(达34Mbps)。也就是说本机一直偷偷摸摸从13.227.74.107这个地址下载东西。

nethops 查看进程耗流情况

Screenshot_20241121_234220.png

本想用nethops直接查看是哪个进程产生的大流量,结果跟踪到一个unknown TCP

查看当前有tcp连接的进程

Screenshot_20241121_231047.png

ps aux | grep tcp查看所有进程状态并过滤出带tcp的信息,全是docker-proxy,看来是某个docker容器的问题了。结合显示容器ip(container-ip)就可以确定是哪个容器。

容器内正在运行的进程

Screenshot_20241121_231438.png

进入容器,ps -ef发现有个Neo4j插件下载进程:

wget -q --timeout 300 --tries 30 --output-document=/var/lib/neo4j/plugins/graph-data-science.jar https://graphdatascience.ninja/neo4j-graph-data-science-2.9.8.jar

测试发现该容器由于未知原因,插件总是安装失败,于是不停执行插件下载命令,即使kill当前进程也会立即创建新进程。

停止容器后再次查看进程耗流情况

Screenshot_20241121_234558.png

流量速率降低到正常水平。

解析域名

Screenshot_20241121_234057.png

解析一下下载命令里的域名,其中一个 IP 与 Wireshark 抓包所得一致,可以确定前面分析无误。

经查证,该域名确实是 Neo4j 插件下载网站,幸好不是中了病毒。