类似于光的双缝干涉实验, js 能不能检测到 fiddler 正在抓包?

2021-01-04 09:00:15 +08:00
 kisshere

想用 js 检测到 fiddler 正在抓包的话,立刻阻止网络请求,终止程序继续执行。希望广大 V 友能集思广益一下

8686 次点击
所在节点    程序员
58 条回复
divilkcvf
2021-01-04 09:52:28 +08:00
用 js 实现一个 fiddle,与真正的 fiddle 一起抓包时,浏览器会显示出明暗相间的条纹,实现干涉?
nnnToTnnn
2021-01-04 10:09:46 +08:00
@XiLingHost #10L 签章是不可伪造的,例如指纹签章,或者特殊的签章,例如 14L 所的那样,如果签章具备有伪造性,那么就无法证明,这个信封就是发起的。
zckevin
2021-01-04 10:13:31 +08:00
靠网络侧信道还是能探测出一些的,Fiddler 作为一个 HTTP/HTTPS 代理,
zckevin
2021-01-04 10:20:17 +08:00
经典的 WebSocket.bufferedAmount,在服务端把 TCP recv wnd 置零,调用 WebSocket.send() 会使得数据在代理也就是 Fiddler 而是浏览器中堆积。

现在 Chromium Project Fugu 的目的更是把所有能塞到浏览器里的 API 都塞进去...可以供给使用的侧信道只会越来越多。

https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/bufferedAmount
https://www.chromium.org/teams/web-capabilities-fugu
kisshere
2021-01-04 10:21:13 +08:00
@styletjy "想知道是怎样类似的"

光子能“感知”到是否有人在观察它,从而实现在“波”和“粒子”态之间的自由切换,我也想用 js 去察觉 fiddler 这双眼睛是否当前在观看抓包着数据流
lscexpress
2021-01-04 10:21:23 +08:00
总结一下,书读的太少,想的又太多
lff0305
2021-01-04 10:27:33 +08:00
FF 有 getSecurityInfo API, https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/getSecurityInfo
来看当前的证书信息

如果用 Fiddler 抓 https 必须安装 /信任 Fiddler 自己的证书, 那么就可以知道是否有 Fiddler
zckevin
2021-01-04 10:30:12 +08:00
@zckevin 当然,如果要检测代理方是 Fiddler 还是其它应用,最靠谱的方法是找一堆各个版本 Chromium 的 0day/Nday 组个拼盘,提权后再判断。
yolee599
2021-01-04 10:42:26 +08:00
仅仅针对 fiddler 抓包你可能有办法,直接在路由器对数据包 memcpy 你一点办法都没有,甚至不用路由器,修改网卡驱动,在发送数据包的时候直接 memcpy 出来。
zhangsanfeng2012
2021-01-04 10:43:55 +08:00
如果用户开透明代理,然后再在服务器上用 fiddler 抓包,你本地浏览器啥也不知道
ryd994
2021-01-04 10:48:51 +08:00
HTTPS+Certificate pinning

@mingtdlb 遇事不决,量子力学
Lemeng
2021-01-04 10:51:12 +08:00
想了想,不可以吧。不过探索精神可以
icyalala
2021-01-04 10:51:38 +08:00
先说说你最初的目的吧,为什么想要检测 Fiddler 抓包?为什么不检测 Wireshark 呢?
qiayue
2021-01-04 10:52:18 +08:00
chenyu8674
2021-01-04 11:18:08 +08:00
双缝干涉实验体现了对象的状态会因是否存在观察者而改变

在 LZ 的语境里就是能否使代码的运行逻辑因是否存在抓包者而改变

在我看来挺类似的啊
kisshere
2021-01-04 11:48:10 +08:00
@qiayue
@lff0305 我用 IE8 不就破了 websocket 了???
Maskeney
2021-01-04 11:53:46 +08:00
lz 上的什么野鸡培训班啊?都完全不了解 HTTPS 是干啥的么?以为 HTTPS 是给你加密数据包以防客户端解密出数据包原始内容的?还一门心思防止客户端解密 HTTPS 流量?想要加密自己老老实实把内容加密不好么?非要在 HTTPS 这种用来防止传输过程中被服务端客户端外的第三者窥探内容的机制上动歪脑筋?
wangbenjun5
2021-01-04 11:58:19 +08:00
@Maskeney 正解,想要防止抓包手段很多,最简单的就是端对端加密,类似 ss 和 v2r
Maskeney
2021-01-04 12:00:20 +08:00
@qiayue #34 看到这图的落款瞬间不想看内容了,Twitter 上频频爆论就是这个李靖,什么“用 SS 之后 HTTP 流量居然是明文的可能会被 ss-server 截获”、一边“招聘高潜 P5,但是要求不能变低”一边“招聘永远是个难题”,最新的又指责 safari 兼容性差,因为 safari 严格按照标准不认用-做日期连字符
gamexg
2021-01-04 12:03:40 +08:00
曾经被网站探测过本地常用代理端口,
我记得开放的端口和未开放端口延迟有区别。

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

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

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

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

© 2021 V2EX