百度贴吧客户端(Android)网络通信行为分析

百度贴吧安卓客户端网络通信行为分析

本文由CSDN-蚍蜉撼青松【主页:http://blog.csdn.net/howeverpf】原创,转载请注明出处! 

 

写在前面

        本文其实是作者我的一门研究生课程作业,为了使本文不至于因太过冗长而显得枯燥,本文特意略去了原文中一些比较重复乏味的内容,尽量呈现的是一些可能更令您感兴趣的贴吧功能。若是您确实需要阅读更完整的版本,可以前往CSDN下载频道 【http://download.csdn.net/detail/ping_fani07/6028411】下载本文的PDF完整版。

        出于个人隐私保护的考量,本文所举的例子中,改动了一些关键信息,请勿对号入座~大笑

        微笑Thank you for your reading !

 

一、实验环境与结果概述

1.1 实验环境

        手机型号:HUAWEI C8812
        操作系统:Android 4.0.3
        应用版本:百度贴吧4.0.0
        分析工具:Tcpdump for Android,WireShark 1.10.0rc2

【抓包的具体方法详参我的下一篇博文:《基于tcpdump的Android智能移动终端数据包捕获完整解决方案》】

1.2 结果概述

        百度贴吧客户端的所有重要通信行为都使用了HTTP协议。
        贴吧客户端发出的HTTP请求一般采用POST方法,表1-1对比展示了不同操作对应的请求报文。其中application/x-www-form-urlencoded格式将请求正文分成多个元素,各元素本身由名和值(可能使用URL编码)组成,各元素之间使用&符号隔开;multipart/form-data格式被用在使用POST方法发送HTML表单时,请求正文被分隔符(由boundary定义)分割成很多子段,每个子段可以自定义子段名称和值,从而实现在单个消息实体中封装多个主体的功能。

表1-1 不同操作对应的POST请求对比

表1-1

         服务器返回的响应有着类似的头部,如图1-1所示。

图1-1

 图1-1 贴吧服务器返回的响应头部

        状态行一般为HTTP/1.1 200 OK,正文的类型一般纯文本文件,正文本身一般经过gzip编码压缩,且在传输过程中一般使用了chunked编码进行分块传输。后文在说到响应正文时,一般是指重组解压后的正文,后文中不再特别指出这一点。一个简单的正文示例如图1-2所示。

图1-2

图1-2 一个最简单的响应正文示例

        如上图,还原出来的完整响应正文普遍使用了JSON格式。该数据格式的特征是整个正文都处于一对大括号{ }内。正文一般分成多个段,每个段由名和值组成,段与段之间用逗号隔开。有些段的值会由多个子段构成,一个段的所有子段也会用一对方括号[ ]或是大括号{ }括起来。大部分情况下,有四个一级段在正文是都存在的,包括:error_code(操作成功时值为0,操作失败时为对应错误代码)、time、ctime,以及logid。
【我们约定,与error_code处在同一层次的称为一级段,一级段的子段为二级段,以此类推。】
        下面就各行为做具体分析。

 

二、登录行为分析

2.1 登录请求

        登录时,贴吧客户端使用一个POST请求来提交认证信息。该登录请求的请求行使用

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值