1、协议分析报告计算机网络技术及应用课程论文题 目 “腾讯新闻”应用协议分析报告 专 业 学生姓名 学 号 成 绩 目录1 概述 11.1 “腾讯新闻”应用软件介绍 11.2 分析环境 21.2.1 测试手机配置 21.2.2 应用软件版本 21.2.3 分析工具介绍 31.2.4 网络拓扑 32 应用软件结构分析 43 应用协议分析 53.1 启动(连接)过程分析 53.1.1 获取新闻各版块 53.1.2 获取首页新闻列表 73.2登录(注册)分析 93.2.1 登陆过程分析 93.2.2 获取用户评论信息 103.3 切换版块功能分析 113.4 读取单条新闻功能分析 143.5 评论功能分
2、析 173.5.1 查看评论 173.5.1发表评论 214 分析总结 251 概述1.1 “腾讯新闻”应用软件介绍腾讯新闻客户端是基于IOS、Android平台的腾讯新闻服务,快速、客观、公正地提供新闻资讯的中文免费应用程序。凭借优异的用户体验引发用户大量下载,以王者之姿“秒”杀用户,带领移动资讯进入“秒”时代。是腾讯团队用心打造的一款丰富、及时的新闻应用,本着精炼、轻便的目标,为用户提供高效、优质的阅读体验。全球视野,聚焦中国,一朝在手,博览天下。腾讯新闻功能如下:1.每日新闻及时报道,洞察真相,领先一步2.媒体订阅,全面接入优质媒体/微信自媒体,一处订阅,多处可看3.云收藏,便捷收藏、随
3、时访问、永久保存4.视频、图片、直播,多媒体资讯,舒适体验,值得拥有5.专题新闻,聚合报道重要新闻事件,了解事件全貌6.离线下载智能启动,30秒下载1000条新闻,没有网络也有得看7.横划手势切换2级栏目,单手操作更方便8.三种阅读模式,2G/3G/4G/wifi环境顺畅浏览9.腾讯微博、QQ空间、微信朋友圈、新浪微博、微信好友、手机QQ好友、邮件,随时与好友分享态度腾讯新闻客户端自上线以来,以快速的推送速度、界面友好、内容专业原创、视频图片优势得到了用户普遍认可,用户数量、活跃度和口碑都在同类软件中名列前茅,一直保持着在App Store新闻软件排名前三位。在欧洲杯赛事和伦敦奥运期间,腾讯新
4、闻客户端开创性的推出视频新闻和奥运专版举动,提高新闻客户端的竞争门槛,更是引发了行业强烈关注。腾讯新闻客户端的特色在于把新闻、视频、微博有机地结合了起来,为手机用户提供多形式、多产品精华内容聚合的快速阅读体验。同时拥有优秀的开发和运营团队、腾讯海量的品牌用户、良好的用户口碑以及强大的推广资源等优势 腾讯还拥有数量庞大的无线互联网产品,可以互相推荐下载,并会第一时间接入王牌无线产品:微信,让用户能够在微信中分享腾讯新闻,这是其他应用所不具备的。此外,腾讯新闻客户端具有强大的实时推送功能,7x24小时不间断更新。重大新闻瞬间推送到手机,随时随地掌握天下事。用户通过腾讯新闻客户端,3秒即可连接到世界
5、新闻,重大事件发生时,腾讯新闻客户端版能够实现30秒实时推送新闻。300秒即可尽览每日资讯。通过速度可以让用户真切的感受到了新闻触达指尖的便捷性。1.2 分析环境1.2.1 测试手机配置测试手机配置如表1所示:手机型号红米Note3Android版本 5.0.2LRX22GMIUI版本MIUI7处理器八核2.0GHz运行内存2GBIMEI868029028293744MAC地址10:2a:b3:18:9d:f3序列号KRYHQGTWROR4558表格 1 测试手机配置1.2.2 应用软件版本1.2.3 分析工具介绍Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联
6、网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据。Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。这里使用Fiddler v.4.4.9.8 版本。图表 1 Fiddler界面展示1.2.4 网络拓扑 待分析的应用为手机APP,因此将手机和PC接入同一局域网,将手机无线网代理设置为PC的IP地址,手机传输的数据包都会通过PC,即可以被PC上的Fiddler软件捕获。 2 应用软件结构分析响应包GET/POST请求http协议 客户端通过http协议将参数携带在url中由GET方式向服务器发送请求,服务器验证app的序
7、列号(uid=d6b9884c-9ea1-44cc-9b57-d59847b4d20e)合格后,将app 请求的内容数据以JSON格式返回给客户端。3 应用协议分析3.1 启动(连接)过程分析3.1.1 获取新闻各版块 当启动腾讯新闻时,腾讯新闻向服务器发送请求,请求首页内容。请求包如图3.1所示。客户端user-agent解码为腾讯新闻445,445为版本号。由于尚未登录,cookie中携带的信息为空。还可以看到服务器IP182.140.167.62。图3. 1 启动请求包APP用GET方式向服务器发出请求。在请求URL中包含手机的一些信息,如手机型号、操作系统版本、手机串号和腾讯新闻客户端
8、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-9b57-d59847b4d20e&qqnetwork=wifi&Cookie=%20lskey%3D%3B%20luin%3D%3B%20logintype%3D0
9、%20&qn-rid=156172261&store=17&hw=Xiaomi_MI2A&devid=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图3. 2 启动请求URL解码图3. 3 启动请求包中携带的参数 服务器收到请求后向手机返回响应包,如图3.4所示。其中新闻各个版块由J
10、SON格式返回,如图3.5所示。图3.5中还对比了app中显示的内容。图3. 4启动响应包图3. 5 响应包中新闻各版块和手机客户端中的显示3.1.2 获取首页新闻列表 接下来就是获取新闻列表。APP再次向服务器发出请求,URL中携带的参数与上次请求相似。图3.6展示了该请求中的信息,可以看到请求的是要闻(news_news_top)版块的新闻列表,还多了屏幕宽度(screen_width)为720。图3. 6 获取列表请求包中参数响应包中依旧以JSON格式返回新闻列表,图3.7中可以看出第一条新闻,“多国民众悼念巴黎恐怖事件遇难者”,与图3.5中第一条新闻相对应。每条新闻中还有一些其他参数,
11、比如评论id,新闻id,图片信息等。以下的新闻类似,不一一列举。图3. 7 新闻列表响应包JSON3.2登录(注册)分析 3.2.1 登陆过程分析APP打开登陆界面,输入用户名密码,向服务器发送登陆请求。图3.8展示了请求包中所带的参数。Cookie中携带了用户名和口令信息,口令加密变换非明文显示。GET http:/182.140.167.62/getUserInfoPhone?uid=d6b9884c-9ea1-44cc-9b57-d59847b4d20e&Cookie=%20lskey%3D0003000027984094b8f9b1f39ea27a473388cd6451ce330e1
12、898c74c4784aad7c6dd46828e78e561c0e77430%3B%20luin%3Do0349819871%3B%20logintype%3D0%20&qn-rid=1617535381&store=17&hw=Xiaomi_MI2A&devid=860310025811219&qn-sig=23b37841353d990c6513033329f84010&mac=ac%253Af7%253Af3%253Ac7%253A51%253A6f&format=json&appver=16_android_4.4.5&qqnetwork=wifi&sceneid=73387&ims
13、i=460028824375613&apptype=android HTTP/1.1图3. 8 登陆请求包参数 服务器收到请求包后验证用户名口令,成功后返回登陆状态。从json格式的数据中可以看出,昵称_,头像链接qqhead=图3. 9 登陆响应包3.2.2 获取用户评论信息登陆后,app再向服务器发请求,获取用户的一些信息,比如用户最近的评论,最后更新时间等等。图3.10所示就是获取用户评论信息的响应包中的JSON数据,其中可以看到最新评论为“11111111111”.GET http:/182.140.167.62/getCommentUserInfo?coral_uid=&coral_
14、uin=&uid=d6b9884c-9ea1-44cc-9b57-d59847b4d20e&qqnetwork=wifi&Cookie=%20lskey%3D00030000c2ceb4353d7562ee498e24f188f126fd61d19a9090b6b0c89ccbcca67e2648442f2951834ff17728%3B%20luin%3Do0349819871%3B%20logintype%3D0%20&qn-rid=1160662987&store=17&hw=Xiaomi_MI2A&devid=860310025811219&qn-sig=b9245f636ab6fd9
15、d784951a3695dd50d&sceneid=73387&mac=ac%253Af7%253Af3%253Ac7%253A51%253A6f&imsi=460028824375613&apptype=android&appver=16_android_4.4.5 HTTP/1.1图3. 10获取用户评论信息响应包3.3 切换版块功能分析当点击“四川”、“体育”等其他版块时,app向服务器请求其他版块的新闻列表。其URL中带的参数中,child字段的值为“news_news_sports”,即可切换到体育版块。请求包所带参数如图3.11所示。图3. 11 切换版块请求包响应包中可以看到ap
16、p中显示的内容,“活塞”、“马刺”等。如图3.12和3.13所示。图3. 12 体育版块图3. 13 体育版块响应包3.4 读取单条新闻功能分析 当用户点击单独一条新闻时,app向服务器发送请求getSimpleNews,URL中SPO2015010700464109为该条新闻的ID。请求URL 中携带的参数如图3.14所示。http:/182.140.167.62/getSimpleNews/16_android_4.4.5/news_news_sports/SPO2015010700464109/wifi/720?devid=860310025811219&uid=d6b9884c-9ea
17、1-44cc-9b57-d59847b4d20e&Cookie= lskey=0003000090fbe55bfd571a44f5864ce3726fc25c6783fe5f0d0b88379e2adeeeb0f7bd2bb4d4fc0ef2c21669; luin=o0349819871; logintype=0 &qn-rid=1359043997&store=17&hw=Xiaomi_MI2A&devid=860310025811219&qn-sig=078b9d849139b68fcbb9721b822739bb&mac=ac%3Af7%3Af3%3Ac7%3A51%3A6f&appv
18、er=16_android_4.4.5&qqnetwork=wifi&sceneid=73387&imsi=460028824375613&apptype=android& HTTP/1.1图3. 14 读取单条新闻请求包 图3.15为app中显示的新闻。响应包以json格式返回数据,包含新闻的内容,如图3.16、3.17所示。图3.18为相关新闻 图3. 15 app中显示新闻及相关新闻图3. 16响应包中的视频部分图3. 17 响应包中的新闻内容部分图3. 18 响应包中相关新闻部分3.5 评论功能分析3.5.1 查看评论点击评论按钮,app向服务器发送getQQNewsComment请求
19、,URL中包含新闻的ID,可以获取到该新闻的评论。请求包参数如图3.19所示。GET http:/182.140.167.62/getQQNewsComment?uid=d6b9884c-9ea1-44cc-9b57-d59847b4d20e&comment_id=1012965980&Cookie=%20lskey%3D00030000bb6ad0c4f1a5c9619bed1d9da6414b9c2016a43e2c8f4e190d19fde80eee66043422b04388e3532f%3B%20luin%3Do0349819871%3B%20logintype%3D0%20&qn-
20、rid=2031082801&store=17&hw=Xiaomi_MI2A&devid=860310025811219&qn-sig=4a33ec42ce6e8e3cff5330498904cc7a&mac=ac%253Af7%253Af3%253Ac7%253A51%253A6f&chlid=news_news_sports&appver=16_android_4.4.5&url=http%3A%2F%2F%2Fa%2FSPO2015010700464109&qqnetwork=wifi&article_id=SPO201501080391720J&page=1&sceneid=73387
21、&imsi=460028824375613&apptype=android HTTP/1.1图3. 19 获取评论请求包参数 响应包中显示评论的数量。如图3.20。 图3. 20 评论数量图3.21显示app中的评论列表,图3.22中,可以看到评论用户的昵称、所在地和内容。Agree_count表示评论获赞的数量。图3. 21 app中显示评论内容图3. 22 响应包中评论的内容图3. 23 “喜欢”“汗”“愤怒”及其数量3.5.1发表评论 写好评论后提交,通过POST请求提交给服务器。请求包和响应包如图3.24所示。在请求包的summary中可以看到评论的id和内容,以及该新闻的标题,可以在
22、图3.25中看到(解码后)。发表评论成功后,app显示评论内容,如图3.26服务器返回的响应包中会看到用户的昵称和评论内容,如图3.27。POST http:/182.140.167.62/shareQQNewsMulti?uid=d6b9884c-9ea1-44cc-9b57-d59847b4d20e&qqnetwork=wifi&Cookie= lskey=0003000090fbe55bfd571a44f5864ce3726fc25c6783fe5f0d0b88379e2adeeeb0f7bd2bb4d4fc0ef2c21669; luin=o0349819871; logintype=
23、0 &qn-rid=448003266&store=17&hw=Xiaomi_MI2A&devid=860310025811219&qn-sig=d54309d839cced8503341f41181aab1c&sceneid=73387&mac=ac%3Af7%3Af3%3Ac7%3A51%3A6f&imsi=460028824375613&apptype=android&appver=16_android_4.4.5 HTTP/1.1图3. 24 发表评论的post请求和响应包的json图3. 25 请求包中显示评论id和内容图3. 26 APP中显示评论内容图3. 27 评论成功后响应包中评论内容和昵称4 分析总结该报告分析了腾讯新闻的启动、登陆、读取新闻、评论等功能的客户端服务器交互过程,详细分析了每次会话中请求包和响应包中的参数、数据等,了解腾讯新闻app的详细工作过程。 客户端通过http协议将参数携带在url中由GET方式向服务器发送请求,服务器验证app的序列号(uid=d6b9884c-9ea1-44cc-9b57-d59847b4d20e)合格后,将app 请求的内容数据以JSON格式返回给客户端。 应用的唯一标示由app序列号uid确定,请求的关键数据都包含在URL中,响应的数据以JSON格式储存并传输,在客户端解析并显示。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1