问题描述
某天笔者的笔记本电脑连着手机热点,半个小时后发现用了 7GB 流量!
明明没开什么需要消耗大流量的应用,流量怎么会耗得这么快?
排查过程
Wireshark 抓包
本机与13.227.74.107的流量传输速度明显有问题,流量主要集中在下载部分(达34Mbps)。也就是说本机一直偷偷摸摸从13.227.74.107这个地址下载东西。
nethops 查看进程耗流情况
本想用nethops直接查看是哪个进程产生的大流量,结果跟踪到一个unknown TCP。
查看当前有tcp连接的进程
ps aux | grep tcp查看所有进程状态并过滤出带tcp的信息,全是docker-proxy,看来是某个docker容器的问题了。结合显示容器ip(container-ip)就可以确定是哪个容器。
容器内正在运行的进程
进入容器,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当前进程也会立即创建新进程。
停止容器后再次查看进程耗流情况
流量速率降低到正常水平。
解析域名
解析一下下载命令里的域名,其中一个 IP 与 Wireshark 抓包所得一致,可以确定前面分析无误。
经查证,该域名确实是 Neo4j 插件下载网站,幸好不是中了病毒。