首先感谢大家对我上一篇博客的支持,让我也体验了一把上榜的感觉。

这无疑是对我这个刚刚打算,认真写写博客的人的莫大的鼓励,再次感谢(鞠躬)!!

接下来想和大家分享一些关于windows phone网络开发方面的知识。

为此我为大家准备了三篇文章,算作一个小小的系列,美其名曰"三部曲"。

虽然挂着windows phone的头衔,但我想这些内容绝不仅仅只对wp的开发人员有帮助。

目前想到的目录如下

windows phone 网络开发三部曲(一)各种包的各种抓法

分别介绍wp如何在真机,模拟器上抓包

windows phone 网络开发三部曲(二)wp中的常用协议

那些平时只搞web,只接触http协议的同学绝对不能错过。

windows phone 网络开发三部曲(三)在wp上实现一个简单的webserver

想弄明白《书中圣》,《ireader》等应用,如何实现的从浏览器把文件传送到手机上吗?

希望大家多多鼓励:)

废话少说,言归正传。我们开始我们今天的内容。

1.在wp上抓http的包

在windows phone上抓http的包,通常我们用的工具是我们熟悉的[Fiddler],我这里下的是Fiddler4。

在开始之前我来大概说一下fiddler的原理,一图以蔽之!

就像小时候你惹了一个小混混,他说放学有你好看!然后他就在你回家的必经之路叫几个小伙伴等着你一样。

要想拦截请求和响应就得在他们的必经之路,放上可以拦截他们的东西,这里就是Fiddler.我们要做的就是让手机

发送的请求和响应,经过Fiddler.

1.1 Wp8模拟器抓包

我们打开fiddler进行如下设置


把允许远程计算机连接的勾打上。

然后在QuickExec 输入框中输入如下命令

prefs set fiddler.network.proxy.registrationhostname 你的计算机名称

计算机名称可以【我的电脑】上右击,点【属性】,如下

所以我的框中就是如下内容


回车后,看fiddler的【Tools】->[Fiddler Options]->[connections]

有红框中的内容说明我们注册成功了。

把wp模拟器和Fiddler都重启一下。

我们在模拟器的ie中输入网址,wow!可以看到,fiddler已经可以捕捉到信息了。

如果需要捕捉https的请求。还需要如下设置。Tools->FiddlerOptions


在模拟器的ie中我登录淘宝,可以看到Fiddler可以捕捉Https了。
好,模拟器就到这里了,我们来看一下真机上如何设置。
【说明:我的模拟器和真机都是wp8的系统,pc系统是win8.1,我的网络环境是pc/手机连家里的wifi上网】

2.1 wp真机抓包

还是遵循我们的Fiddler抓包原理。若想抓真机上的包,就需要真机通过电脑上的Fiddler代理,来联通网络。

点击已连接的wifi

填上计算机名称和fiddler监听得端口号

Ok,现在在手机上访问百度,就可以看到fiddler已经可以捕捉到了。

如果想捕捉https

Fiddler还是要设置成如下

还是在真机上的IE(注意是IE,不是点搜索键出来的),输入如下网址

http://计算机名:8888/fiddleroot.cer

我的就是http://xing-pc:8888/fiddlerroot.cer

加载出来的页面点击,那个图标会出现如下的页面



安装就ok了。

注意真机用完了,记得关掉这个代理的设置。不然Fiddler关了,你可就再也连不上网了。

好了关于fiddler抓http的就说到这里吧。设置不难,但是好多时候由于所处的网络环境的原因。

会导致设置完也无法抓到包。我也遇到过。

2.在wp上抓tcp的包

抓取tcp的包我们这里用 wireshark , 这是属于神器级别的工具了,支持近千种协议,
当然上面说到的http也不在话下了。不过术业有专攻,在抓完包之后的分析,对于http ,Fiddler比wireshark要方便很多。
与Fiddler通过设置代理的原理不同。这神器直接作用于网卡。所有经过网卡的数据包,所以不管是本机的,还是本机所在网段的。

这货基本都能抓到。看一下界面,混个脸熟

2.1 模拟器

接下来我们看一下抓模拟器的。

现在我的网络环境是在公司,笔记本通过网线上网。

  首先点击[InterFace List]

  

  如图勾选,因为我这里是通过网线上网,模拟器的数据,肯定会经过以太网的。然后点击【start】

  就开始捕捉了。

  接下来我通过应用发一条消息(这里是走tcp协议)

  

然后我再WireShark里按快捷键Ctrl+F ,

通过字符串查找,来找我刚发的消息所在的包。点击【Find】

从图中可以看到,找到的包会蓝色高亮显示。最下面的红框里可以看到,我们发送的qwerqwer的消息内容。

Ok,通过wireshark在模拟器抓tcp就是这样了。很简单,几乎不用任何设置就ok了。

2.2 真机

  对于真机抓tcp包,我建议的网络环境是,把笔记本共享wifi,然后手机连接笔记本的wifi上网。

  那就又演变成了和模拟器抓包一样了。我就不在赘述了。

3.总结

本文演示了,在真机/模拟器上,通过不同的工具抓http/tcp包。wp上的抓包想来也就这些情况了。
至于其它协议的包udp,arp之类的wireshark都不在话下,步骤也都是上面的那些。

其实,抓到包后如何快速找到想要的包,对包进行分析。才是重头戏。这里限于篇幅我都没有深入的说。

安排在下一篇详细的说一下吧。也请大家多多关注!

最后:万水千山总是情,给个推荐行不行!

windows phone 网络开发三部曲(一)各种包的各种抓法的更多相关文章

  1. 【转】linux和windows下安装python集成开发环境及其python包

    本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...

  2. Windows phone应用开发[17]-xap提交异常处理

    在windows phone 应用提交操作上早在2011年时就写过一篇Windows phone 应用开发[4]-应用发布,那时wp应用提交官方市场的流程繁杂[超过了5步].因为上传和填写应用信息页面 ...

  3. 【Objective-C】Windows下Objective-C开发环境配置

    [Objective-C]Windows下Objective-C开发环境配置 ftp://ftpmain.gnustep.org/pub/gnustep/binaries/windows/   最近打 ...

  4. Windows上python开发--2安装django框架

    Windows上python开发--2安装django框架 分类: 服务器后台开发2014-05-17 21:22 2310人阅读 评论(2) 收藏 举报 python django 上一篇文章中讲了 ...

  5. windows下STM32开发环境的搭建

    一.概述 1.说明 笔者已经写了一篇Linux下STM32开发环境的搭建 ,这两篇文章的最区别在于开发环境所处的系统平台不一样,而其实这个区别对于开发环境的搭建其实影响不大,制作局部上的操作上发生了改 ...

  6. Windows Phone 8 开发环境搭建

    原地址:http://blog.csdn.net/md521/article/details/11015139 Windows Phone 8将采用与Windows 8相同的NT内核,这就意味着WP8 ...

  7. Windows Azure 网站开发Stacks支持

    编辑人员注释:本文章由 Windows Azure 网站团队的项目经理 Daria Grigoriu 和 Windows Azure 网站开发人员体验合作伙伴共同撰写. Windows Azure 网 ...

  8. XNA 4.0 环境搭建和 Hello World,Windows Phone 游戏开发

    XNA 4.0 环境搭建和 Hello World,Windows Phone 游戏开发 使用 Scene 类在 XNA 中创建不同的场景(八) 摘要: 平方已经开发了一些 Windows Phone ...

  9. windows下spark开发环境配置

    http://www.cnblogs.com/davidwang456/p/5032766.html windows下spark开发环境配置 --本篇随笔由同事葛同学提供. windows下spark ...

随机推荐

  1. 数据库 join

    数据库 join 最近有个项目用到了数据库,写 sql 时有联表查询,不知道怎么写,怎过滤,查了一些资料,补充了一些知识点. 以下是链接: 维基百科 JOIN关联表中ON,WHERE后面跟条件的区别 ...

  2. Java .class文件的反编译与反汇编

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10840818.html 一:反编译 通常用于第三方JAR包的逆向工程. 一般我们拿到的jar包都是经过编译后 ...

  3. java 并发容器一之ConcurrentHashMap(基于JDK1.8)

    上一篇文章简单的写了一下,BoundedConcurrentHashMap,觉得https://www.cnblogs.com/qiaoyutao/p/10903813.html用的并不多:今天着重写 ...

  4. jsp实现账户登录、注册!

    jsp连接mysql数据库进行账户登录验证和账户注册 ~jsp: Login.jsp .LoginCl.jsp.Welcome.jsp.Register.jsp.login.css login.css ...

  5. JS常用的技术

    思考与总结 1.模块化 曾看到某大牛说:模块化和组件化是前端开发的一大趋势.所谓的模块化一般是指为了实现一个特定的功能而将所有的代码(对象)封装成一个模块.而AMD就是requireJS为指定模块规范 ...

  6. PaaS优点与限制(3)

    PaaS优点与限制(3) PaaS学习笔记目录 PaaS基础学习(1) 在PaaS上开发Web.移动应用(2) PaaS优点与限制(3) 13. PaaS的核心服务 核心服务是指提供数据存储.SQl. ...

  7. list control 【转】

    1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标      LVS_SMALLICON: 为每个item显示小图标      LVS_LIST: 显示一列带有小图标的ite ...

  8. iOS 锁的常用方法

    锁的用法在iOS中有几种方法来解决多线程访问同一个内存地址的互斥同步问题: 方法一,@synchronized(id anObject),(最简单的方法)会自动对参数对象加锁,保证临界区内的代码线程安 ...

  9. 使用JavaScript调用手机平台上的原生API

    我之前曾经写过一篇文章使用Cordova将您的前端JavaScript应用打包成手机原生应用,介绍了如何使用Cordova框架将您的用JavaScript和HTML开发的前端应用打包成某个手机平台(比 ...

  10. UVA 10003 cuting sticks 切木棍 (区间dp)

    区间dp,切割dp[i][j]的花费和切法无关(无后效性) dp[i][j]表示区间i,j的花费,于是只要枚举切割方法就行了,区间就划分成更小的区间了.O(n^3) 四边形不等式尚待学习 #inclu ...