《计算机网络技术及应用》课程论文
题目“腾讯新闻”应用协议分析报告
专业
学生姓名
学号
成绩
目录
1 概述 (1)
1.1 “腾讯新闻”应用软件介绍 (1)
1.2 分析环境 (2)
1.2.1 测试手机配置 (2)
1.2.2 应用软件版本 (2)
1.2.3 分析工具介绍 (3)
1.2.4 网络拓扑 (3)
2 应用软件结构分析 (4)
3 应用协议分析 (5)
3.1 启动(连接)过程分析 (5)
3.1.1 获取新闻各版块 (5)
3.1.2 获取首页新闻列表 (8)
3.2登录(注册)分析 (9)
3.2.1 登陆过程分析 (9)
3.2.2 获取用户评论信息 (10)
3.3 切换版块功能分析 (11)
3.4 读取单条新闻功能分析 (14)
3.5 评论功能分析 (17)
3.5.1 查看评论 (17)
3.5.1发表评论 (22)
4 分析总结 (27)
1 概述
1.1 “腾讯新闻”应用软件介绍
腾讯新闻客户端是基于IOS、Android平台的腾讯新闻服务,快速、客观、公正地提供新闻资讯的中文免费应用程序。凭借优异的用户体验引发用户大量下载,以王者之姿“秒”杀用户,带领移动资讯进入“秒”时代。是腾讯团队用心打造的一款丰富、及时的新闻应用,本着精炼、轻便的目标,为用户提供高效、优质的阅读体验。全球视野,聚焦中国,一朝在手,博览天下。
腾讯新闻功能如下:
1.每日新闻及时报道,洞察真相,领先一步
2.媒体订阅,全面接入优质媒体/微信自媒体,一处订阅,多处可看
3.云收藏,便捷收藏、随时访问、永久保存
4.视频、图片、直播,多媒体资讯,舒适体验,值得拥有
5.专题新闻,聚合报道重要新闻事件,了解事件全貌
6.离线下载智能启动,30秒下载1000条新闻,没有网络也有得看
7.横划手势切换2级栏目,单手操作更方便
8.三种阅读模式,2G/3G/4G/wifi环境顺畅浏览
9.腾讯微博、QQ空间、微信朋友圈、新浪微博、微信好友、手机QQ好友、邮件,随时与好友分享态度
腾讯新闻客户端自上线以来,以快速的推送速度、界面友好、内容专业原创、视频图片优势得到了用户普遍认可,用户数量、活跃度和口碑都在同类软件中名列前茅,一直保持着在App Store新闻软件排名前三位。在欧洲杯赛事和伦敦奥运期间,腾讯新闻客户端开创性的推出视频新闻和奥运专版举动,提高新闻客户端的竞争门槛,更是引发了行业强烈关注。。
腾讯新闻客户端的特色在于把新闻、视频、微博有机地结合了起来,为手机用户提供多形式、多产品精华内容聚合的快速阅读体验。同时拥有优秀的开发和运营团队、腾讯海量的品牌用户、良好的用户口碑以及强大的推广资源等优势腾讯还拥有数量庞大的无线互联网产品,可以互相推荐下载,并会第一时间接入王牌无线产品:微信,让用户能够在微信中分享腾讯新闻,这是其他应用所不具备的。
此外,腾讯新闻客户端具有强大的实时推送功能,7x24小时不间断更新。重大新闻瞬间推送到手机,随时随地掌握天下事。用户通过腾讯新闻客户端,3秒即可连接到世界新闻,重大事件发生时,腾讯新闻客户端版能够实现30秒实时推送新闻。300秒即可尽览每日资讯。通过速度可以让用户真切的感受到了新闻触达指尖的便捷性。
1.2 分析环境
1.2.1 测试手机配置
测试手机配置如表1所示:
手机型号红米Note3
Android版本 5.0.2LRX22G
MIUI版本MIUI7
处理器八核2.0GHz
运行内存2GB
IMEI 868029028293744 MAC地址10:2a:b3:18:9d:f3
序列号KRYHQGTWROR4558
表格 1 测试手机配置
1.2.2 应用软件版本
1.2.3 分析工具介绍
Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据。Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。这里使用Fiddler v.4.4.9.8 版本。
图表 1 Fiddler界面展示
1.2.4 网络拓扑
待分析的应用为手机APP,因此将手机和PC接入同一局域网,将手机无线网代理设置为PC的IP地址,手机传输的数据包都会通过PC,即可以被PC上的Fiddler软件捕获。
2 应用软件结构分析
客户端通过http协议将参数携带在url中由GET方式向服务器发送请求,服务器验证app的序列号(uid=d6b9884c-9ea1-44cc-9b57-d59847b4d20e)合格后,将app 请求的内容数据以JSON格式返回给客户端。
http协议
GET/POST请求
响应包
3 应用协议分析
3.1 启动(连接)过程分析
3.1.1 获取新闻各版块
当启动腾讯新闻时,腾讯新闻向服务器发送请求,请求首页内容。请求包如图3.1所示。客户端user-agent解码为腾讯新闻445,445为版本号。由于尚未登录,cookie中携带的信息为空。还可以看到服务器IP182.140.167.62。
图3. 1 启动请求包
APP用GET方式向服务器发出请求。在请求URL中包含手机的一些信息,如手机型号、操作系统版本、手机串号和腾讯新闻客户端id等,图3.2是对URL 进行解码后得到的信息。由请求的URL可以看出uid是app 的id,网络为wifi,设备为Xiaomi_MI2A,设备的IMEI为860310025811219,及设备的mac地址,app类型和版本号。
图3.3展示了URL中携带的手机的信息,整理为表格。
GET
http://182.140.167.62/getQQNewsRemoteConfigAndroid?uid=d6b9884c-9ea1-44cc-9 b57-d59847b4d20e&qqnetwork=wifi&Cookie=%20lskey%3D%3B%20luin%3D%3 B%20logintype%3D0%20&qn-rid=156172261&store=17&hw=Xiaomi_MI2A&devi d=860310025811219&qn-sig=c8730d6e27c47f598d3f848e2df9f4cf&sceneid=73387 &mac=ac%253Af7%253Af3%253Ac7%253A51%253A6f&imsi=460028824375613 &apptype=android&appver=16_android_4.4.5 HTTP/1.1