微信通信HTTP协议抓取与分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微信通信HTTP协议抓取与分析

一、实验目标

1、基本要求:利用HTTP协议抓取工具获得微信通信会话过程,并对数据包进行分析。

二、基础知识

1、了解HTTP两个基本命令GET与POST,并利用抓取工具获得数据包;

2、利用Telnet命令仿真测试命令GET与POST;

3、利用抓取工具获得微信通信会话数据包,并进行分析。

4、GET与POST

get是从服务器上获取数据;

post是向服务器传送数据。

三、实验过程与结果

1、网页上Httpwatch抓包结果

安装httpwatch抓包工具,使用IE浏览器,右击有显示httpwatch professional,进入抓包界面。点击Record按钮,输入网址/,开始抓包

1.1.1 Get方式客户端向服务器发送数据

GET /gw/css/style.css HTTP/1.1

Accept: text/css, */*

X-HttpWatch-RID: 26411-10018

Referer: /gw/index/index.html

Accept-Language: zh-CN

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko

Accept-Encoding: gzip, deflate

Host:

Connection: Keep-Alive

1.1.2 Get方式服务器向客户端返回地数据

HTTP/1.1 200 OK

Date: Thu, 25 Feb 2016 09:15:55 GMT

Content-Type: text/css

Content-Encoding: gzip

Last-Modified: Tue, 15 Dec 2015 02:18:29 GMT

Accept-Ranges: bytes

ETag: "80487e3de36d11:0"

Server: Microsoft-IIS/7.5

X-Powered-By:

Content-Length: 9039

Age: 1

X-Via: 1.1 lishui17:6 (Cdn Cache Server V2.0)

Connection: keep-alive

在网页上输入快递单号查询,网页上发送请求

1.2.1 POST方式客户端向服务器发送地数据

POST /addTrace.ashx HTTP/1.1

X-Requested-With: XMLHttpRequest

X-HttpWatch-RID: 73415-10085

Content-Type: application/x-www-form-urlencoded; charset=UTF-8

Accept: */*

Referer: :8022/TraceSimple.aspx

Accept-Language: zh-CN

Accept-Encoding: gzip, deflate

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko Host: :8022

Content-Length: 334

Connection: Keep-Alive

Cache-Control: no-cache

Cookie: _SessionId=pr2zch43i5efxrdjcnuvtwzs

1.2.2 POST方式服务器向客户端返回地数据

HTTP/1.1 200 OK

Cache-Control: private

Content-Type: text/plain; charset=utf-8

Server: Microsoft-IIS/7.5

X-AspNet-Version: 4.0.30319

X-Powered-By:

Date: Thu, 25 Feb 2016 11:58:45 GMT

Content-Length: 7

2、Telnet模拟http请求

2.1 Telnet模拟get请求

(1)、打开"运行"->cmd进入命令环境;

(2)、输入"telnet 80",回车后 ,屏幕为全黑,此时我们利用快捷键"Ctrl+](右中括号)"来打开本地回显功能

(3)、单击回车,进行编辑状态。

(4)、输入:"GET / HTTP/1.1"后回车,在第二段接着输入:"HOST:"然后按回车,这样一个简单的HTTP请求就完成了,接着我们只要再按下回车,便向服务器递交这个请求了。

(5)、接收服务器返回,只需几秒钟,我们便会收到来自服务器反应.

2 .2 Telnet模拟post请求

3、获得微信通信会话数据包

3.1微信服务器返回一个会话ID

微信Web版本不使用用户名和密码登录,而是采用二维码登录,所以服务器需要首先分配一个唯一的会话ID,用来标识当前的一次登录,通过请求地址:

https:///jslogin?appid=wx782c26e4c19acffb&redirect_uri=https %3A%2F%%2Fcgi-bin%2Fmmwebwx-bin%2Fwebwxnewloginpage&fun=new&lang=zh_ CN&_=1456453643888

服务器会返回如下的字符串:

window.QRLogin.code = 200; window.QRLogin.uuid = "QfbRQRaVMw==";

而这个QfbRQRaVMw==字符串就是微信服务器返回给我们的ID。

3.2通过会话ID获得二维码

既然微信Web版本是通过二维码进行登录,如何获得这个随机的二维码呢?答案就是利用刚才获得的ID去请求服务器生成的二维码,通过上面的ID我们组合得到以下的URL地址:https:///qrcode/QfbRQRaVMw==

https:///cgi-bin/mmwebwx-bin/login?loginicon=true&uuid=QfbRQ RaVMw==&tip=0&r=-459741763&_=1456453643890

相关文档
最新文档