微信域名检测的C#实现

 背景:最近公司的公众号域名被封了,原因是公司网站被黑后上传了一个不符合微信规范的网页。所以。。。就进入了微信域名解封的流程。

百度微信域名解封发现很多微信域名检测的网站,还有Api;但是本人做微信公众号的时候却没有发现微信公众号有这个API,奇怪了,这帮牛人是怎么实现的呢?做为一个技术宅男八卦之火真是熊熊燃气。

第一步、重新检查微信服务号的API。结果大家知道的,无果

网上有人说域名有没有被封用微信访问一下域名就知道。但是我对安卓不熟悉啊。

想想心里真是不甘心。 对了微信的电脑端是不是也可以检测?

微信域名检测的C#实现_第1张图片

可以唉,那么下面的事情就是使用抓包工具了。

1、 使用fiddler

微信域名检测的C#实现_第2张图片

2、wireshark https 抓包

微信域名检测的C#实现_第3张图片

当然抓包到的都是乱码。因为微信是使用https通信的,不过我们有抓包神器wireshark。

下面就是怎么配置https抓包了。

1)配置环境变量SSLKEYLOGFILE

环境变量的配置方法: 系统->高级系统设置->高级->环境变量->新建。

变量名设置为:SSLKEYLOGFILE

变量值我这里设置为:D:\sslkeylog.log

微信域名检测的C#实现_第4张图片

2)Wireshark配置

我的Wireshark版本是 2.4.3 中文版

微信域名检测的C#实现_第5张图片

配置路径是:编辑->首选项->协议(Protocols)->ssl

设置(Pre)-Master-Serect Log File 为环境变量SSLKEYLOGFILE 的值。

微信域名检测的C#实现_第6张图片

重启微信和Wireshark(我不知道重启有没有效果,反正我重启了。)

重新打开Wireshark后就多了一个标签《Decrypted SSL Data》,点击之后你就可以如下图所示的看到已经解密的TLS数据包的相信信息了。

然后大家懂得,你就能得到需要的东西了。看效果图

微信域名检测的C#实现_第7张图片

 

6、编码实现

代码:

微信域名检测的C#实现_第8张图片

 

效果:

域名被屏蔽:

48621-20180307162008653-1931026381.png

域名没有被屏蔽:

48621-20180307162009057-2125476161.png

功能完成。

代码就不分享了,写的太丑。

总结:其实这个功能的实现没有文章想象中那么简单,中间还有很多的波折,被我春秋笔法一笔带过了,最后功能是成功实现了,我们做事情的时候心里不要慌,发现问题一个多百度查资料,当然也要问下别人的有没有办法,还要有发散思维。比如像我这里,安卓开发不懂,那么可以使用微信电脑端是不是。

 

 

 本文用 菊子曰发布

转载于:https://www.cnblogs.com/tangruixin/p/8523151.html

你可能感兴趣的:(微信域名检测的C#实现)