知识卡片

代理IP识别的四种技术手段

普通读书笔记卡

内容

一般业务都会对IP设置访问频率和次数限制的防刷策略,黑产为了对抗这类限制,必然会大量采用代理IP来绕过——这使得”识别一个IP是不是代理IP”成为用户画像(尤其IP画像)中的关键一环。技术上主要有四种识别手段。反向探测技术:扫描目标IP是否开通了80、8080这类代理服务器常用端口,一个普通用户IP不太可能开通这类端口,因此一旦扫描到就是明显的可疑信号。HTTP头部的X_Forwarded_For:开通了HTTP代理的IP可以通过检测请求头里是否带有XFF信息来判断,如果带有XFF信息,说明该IP是代理IP无疑。Keep-alive报文:如果请求带有Proxy-Connection的Keep-alive报文,同样可以确定这是代理IP。查看IP上端口:如果一个IP上开放的端口号大于10000,这个IP大概率也存在问题,因为普通家庭IP几乎不会开这么大范围的端口。这四种方法虽然都是业内公开的技术,但如果盲目对全网IP做扫描,不仅容易被目标网络拦截,扫描效率本身也是个大问题——不能只靠”主动扫描全网”这一条腿走路。因此除了用网络爬虫爬取已知代理IP列表外,实践中更高效的做法是反过来:先通过业务建模收集恶意IP(黑产使用代理IP的概率本身就比普通用户高得多),再对这批已经被业务行为标记为可疑的IP做协议扫描确认,而不是对全网IP盲目扫描——这种”先用业务信号圈定可疑范围、再用协议扫描做精确确认”的两阶段策略,让腾讯能做到每天发现千万级别的恶意IP(其中大部分是代理IP),效率远高于单纯的全网扫描。

参考来源

- 位置:《高可用架构(第1卷)》第1章《高可用架构案例精选》"1.2 腾讯基于用户画像大数据的电商防刷架构"节,"1.2.5 腾讯大数据处理平台——魔方"(源文件:_epub-src/OEBPS/Text/Chapter1_2_6.xhtml) - 结论依据:原文列出"反向探测技术……HTTP头部的X_Forwarded_For……Keep-alive报文……查看IP上端口"四种代理IP识别方法,并说明"除了利用网络爬虫爬取代理IP外,还可利用如下办法来加快代理IP的收集:通过业务建模收集恶意IP……然后再通过协议扫描的方式来判断",直接支撑本卡片结论。 - 原始内容:以上检测代理IP的方法几乎都是公开的,但是盲目去扫描全网的IP,被拦截不说,效率也是一个很大的问题……通过业务建模收集恶意IP(黑产使用代理IP的可能性比较大),然后再通过协议扫描的方式来判断这些不是代理IP。腾讯每天都能发现千万级别的恶意IP。