如何用Go语言构建个性化的JA3浏览器指纹识别系统?
- 内容介绍
- 文章标签
- 相关推荐
本文共计863个文字,预计阅读时间需要4分钟。
在本文中,我们将简要回顾https的握手流程,并基于读者的提问解释什么是JA3指纹以及如何使用Go语言定义专业的JA3指纹。以下是本文大纲:
1. https握手流程概述
2.什么是JA3指纹?
3.如何使用Go语言定义JA3指纹?
请跟随老许的思路,逐步构建自己的J指纹。
clientHelloMsg。下面我们将通过这个库构建一个自己专属的JA3指纹。// 关键import import ( xtls "github.com/refraction-networking/utls" "crypto/tls" ) // 克隆一个Transport tr := ja3er.com/json来得到自己的JA3指纹。
c := ja3er.com/json") if err != nil { fmt.Println(err) return } bts, err := ioutil.ReadAll(resp.Body) resp.Body.Close() fmt.Println(string(bts), err)
最后得到的JA3指纹如下。
我们已经得到了第一个JA3指纹,这个时候对代码稍加改动以期得到专属的JA3指纹。例如我们将2333这个数值加入到CipherSuites列表中,最后得到结果如下。
最终,JA3指纹又发生了变化,并且可称得上是自己专属的指纹。不用我说,看标题就应该知道问题还没有结束。从前面请求得到JA3指纹的结果图也可以看出来,当前使用的协议为dss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/topnav/newzhidao-da1cf444b0.png", nil)
// 向一个支持www.1234xp.com/jianhu.html 欢迎留下您的宝贵建议】
本文共计863个文字,预计阅读时间需要4分钟。
在本文中,我们将简要回顾https的握手流程,并基于读者的提问解释什么是JA3指纹以及如何使用Go语言定义专业的JA3指纹。以下是本文大纲:
1. https握手流程概述
2.什么是JA3指纹?
3.如何使用Go语言定义JA3指纹?
请跟随老许的思路,逐步构建自己的J指纹。
clientHelloMsg。下面我们将通过这个库构建一个自己专属的JA3指纹。// 关键import import ( xtls "github.com/refraction-networking/utls" "crypto/tls" ) // 克隆一个Transport tr := ja3er.com/json来得到自己的JA3指纹。
c := ja3er.com/json") if err != nil { fmt.Println(err) return } bts, err := ioutil.ReadAll(resp.Body) resp.Body.Close() fmt.Println(string(bts), err)
最后得到的JA3指纹如下。
我们已经得到了第一个JA3指纹,这个时候对代码稍加改动以期得到专属的JA3指纹。例如我们将2333这个数值加入到CipherSuites列表中,最后得到结果如下。
最终,JA3指纹又发生了变化,并且可称得上是自己专属的指纹。不用我说,看标题就应该知道问题还没有结束。从前面请求得到JA3指纹的结果图也可以看出来,当前使用的协议为dss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/topnav/newzhidao-da1cf444b0.png", nil)
// 向一个支持www.1234xp.com/jianhu.html 欢迎留下您的宝贵建议】

