本帖最后由 三分醉 于 2022-2-6 17:08 编辑
/ e; k0 b& ~( a7 ^* D1 z& ?8 X: ^& G# ]* i
四、命令行形式浏览器多开解决方案指纹浏览器系列教程目录:0 E9 e2 V) w) f9 U9 v8 F' M+ q6 o
一、指纹浏览器的原理与应用$ d2 G8 h" N- Y) p( e( ]8 C/ B
二、浏览器指纹的检测与对抗的办法
]7 J% U- O) \! l- i三、更多的检测手段与指纹浏览器选购方案
: _' F& f- f. ^/ t% u( P. [四、命令行形式浏览器多开解决方案
' d7 l' l" k1 \- x! i& k8 c0 ]3 p五、浏览器插件形式改变指纹! a: [: g* D' o, b/ ?8 U
六、node.js库Puppeteer改变浏览器指纹信息4 O: v+ v6 X/ C1 M5 ]: N
七、python改变浏览器指纹信息
0 C, F: ]$ L( }$ J4 r8 ?八、java、go、c#、php、rust更改浏览器指纹信息7 y# Z: a2 T% _* V' w
九、编写自己的指纹浏览器以及指纹信息来源% E+ u( A+ l/ ?1 R8 O# c, S0 L
十、闲话聊一聊指纹浏览器的用途 前言很多人需要的仅仅只是浏览器多开,环境相互隔离即可,并不是真正的需要浏览器的指纹不断的变化。并且前面文章我也提到,大部分网站并不会检测那么多信息,所以很多场景大家只需要会浏览器多开就可以了。1 G1 f K E4 V, v' _4 p' V
本篇文章我们来说下如何命令行来达到浏览器多开目的。6 j& ]0 m" K1 V9 t
浏览器多开是指电脑安装一个浏览器,而这个浏览器要创建多个浏览器实例,大家共用一个浏览器的程序,只是不同实例加载不同的个人目录,来达到多开的目的,请注意它跟电脑上安装多个不同公司的浏览器的区别,前者是一个浏览器多开,后者是打开多个不同的浏览器。 浏览器内核种类当前世界上主流的浏览器内核有四种:
4 J% W1 S% Q8 {) ?0 H, H+ m老IE内核为:trident
/ s. } g' Y, V J; |Chrome内核为:blink,也有叫Chromium内核。
" |: [* m s5 }Firefox内核为:gecko+ h5 v& n6 b. x$ ~8 y$ W
Safari内核为:webkit
+ n/ H8 A" {, k m: Q很多人都知道chrome是谷歌公司的,但它自身也是根据开源项目Chromium基础上开发出来的。" }# v. b" y# s' ^. }
大家熟知的浏览器基本上都是基于chromium开发,例如:Edge、Opera、Brave、360极速版、QQ浏览器等,很多自称双核浏览器的就是由IE+Chromium两者结合的。
) ]" x; s( _5 I( s% v& N! R当前全球内核使用率第一的就是谷歌的Chromium,微软也从老IE的自家内核切换到了Chromium,也就是现在的Edge浏览器。( f5 P% A) s4 H* Z
至于chromium为什么能拿第一,那就是另外的故事了,跟我们就没什么关系了。
+ S v! K1 {8 L+ Q3 u% A" P/ Z我们要关注的就是大部分基于chromium内核的浏览器的操作方法都是相同的,无论是命令行控制,还是各种编程语言的调用。
) L; C5 l% p7 T$ X同样,因为它的的市场占有率以及开源社区的活跃度,导致市面上几乎所有的指纹浏览器都是基于chromium二次开发的。 浏览器实例很多人困惑,说了这么多,浏览器实例到底是是什么?
( d, y* T. H. @& O" @) E* Z: Y7 m其实浏览器实例就是浏览器加载的每个用户的个人目录,里面包括你的个人设置、插件、主题、收藏、历史记录等,英文里叫browser profile。$ k5 B1 |# j+ q8 [% S) b& H" O; z6 N
当你安装好一个浏览器后,你首次启动它就会在系统的个人目录下生成一个profile文件夹(也有的浏览器是安装过程中创建),如何得知自己的个人目录在哪里,可以通过在浏览器输入指定地址来查看。 chromium系列在浏览器地址栏里输入chrome://version/就可以看到自己的个人目录是哪里,并且可以看到浏览器是通过哪些命令来启动的。
$ k3 ]. N1 ~$ O, \+ X. g在Edge、Brave这些浏览器里如此输入依然有效,因为他们都是基于chromium开发的,但是特别有意思的是,当你输入完页面打开了,会发现地址变为了他们自己的名字加上version。+ b' g. `* b5 A( o* w1 ^2 r
下面是Brave浏览器的页面: 可以看到用户目录是在 - C:\Users\Administrator\AppData\Local\BraveSoftware\Brave-Browser\User Data\
复制代码& I6 ?6 E% y) L% M
这个文件夹里,这就是安装brave后默认的用户目录,当然每个人的地址可能不同。
9 H9 j" l( I0 u. W6 `" W启动启动命令在命令行部分,可以看到它是通过brave.exe这个程序,后面跟上一堆参数来启动的浏览器。浏览器的一些骚操作都可以通过这些参数来指定,例如指定IP、指定时区、静音等功能,具体这些参数可以自行百度"Chrome启动参数",会有非常多的文章列举这些参数的,这里就不赘述了。8 }" _) B5 [$ X
我们今天的目的是要通过命令行来多开浏览器,那么我们就用到了启动参数里面的--user-data-dir。
c$ F* U, U( s. [" `! C, Y当前我以Windows下安装的brave举例:& y4 _4 {. ?! A5 ?2 _
打开电脑的cmd窗口,输入命令: - "C:\Program Files\BraveSoftware\Brave-Browser\Application\brave.exe" --user-data-dir="C:\user2"
复制代码 COPY就会发现,浏览器新开了一个窗口,并且出现了欢迎词,说明我们启动了一个新的浏览器实例。在C盘下多了个user2的文件夹,里面就是这个新浏览器实例的用户目录。
+ c! d3 ~9 g6 l& k' z在这个浏览器里安装的插件,保存的链接都不会同步到你之前默认的用户目录里,两个浏览器实例是相互独立的,只是通过使用了brave.exe这个浏览器程序文件。
$ Q; |+ [. ]# I O5 ?- y6 o a/ h如此我们就达到了,浏览器二开的目的,想要开启更多,那就把--user-data-dir=后面写上不同的路径,回车后就可以开启更多的浏览器实例了。
4 z H! w1 g* |1 _' c& u% wWindows下如果觉得每次都需要打开cmd,输入命令非常麻烦,那么也可以通过bat文件来启动不同的浏览器实例。 - "C:\Program Files\BraveSoftware\Brave-Browser\Application\brave.exe" --user-data-dir="C:\user2"
复制代码 COPY把上面代码保存到一个bat文件里,例如:user2.bat。如果你的编辑器不支持,那么也可以先创建user2.txt,用记事本打开后粘贴上面代码,最后重命名txt为bat,之后双击就可以启动浏览器实例user2了。这样多弄几个bat文件,设置里面不同的路径,以后想用哪个就直接双击就可以打开对应的浏览器实例了,非常方便。
1 z: k T3 W/ S如果想要设置IP,那么就添加参数 - --proxy-server=socks5://127.0.0.1:9999
复制代码* E4 @5 D8 ~) {8 d% u, {( s
这种形式即可,注意一点chromium内核的浏览器此处添加的proxy不支持socks5设置用户名和密码。- h L8 i; ?! D6 X7 z& J
如果非要使用socks5带密码,有两种解决方案,一是通过本地或远程转发,将带auth的proxy转发成不带auth的socks5或http代理;另外一种是通过改写chromium内核实现。 结语在mac或Linux系统下,也是相同的用法,唯一差别就是浏览器程序所在的目录不同,这里就不写了。 {) J1 J! L. h! ~8 }
因为使用chromium内核的浏览器非常多,加上后续我们要通过程序控制以及要写二次开发自己的浏览器都是基于chromium,所以这里就不写其他浏览器内核的多开方法了,掌握这一种就可以了。 本文由三分醉博客原创,转载请注明:https://www.sanfenzui.com/solution-of-multi-opening-browser-in-command-line-model.html
, U! G W" p* W/ ?! D% U/ n" J2 h1 u0 H" E4 K
|