zoukankan      html  css  js  c++  java
  • 【原创】Windows Phone真机抓包并分析应用程序的网络通讯(Android、iPhone也适用)

    学习WindowsPhone开发已经有一段时间了,喜欢装各种软件并思考他们是如何实现的,最近用了一个软件 “吾得地图生活服务助手”,功能挺多的,它用到了一些Google和MapABC的API,我想看看它到底用到了哪些API,于是想到了下面这个方法。

    首先电脑要有无线网卡,手机支持WiFi,然后用Windows 7 系统的netsh命令创建一个虚拟WiFi,手机连接这个WiFi上网,在电脑用WireShark抓取虚拟WiFi的数据包。

    详细步骤:

    在Windows 7系统下,到C:\Windows\System32目录下找到cmd.exe,在cmd.exe右击“以管理员身份运行”(直接运行没有管理员权限,命令执行会失败)。

    输入 netsh wlan set hostednetwork mode=allow ssid=cmd key=12345678 回车,创建一个虚拟WiFi,ssid为WiFi的名字,key为密码

    继续输入 netsh wlan start hostednetwork 启动虚拟WiFi。

    到网络连接里查看,已经创建成功。

    然后在能上网的网络连接上右击,选择属性->共享,给虚拟WiFi启用共享。

    如果是WindowsXP系统,没有netsh wlan命令,可以用另一个软件Connectify来创建虚拟WiFi,其他步骤都是一样的。

    用WP手机搜索WiFi并连接这个虚拟WiFi热点,手机就可以通过电脑的虚拟WiFi上网了。

    电脑上启动WireShark抓包软件,选择 "Capture"->"Options",注意选择虚拟的WiFi网络连接,

    ip地址是192.168.2.1的是虚拟WiFi网络连接,取消勾选"Capture packets in promiscuous mode",按下图设置

    点击"Start"按钮开始抓包,手机上并运行”吾得地图生活服务助手“,查看WireShark,有HTTP/1.1 200 OK是http请求成功的数据包。

    右击这条数据选择”Follow TCP Stream“查看数据包详细信息,如下图

    这条数据是Google天气预报的api

    http://www.google.com/ig/api?hl=zh-cn&weather=nanjing

    其他功能是如何实现的都可以抓出来,下面是我抓取的其它功能的api

    地点提示:

    http://search1.mapabc.com/sisserver?highLight=false&resType=json&enc=utf-8&config=TIP&ver=2.0&searchName=%E7%BF%A0%E5%B1%8F%E6%B8%85&cityCode=025&a_k=4e2c1f98aec0d8df790a8b327f5dff277cfbadf3655c47d121a1bd9ad2935911b5ed9c578e938650

    字段说明

    %E7%BF%A0%E5%B1%8F%E6%B8%85 翠屏清的url编码
    searchName 搜索关键字
    cityCode 城市区号, 搜全国为total
    number 返回数量
    batch 第几页
    a_k MapABC的地图API Key

    地名转换为经纬度

    http://search1.mapabc.com/sisserver?highLight=false&srctype=DIBIAO:10000%2BPOI&config=BESN&searchName=%E5%8F%8B%E8%B0%8A%E5%AE%BE%E9%A6%86&cityCode=total&searchType=&number=10&batch=1&a_k=fd9451c6128710ffbc37d9481b002ff36665d039ee0febfd85df0ad471ebcf9204192849326faba3&resType=JSON&enc=utf-8&sr=0

    地图图片取图

    http://emap2.is.autonavi.com/appmaptile?x=847&y=416&z=10

    实时路况取图

    http://tm.mapabc.com/trafficengine/mapabc/traffictile?x=1699&y=831&zoom=6

    公交换乘

    http://search1.mapabc.com/sisserver?highLight=false&srctype=BUS:20%2BDIBIAO%2BPOI&config=BESN&cityCode=025&searchType=&number=20&batch=1&resType=JSON&enc=utf-8&sr=0&searchName=%E7%BF%A0%E5%B1%8F%E6%B8%85%E5%8D%8E%E5%9B%AD&a_k=fd9451c6128710ffbc37d9481b002ff36665d039ee0febfd85df0ad471ebcf9204192849326faba3

    http://search1.mapabc.com/sisserver?highLight=false&config=SPAS&ver=2.0&resType=json&enc=utf-8&spatialXml=%3Cspatial_request%20method=%22searchPoint%22%3E%3Cx%3E118.7757325%3C/x%3E%3Cy%3E32.012667654105%3C/y%3E%3Cxs%3E%3C/xs%3E%3Cys%3E%3C/ys%3E%3CpoiNumber%3E1%3C/poiNumber%3E%3Crange%3E1%3C/range%3E%3Cpattern%3E1%3C/pattern%3E%3CroadLevel%3E0%3C/roadLevel%3E%3Cexkey%3E%3C/exkey%3E%3C/spatial_request%3E&a_k=fd9451c6128710ffbc37d9481b002ff36665d039ee0febfd85df0ad471ebcf9204192849326faba3

    http://search1.mapabc.com/sisserver?highLight=false&config=BR&ver=2.0&x1=118.78394&y1=31.944741&x2=118.767525&y2=32.080544&cityCode=025&per=150&routeType=0&resType=json&enc=utf-8&a_k=fd9451c6128710ffbc37d9481b002ff36665d039ee0febfd85df0ad471ebcf9204192849326faba3

    0 最快捷
    1 最经济
    2 最少换乘
    3 最少步行
    4 最舒适

    下面这个是搜搜地图的换乘api

    http://map.soso.com/?qt=bus&cond=0&&start=1$$$$118.78394%2C31.944741$$$$$$&dest=1$$$$118.767525%2C32.080544$$$$$$&nosub=0&mid=0&output=json

    驾车路线查询

    http://search1.mapabc.com/sisserver?highLight=false&resType=json&enc=utf-8&&config=R&ver=2.0&x1=118.7835921&y1=31.9449493&x2=118.7754104&y2=31.9925792&cityCode=025&per=150&avoidanceType=0&routeType=0&a_k=4e2c1f98aec0d8df790a8b327f5dff277cfbadf3655c47d121a1bd9ad2935911b5ed9c578e938650

    公交线路名称

    http://search1.mapabc.com/sisserver?highLight=false&resType=json&enc=utf-8&&config=R&ver=2.0&x1=118.7835921&y1=31.9449493&x2=118.7754104&y2=31.9925792&cityCode=025&per=150&avoidanceType=0&routeType=0&a_k=4e2c1f98aec0d8df790a8b327f5dff277cfbadf3655c47d121a1bd9ad2935911b5ed9c578e938650

    公交站点查询

    http://search1.mapabc.com/sisserver?highLight=false&resType=json&enc=utf-8&&srctype=BUS:20&config=BESN&ver=2.0&searchName=%E7%BF%A0%E5%B1%8F%E6%B8%85%E5%8D%8E&cityCode=025&number=5&resData=1&a_k=4e2c1f98aec0d8df790a8b327f5dff277cfbadf3655c47d121a1bd9ad2935911b5ed9c578e938650

    公交线路查询

    http://search1.mapabc.com/sisserver?highLight=false&resType=xml&enc=utf-8&&config=BusLine&ver=2.0&ids=320100019006&cityCode=025&number=1&resData=1&batch=1&a_k=4e2c1f98aec0d8df790a8b327f5dff277cfbadf3655c47d121a1bd9ad2935911b5ed9c578e938650

    在某个地点附近周边查询

    http://search1.mapabc.com/sisserver?highLight=false&resType=json&enc=utf-8&srctype=POI&config=BELSBXY&sr=0&range=3000&searchName=%E7%BF%A0%E5%B1%8F%E6%B8%85%E5%8D%8E&cityCode=025&cenX=118.7593684&cenY=32.0926858&searchType=&number=10&batch=1&a_k=4e2c1f98aec0d8df790a8b327f5dff277cfbadf3655c47d121a1bd9ad2935911b5ed9c578e938650

    哈哈,软件的功能都知道是如何实现的了,你也可以做一个类似的软件了。

  • 相关阅读:
    javaBean的理解
    配置tomcat8数据源(采用局部数据源方式)
    windows下apache报os 10048错误
    Windows下Apache的下载安装启动停止
    java通过数据库连接池链接oracle
    java连接oracle数据库
    eclipse配置svn方法
    JAVA多线程中start方法与run方法区别
    java程序在没有java环境的电脑上执行的方法(关键词jar,exe)
    js监听不到组合键
  • 原文地址:https://www.cnblogs.com/Yinkaisheng/p/2246379.html
Copyright © 2011-2022 走看看