Linux查找对外发出的http请求来自哪个进程
一、场景
公司的生产环境linux,近日报警,在不断地向一个海外IP发出请求,有严重的安全问题,要求我们查一下。
二、解决方案
因为公司数据涉密,这里使用自己的虚拟机复现。
排查思路1
因为这台服务器部署了前端项目,所以第一反应是前端的某个js文件的定时器任务在不断的发送请求。
所以在部署目录使用递归搜索服务器的文件中的字符串命令,搜索这个IP。
grep -r "103.224.182.210"
搜索了一段时间,没有任何结果。
排查思路2
使用netstat命令查找对于该IP的连接情况
netstat -atnp|grep 103.224.182.210
发现这是一个java程序,在不断地向这个海外IP发起请求,SYN_SENT也就是洪水攻击。
我们来看下服务器上运行的java程序。
ps -ef|grep java
1458的进程,从来没有见过。
jps
更能确定,其他的两个jar包是自己亲自启动的,而这个Application从来没见过。
进入到相关位置把它停掉即可。