Fiddler抓包
免责声明
阅读与应用本书后续内容,将视为您同意遵守如下协议
- 本文内容仅供学习交流“模拟HTTP操作”使用,请使用者自觉有关法律法规
- 本文不针对任何特定网站,本文所选示例网站为满足如下条件的随机网站:
- 所涉及的HTTP操作简单可行
- 涵盖了常用HTTP操作
- 教学中的所有不会影响到网站的正常运行
- 网站不对机器人采取措施
准备工作
关掉一些没用的程序,减少其他数据包的干扰
打开浏览器
打开Fiddler
抓包
随便找一个目标网站访问。我这里就随便找了个校内网站: http:\/\/ssfw.xjtu.edu.cn\/
自动跳转到了 https:\/\/cas.xjtu.edu.cn\/
使用自己的NetID和密码登录
然后随便找一个子项目,比如“教学评价打分”,点进去
然后随便选择一个“评教”按钮,点进去
然后认真地完成一次评教,点击“提交”按钮
然后点击“返回”按钮
好了,再去看看Fiddler,刚才的所有操作的数据包都被Fiddler截获了,浏览器可以关了,Fiddler继续开着。
Fiddler使用方法

点击左侧的每一行可以查看每次请求
左侧选定请求之后,在右侧的Inspector选项卡中,上方是发出的请求的相关信息,下方是收到的回复的相关信息。
上方我们经常使用Raw(原始数据)和WebForms(网页表单)选项卡,下方我们经常使用TextView(纯文本)、Raw(原始数据)、JSON
分析抓到的包
我们只分析HTML和JSON。对于图片、CSS、JS这些,我们通常直接忽略掉(验证码除外,不过目前这个没有)。
请求1
GET http://ssfw.xjtu.edu.cn/
这个请求的是我们最初访问的页面。返回中包含了如下meta
<meta http-equiv="Refresh" content="0; URL=index.portal">
这引起一个页面跳转,于是乎自然而然的出现了请求2
请求2
GET http://ssfw.xjtu.edu.cn/index.portal
这个请求直接返回了一个302重定向
HTTP/1.1 302 Found
Location: https://cas.xjtu.edu.cn/login?service=http%3A%2F%2Fssfw.xjtu.edu.cn%2Findex.portal
所以紧接着就出现了第3个请求
请求3
GET https://cas.xjtu.edu.cn/login?service=http%3A%2F%2Fssfw.xjtu.edu.cn%2Findex.portal
这个返回了CAS登录界面(此处省略返回的HTML代码)
请求4
POST https://cas.xjtu.edu.cn/login?service=http%3A%2F%2Fssfw.xjtu.edu.cn%2Findex.portal
username=用户名&password=密码&code=<=此处省略几十字&execution=e1s1&_eventId=submit&submit=登录
这个是POST请求,是登录操作。username、password很好理解,就是用户名和密码。其他的参数必须分析对比请求3返回的HTML中的form表单部分,才能得到以下结论:lt、execution、_eventId在请求3的HTML直接出现了明文。submit是定值,不用管。
如果登录成功的话会返回登录成功的界面,里面包含了以下内容
<meta http-equiv= "Refresh" content= "5;url=http://ssfw.xjtu.edu.cn/index.portal?ticket=此处省略几十字"/>
这又是一个跳转,所以出现了第5次请求
请求5
GET http://ssfw.xjtu.edu.cn/index.portal?ticket=此处省略几十字
返回
HTTP/1.1 302 Found
Location: http://ssfw.xjtu.edu.cn/index.portal
是跳转
请求6
GET http://ssfw.xjtu.edu.cn/index.portal
返回师生服务首页(此处省略返回的HTML代码)
请求7
GET http://ssfw.xjtu.edu.cn/index.portal?.pn=p1142_p1182_p1183
返回教学评价首页,可以看到HTML代码中包含所有课程的名字已经连接等等(此处省略返回的HTML代码)
请求8
GET http://ssfw.xjtu.edu.cn/index.portal?.p=此处省略一千字
返回具体课程的教学评价页面,可以看到HTML代码中包含所有评价指标和选项等等(此处省略返回的HTML代码)
请求9
POST http://ssfw.xjtu.edu.cn/index.portal?.p=此处省略一千字
此处省略两千字
又是POST请求,这个就是教学评价的最关键的一个请求,提交教学评价就是它了
返回302
HTTP/1.1 302 Found
Location: http://ssfw.xjtu.edu.cn/index.portal?.p=此处省略一千字
请求10
GET http://ssfw.xjtu.edu.cn/index.portal?.p=此处省略一千字
这个就是评价成功显示的页面(此处省略返回的HTML代码)
请求11
GET http://ssfw.xjtu.edu.cn/index.portal?.p=Znxjb20ud2lzY29tLnBvcnRhbC5zaXRlLmltcGwuRnJhZ21lbnRXaW5kb3d8ZjExNjF8dmlld3xub3JtYWx8YWN0aW9uPXF1ZXJ5
这个是返回按钮的请求
返回的页面就是教学评价主页,其实这个网址才是教学评价主页的真正网址,而且也是固定的。(此处省略返回的HTML代码)
这样所有的请求都分析完了,然后是用正则表达式将刚才分析的这些东西提取出来。