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


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

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

    接下来想和大家分享一些关于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/tcpwp上的抓包想来也就这些情况了。
    至于其它协议的包udp,arp之类的wireshark都不在话下,步骤也都是上面的那些。

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

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

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

  • 相关阅读:
    nodeJs-querystring 模块
    nodeJs-process对象
    nodejs-Path模块
    nodejs-os模块
    nodejs-CommonJS规范
    nodejs-Events模块
    nodejs-Http模块
    nodejs-Cluster模块
    转:AOP与JAVA动态代理
    转:jdk动态代理实现
  • 原文地址:https://www.cnblogs.com/beyoung/p/3548228.html
Copyright © 2020-2023  润新知