现在访问一些“非法”网站会被劫持到反诈提醒,想知道他们是怎样识别浏览器和 curl 之类的工具的

2022-12-01 23:36:32 +08:00
 systemcall

现在我这边在没有开代理的情况下,访问一些“非法”网站,像 YouTube 、推特之类的,都会被尝试劫持到反诈提示。方式似乎是 DNS 污染。
网站看上去非常简陋,但是似乎做了很多严格的限制,不仅只能用浏览器访问,而且 IP 似乎会变动
尝试使用 curl 进行访问,直接会超时,根本没有到握手的那步
我知道 HTTPS 连接可以通过识别 TLS 指纹来鉴别,但是 HTTP 连接应该没有 TLS 指纹吧

1669 次点击
所在节点    问与答
11 条回复
ysc3839
2022-12-02 02:34:15 +08:00
估计是看 user agent 的吧
dcsuibian
2022-12-02 02:40:07 +08:00
不懂,但会不会是重定向问题?
systemcall
2022-12-02 09:14:44 +08:00
@ysc3839 #1
UA 加了参数试过了

@dcsuibian #2
浏览器里面单独打开那个 IP 都行,但是 curl 里面加不加 refer 、加不加 host 都没有用
liyang5945
2022-12-02 09:28:08 +08:00
抓包看啊
proxytoworld
2022-12-02 09:52:33 +08:00
@systemcall 来个 url 我试试
systemcall
2022-12-02 10:36:52 +08:00
@proxytoworld #5
我这边的,有一个是 223.75.236.241
systemcall
2022-12-02 10:38:30 +08:00
@proxytoworld #5
看上去做的很粗糙,但是似乎是做了很强的识别的,不是“常规”访问似乎都会被拦截。可能只有湖北才能触发吧,也许要用当地 DNS 服务器先进行一下 DNS 查询,才会对你的 IP 打开连接
xieqiqiang00
2022-12-02 13:06:07 +08:00
AoEiuV020CN
2022-12-02 16:17:26 +08:00
f12 网络 复制为 curl , 直接发起一模一样的请求,
如果能通,再一个一个参数删减排查,
如果不能通,那直接排除应用层的问题,只能是更底层的判断了,
proxytoworld
2022-12-02 16:50:44 +08:00
@systemcall wireshark 看了一下,用浏览器访问,tcp 请求会报`tcp retransmission`错,但貌似浏览器忽略了这个错,之后成功 GET ,用 curl 的时候 tcp 也是和上面一样的错,可能 curl 没有 handle 这个错,
systemcall
2022-12-02 20:22:22 +08:00
@AoEiuV020CN #9
curl 的行为和浏览器还是有区别,似乎没办法模仿出来
@proxytoworld #10
naiveproxy 复用了 chrome 的网络栈,能否通过 naiveproxy 做一个可以真正模拟浏览器请求的 curl ?
毕竟在这里就发现了 curl 和浏览器不一样的点

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

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

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

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

© 2021 V2EX