写了一个用来检测 proxy 的 api,目前来看,正确率应该比较高

2024-08-19 13:37:11 +08:00
 YCCD

ProxyChecker

5554 次点击
所在节点    程序员
55 条回复
yanyao233
2024-08-19 18:18:29 +08:00
蹲一个原理,后续会开源吗?
1423
2024-08-19 18:29:18 +08:00
tcp 时间戳?
Bingchunmoli
2024-08-19 18:42:14 +08:00
打不开
1423
2024-08-19 18:46:06 +08:00
抓包看了下, 应该是对比 ack time 和 http2 ping time
有点东西
YCCD
2024-08-19 18:49:37 +08:00
@1423 就是这样的
1423
2024-08-19 18:54:22 +08:00
@YCCD #25 @YCCD #25 好奇你的代码 clean 还是 dirty
严格做的话应该有个单独的进程/线程抓包, http2 ping 和抓包 ack 匹配是个问题, 毕竟是加密的
简单做的话只抓 tcp 按字节数规律也行, 只需要找个 http2 server 魔改插入 ping
1rv013c6aiWPGt24
2024-08-19 18:57:24 +08:00
打算开源吗?挺准的
YCCD
2024-08-19 18:58:34 +08:00
@1423
不需要那么麻烦,tcp 的 rtt linux 有接口可以直接拿
http2 的话确实需要一些处理,不过也不难
YCCD
2024-08-19 18:58:58 +08:00
@UncleCAT4 开源,但是现在代码有点丑
kk2syc
2024-08-19 19:02:18 +08:00
如果我写个脚本在落地机上先跑上 N 次并标记 no_proxy 呢?
YCCD
2024-08-19 19:07:20 +08:00
@kk2syc 你是说检测爬虫方面吗?
可以只标记一条 tcp 连接是正常的,如果是 http2 协议的话,之后的请求应该是会复用这条连接的。
这个检测不难
qq316107934
2024-08-19 19:07:35 +08:00
没试海外的节点准不准,但是国内正常的网络被误判的很严重
qq316107934
2024-08-19 19:16:51 +08:00
好像找到原因了,4G 和 WiFi 下因为网络波动就会造成误判,有线连接效果会好一点,但也有。
YCCD
2024-08-19 19:21:45 +08:00
过滤异常数据的算法有点问题,等我改改
outtime
2024-08-19 19:23:54 +08:00
感觉更像是网络质量测试,代理延迟低到一定水平就可以一直过检测
kk2syc
2024-08-19 19:26:49 +08:00
@YCCD 不是,我是说如何突破你这个根据波动比例来判断的算法。问题在于你需要纠正算法误差,能纠正就很好搞了,标记 no_proxy 基数达到一个量,你的 proxy 判断也会被纠正
R4rvZ6agNVWr56V0
2024-08-19 19:30:52 +08:00
受制于网络通讯的稳定性
XiLingHost
2024-08-19 19:35:50 +08:00
对于工作在第三层和第四层的代理(策略路由和透明代理)似乎无效
pagxir
2024-08-19 19:52:34 +08:00
@XiLingHost 不要说三层四层了,你机器慢一些就误判了,对一一个高负载的机器, 内核处理到应用层 58 毫秒延迟很平常
Masterlxj
2024-08-19 23:37:19 +08:00
不如直接 ja4 啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1066093

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX