微信域名检测的C#实现
背景:最近公司的公众号域名被封了,原因是公司网站被黑后上传了一个不符合微信规范的网页。所以。。。就进入了微信域名解封的流程。
百度微信域名解封发现很多微信域名检测的网站,还有Api;但是本人做微信公众号的时候却没有发现微信公众号有这个API,奇怪了,这帮牛人是怎么实现的呢?做为一个技术宅男八卦之火真是熊熊燃气。
第一步、重新检查微信服务号的API。结果大家知道的,无果。
网上有人说域名有没有被封用微信访问一下域名就知道。但是我对安卓不熟悉啊。
想想心里真是不甘心。 对了微信的电脑端是不是也可以检测?
可以唉,那么下面的事情就是使用抓包工具了。
1、 使用fiddler
2、wireshark https 抓包
当然抓包到的都是乱码。因为微信是使用https通信的,不过我们有抓包神器wireshark。
下面就是怎么配置https抓包了。
1)配置环境变量SSLKEYLOGFILE
环境变量的配置方法: 系统->高级系统设置->高级->环境变量->新建。
变量名设置为:SSLKEYLOGFILE
变量值我这里设置为:D:\sslkeylog.log
2)Wireshark配置
我的Wireshark版本是 2.4.3 中文版
配置路径是:编辑->首选项->协议(Protocols)->ssl
设置(Pre)-Master-Serect Log File 为环境变量SSLKEYLOGFILE 的值。
重启微信和Wireshark(我不知道重启有没有效果,反正我重启了。)
重新打开Wireshark后就多了一个标签《Decrypted SSL Data》,点击之后你就可以如下图所示的看到已经解密的TLS数据包的相信信息了。
然后大家懂得,你就能得到需要的东西了。看效果图
6、编码实现
代码:
效果:
域名被屏蔽:
域名没有被屏蔽:
功能完成。
代码就不分享了,写的太丑。
总结:其实这个功能的实现没有文章想象中那么简单,中间还有很多的波折,被我春秋笔法一笔带过了,最后功能是成功实现了,我们做事情的时候心里不要慌,发现问题一个多百度查资料,当然也要问下别人的有没有办法,还要有发散思维。比如像我这里,安卓开发不懂,那么可以使用微信电脑端是不是。