




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
作者:蚍蜉撼青松 Cloud Frank 通信邮箱: 百度贴吧安卓客户端网络通信行为分析目 录一、实验环境与结果概述 11.1 实验环境 .11.2 结果概述 .1二、登录行为分析 32.1 登录请求 .32.2 登录结果 .3三、 “进吧”相关操作分析 53.1 选择“进吧”功能区 .53.2 进入某一个吧 .63.3 看帖 .73.4 回帖 .93.5 发帖 .93.6 签到 .10四、 “个人中心”相关操作分析 114.1 查看“我喜欢的吧” .114.2 查看“我的关注” .124.3 查看“我的粉丝” .124.4 查看“我的收藏” .124.5 查看“我的消息” .134.6 查看“我的帖子” .144.7 查看“我的微贴” .154.8 查看“设置 个人资料” .164.9 修改“设置 个人资料” .17五、其他操作及行为分析 185.1 首页 .185.2 身边 .185.2.1 定位 185.2.2 查看“身边的微贴” 205.2.3 查看“身边的吧” 205.3 注销 .21通信邮箱: 博客主页:/howeverpf- 0 -一、实验环境与结果概述1.1 实验环境手机型号:HUAWEI C8812操作系统:Android 4.0.3应用版本:百度贴吧 4.0.0分析工具:Tcpdump for Android,WireShark 1.10.0rc21.2 结果概述百度贴吧客户端的所有重要通信行为都使用了 HTTP 协议。贴吧客户端发出的 HTTP 请求一般采用 POST 方法,表 1-1 对比展示了不同操作对应的请求报文。其中 application/x-www-form-urlencoded 格式将请求正文分成多个元素,各元素本身由名和值(可能使用 URL 编码)组成,各元素之间使用 boundary= BDUSS,intro,sex点击“进吧” /c/f/forum/favocommend BDUSS进入某吧 /c/f/frs/page BDUSS,kw在某吧“签到” /c/c/forum/sign BDUSS,kw看帖 /c/f/pb/page BDUSS,kz回帖 /c/c/post/add BDUSS,content,kw,tid进吧发帖 /c/c/thread/application/x-www- form-urlencodedBDUSS,content,kw,title 百度贴吧安卓客户端通信协议进行分析 蚍蜉撼青松(出品) 2013/08/28- 1 -点击“身边”【定位1】/sdk.php qt,req点击“身边”【定位2】/ bloc获取“身边的微贴” /c/f/lbs/thread BDUSS,guide,height,ispv,lat,lng,pn身边获取“身边的吧” /c/f/lbs/application/x-www- form-urlencodedBDUSS,ispv,lat,lng登录 /c/s/login passwd,un注销 /c/s/loginout bduss退出【未注销】后重启 /c/s/msg BDUSS首页点击“首页” /c/s/tag/application/x-www- form-urlencodedBDUSS服务器返回的响应有着类似的头部,如图 1-1 所示。图 1-1 贴吧服务器返回的响应头部状态行一般为 HTTP/1.1 200 OK,正文的类型一般纯文本文件,正文本身一般经过 gzip 编码压缩,且在传输过程中一般使用了 chunked 编码进行分块传输。后文在说到响应正文时,一般是指重组解压后的正文,后文中不再特别指出这一点。一个简单的正文示例如图 1-2 所示。图 1-2 一个最简单的响应正文示例如上图,还原出来的完整响应正文普遍使用了 JSON 格式,该数据格式的特征是所有数据处于一对大括号 内。正文一般分成多个段,每个段由名和值组成,段与段之间用逗号隔开。有些段的值会由多个子段构成,一个段的所有子段也会用一对方括号 或是大括号 括起来。大部分情况下,有四个一级段在正文是都存在的,包括:error_code(操作成功时值为 0,操作失败时为对应错误代码) 、time、ctime,以及 logid。【由于作者在完成分析的时候还不知道 JSON,所以后文的相关描述没有用到 JSON 格式的特点,显得不否简练。但要表达的东西还是完整的,所以不再更改。 】【我们约定,与 error_code 处在同一层次的称为一级段,一级段的子段为二级段,以此类推。 】通信邮箱: 博客主页:/howeverpf- 2 -下面就各行为做具体分析。 百度贴吧安卓客户端通信协议进行分析 蚍蜉撼青松(出品) 2013/08/28- 3 -二、登录行为分析2.1 登录请求登录时,贴吧客户端使用一个 POST 请求来提交认证信息。该登录请求的请求行使用固定的 URI:/c/s/login。由请求行的特征和 Host 头域的值可以确定一个登录行为。图 2-1 展示了当登录用户名为 xinhua0123,登录口令为 fengping888 时,该请求报文的具体形式。图 2-1 一个登 录请求报 文示例请 求报文的 正文中存 在变化过 的登录口令和明文的用户名,其特征分别如下: 变化后的口令前缀特征:passwd= 用户名前缀特征:un=口令与用户名的结束标志均为 boundary=-7da3d81520810*,表明正文采用了 multipart/form-data 格式,正文各子段之间使用“-7da3d81520810* ”作为分隔符。请求正文如图 4-16 所示(由于报文过长,部分不重要的子段被省略,用代替) 。图 4-16 修改“个人资料”时客户端发出的请求正文如上图,正文以“-7da3d81520810*”标志开始,以 “-7da3d81520810*-”标志结束。正文中比较重要的子段的 name 分别为:BDUSS (登录凭证)、intro(个人简介)和sex(性别)。BDUSS 子段的值与登陆成功后服务器所返回的响应中一致;intro 子段的值是图通信邮箱: 博客主页:/howeverpf- 18 -4-13 中 “个人简介”的信息(中文使用 UTF-8 字符集);sex 子段的值对应图 4-13 中的“性别”信息,男为 1,女为 2。服务器返回的响应比较简单,头部和正文分别和图 1-1、1-2 类似。响应正文中比较重要的是 error_code 的值,为 0 的时候说明修改成功。 百度贴吧安卓客户端通信协议进行分析 蚍蜉撼青松(出品) 2013/08/28- 19 -五、其他操作及行为分析5.1 首页点击“首页”后,客户端发出一个 POST 请求,其请求行 URI 固定为/c/s/tag/allthread,Host 头域的值为 。请求正文以 BDUSS=开始,其值与登陆成功后服务器所返回的响应中一致。请求正文中另外还有的信息包括:客户端类型、版本,时间戳等,如图 5-1。图 5-1 点击“首页”后发出的请求报文服务器返回的响应头部与图 1-1 基本一致。与其他操作返回的正文格式为纯文本文件不同,此处的响应正文是一个标准 html 文件。由于正文里没什么重要信息,在此不作具体分析。5.2 身边点击“身边”后,客户端和服务端会进行四次重要的 HTTP 会话,前两个会话用于客户端用户的定位,后两个会话分别用于查看“身边的微贴”和“身边的吧” 。下面分别进行分析。5.2.1 定位在定位过程进行的两次 HTTP 会话中,客户端使用的都是 POST 请求,两个请求头部的结构类似,但与其他操作发出的请求报文结构有极大不同。首先,两个 POST 的请求行 URI 都固定为/sdk.php ;其次,请求的服务器(由请求头部 Host 头域的值指定)都变为了,而不再是其他请求中所用的 。请求正文的格式(由请求头通信邮箱: 博客主页:/howeverpf- 20 -部 Content-Type 头域的值指定)依旧是 application/x-www-form-urlencoded。两个请求报文的头部、正文分别如图 5-2【a】 、 【b】 、 【c 】所示。【a】定位请求的头部示例【b】第一个定位请求的正文【c】第二个定位请求的正文图 5-2 进行定位时客户端发出的请求报文示例请求正文的含义尚未分析出来。服务器所给两个响应的报文结构基本一致,但正文的内容有很大不同,如图 5-3 所示。【a】第一个定位请求对应的响应【b】第二个定位请求对应的响应正文图 5-3 进行定位时服务器返回的响应报文示例服务器对第一个定位请求返回响应的含义尚未分析出来,但是在第二个定位请求所对应的响应正文中,我们可以还原出一些感兴趣的东西。它分为 content 和 result 两个一级段,在content 一级段的值中有两个重要的子段:addr (客户端用户的当前地址信息) ,以及 point(客户端用户的当前经纬度信息) 。addr 这个子段的值是将中文的地址信息(省、市、区、路)分别进行 url 编码得到中间结果,然后再将中间结果的%符号替换成符号,将 16 进制值转换为 8 进制值得到。上图【b】中addr 的值还原出来就是: 四川省,成都市,武侯区,建德北路 ,75。 百度贴吧安卓客户端通信协议进行分析 蚍蜉撼青松(出品) 2013/08/28- 21 -在 result 一级段中有个 time 子段,这是客户端进行定位的时间。5.2.2 查看“身边的微贴”客户端发出一个请求行 URI 固定为/c/f/lbs/thread 的 POST 请求,Host 头域的值与前面大部分操作相同,为 。请求正文以 BDUSS=开始,其值与登陆成功后服务器所返回的响应中一致。正文中比较特别的是加入了客户端当前的经纬度信息,前缀特征分别为lat=(纬度) 、lng=(经度) ,后缀特征均为&。请求正文示例如图 5-4。图 5-4 查看“身边的微贴”时客户端发出的请求正文服务器返回的响应报文的结构类似于查看“我的微帖” ,不同的是 thread_list 的表项的结构,如图 5-5。图 5-5 thread_list 中某表项的数据如上图,该表项中几个相对重要的子段包括:tid(本微贴的 ID) 、fid (所属贴吧的 ID,值似乎固定) 、fname(所属贴吧名,使用 Unicode 编码,值似乎固定) 、author(本微贴的作者信息) 、content(本微贴的正文内容) 、distance (发帖地点与客户端用户的距离) 、lng (发帖地点的经度) 、lat(发帖地点的纬度) 。 5.2.3 查看“身边的吧”客户端发出一个请求行 URI 固定为/c/f/lbs/forum 的 POST 请求,Host 头域的值与前面大部分操作相同,为 。请求正文的结构十分类似与查看 “身边的微贴”时,区别在于少了 guide 与 height 两个元素(含义未知) ,并且 ispv 元素的值由 1 变为 0,如图 5-6。通信邮箱: 博客主页:/howeverpf- 22 -图 5-6 查看“身边的吧”时客户端发出的请求正文服务器返回的响应的结构类似于查看“我喜欢的吧” ,不同的是 forum_list 的表项的结构,如图 5-7。图 5-7 forum_list 中某表项的数据如上图,该表项中有以下子段:fname(贴吧名) 、fid (贴吧 ID) 、member_count(贴吧会员数) 、heat(贴吧热门度) 、post_num (贴吧发言数) 、distance(贴吧主题与客户端用户的距离)、is_like (客户端用户是否为该吧会员) 。5.3 注销当用户在“账号管理”选择“编辑删除”以注销本次登录时,贴吧客户端使用一个POST 请求来提交认证信息。该登录请求的请求行使用固定的 URI:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教部编版四年级上册(道德与法治)6 我的家庭贡献与责任教案设计
- 2024中石化(大连)石油化工研究院有限公司高层次人才招聘12人笔试参考题库附带答案详解
- 常用量检具培训
- 大数据培训的思考与未来展望
- 高速公路事故培训课件
- 壁纸壁布施工培训课程大纲
- 七年级语文上册 第一单元 4《古代诗歌四首》闻王昌龄左迁龙标遥有此寄教学设计 新人教版
- 三年级数学上册 7 长方形和正方形第3课时 周长配套教学设计 新人教版
- 人教版化学九年级上册第三单元课题1《分子和原子》教学设计
- 菜鸟驿站岗前培训
- 《无人机组装、调试与维护》课程标准(高职)
- 义务教育质量监测应急专项预案
- 13人物描写一组 两茎灯草 课件
- (正式版)SHT 3045-2024 石油化工管式炉热效率设计计算方法
- 广东省广州市2023年初中学业水平考试中考数学试卷【含答案】
- 刑法学教全套课件(完整)-2024鲜版
- 专题16.7 二次根式章末八大题型总结(拔尖篇)-八年级数学下册(人教版)(解析版)
- 2023流域超标准洪水防御预案编制导则
- 如何提高调查研究能力
- 农产品加工培训课件
- 城市轨道交通的智能调度与运营优化
评论
0/150
提交评论