Fiddler抓包

免责声明

阅读与应用本书后续内容,将视为您同意遵守如下协议

  • 本文内容仅供学习交流“模拟HTTP操作”使用,请使用者自觉有关法律法规
  • 本文不针对任何特定网站,本文所选示例网站为满足如下条件的随机网站:
    1. 所涉及的HTTP操作简单可行
    2. 涵盖了常用HTTP操作
    3. 教学中的所有不会影响到网站的正常运行
    4. 网站不对机器人采取措施

准备工作

  • 关掉一些没用的程序,减少其他数据包的干扰

  • 打开浏览器

  • 打开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=&lt=此处省略几十字&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代码)

这样所有的请求都分析完了,然后是用正则表达式将刚才分析的这些东西提取出来。

results matching ""

    No results matching ""