记一次逆向追踪请求ip的经历

Posted 不去天涯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记一次逆向追踪请求ip的经历相关的知识,希望对你有一定的参考价值。

记一次逆向追踪请求ip的经历

事发

某日下午,部门使用的测试环境出现问题,所有集成测试case都执行失败。查询测试用服务器发现是磁盘已满,造成请求失败。

应急处理

发现磁盘空间问题后,首先想到的是程序日志过大,因为这台机器上部署了部门的几十个应用,以前也出现过日志造成磁盘空间不足的问题。所以,迅速执行日志删除,发现集成测试case都可以正确执行了。

但是过了不一会,发现某些应用报服务已宕机。再去服务器看,磁盘空间又满了,而且删除之后,几分钟磁盘就会再次填满,速度十分之快。应急之下首先增加了一个2分钟清理一次的定时脚本,但是磁盘空间告急。

寻找问题原因

这时候,只能看增长最快的日志文件,然后去看具体是什么东西打印了这么多的日志。查询发现是网关的请求量达到了4k的qps,因为是内网所以怀疑是有人在进行压测,分析请求之后发现基本都是同事负责的一个接口的流量。询问发现,下午执行了压力测试,但是压测平台出了问题,不能正常停止压测。估计问题就找到了。

封锁请求进入

但是,和压测平台负责的同事沟通,他们说已经杀死了压测程序,而且压测机没有root权限,不能进行tcpdump。很无奈,压测平台的同事也是信誓旦旦,觉得不是自己平台的问题。

无奈之下,我们进行了对流量的分析和封锁,进行请求参数、来源ip的封锁。但是封锁之后发现来源ip是公司的一个出口ip,导致其他业务的测试环境调我们调不通了。这种情况下,暂时让其他业务方使用ip地址直连我们的测试环境。

定位请求的内网ip

最终的最终,我们找到了一种可以定位到来源内网ip的方法,用铁一般的证据证明就是压测平台的几台机器在向我们发请求,才推动压测平台的同事重启服务器,从而彻底关闭了发送请求的进程。

我们采用的方案是:在请求接入层针对来源流量执行一个301跳转,跳转到一个内网ip地址,这样就可以抓取到来源的内网ip了。

~~~~~~~~~~~~~~~~~~~~~~~~~ 福利分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~
-长期内推-:头条、快手、美团、阿里、陌陌、当当。有需要的朋友可以发邮件到我的邮箱xiaofan860412@163.com。

以上是关于记一次逆向追踪请求ip的经历的主要内容,如果未能解决你的问题,请参考以下文章

记一次Android内存泄漏的优化经历

记一次让人的喷血的排错经历

(Java)记一次通过API递归分页“爬取”网页数据的开发经历

记一次centos7主机名变bogon导致ORACLE无法远程访问的经历(原创)

记一次机器机器被黑经历——一直发送SSH请求,kswapd0tsm内存占用过高

记一次node爬虫经历,手把手教你爬虫