Android抓包方法(三)

之Win7笔记本Wifi热点+WireShark工具

前言
做前端测试,基本要求会抓包,会分析请求数据包,查看接口是否调用正确,数据返回是否正确,问题产生是定位根本原因等。
第一篇介绍Fiddler代理,如果APP不支持代理,则不适用;第二篇介绍的Tcpdump抓包,虽强大但不能实时抓包。能否有方法既能抓到所有的包,又能实时查看呢?大家会想到路由抓包,对,介是一个非常好的思路,但公司网络通常不支持,或者你是没有权限的,或者就数据量庞大,哈哈...那我们变通一下,本文主要以此为思路介绍抓包方法。
转载请注明出处
作者:Findyou
地址:http://www.cnblogs.com/findyou/p/3491065.html

[目录]

1、抓包原理

2、方法优劣

3、准备工作

4、实例

5、总结

1、抓包原理

一句话:在关键数据出入口,进行监控。本文以笔记本设置Wifi共享,监控虚拟Wifi进出数据。

2、方法优劣

[优点]:
1).可抓任何通过此Wifi的终端上网数据
2).实时抓包
[缺点]:
1).需要Win7笔记本电脑
2).电脑需要安装Wireshark或其他抓包工具 

3、准备工作

笔记本开启WiFi共享

如本文介绍不够细致到位,还请谷歌、百度等自行脑补。

1). 以管理员身份运行命令提示符:快捷键win+R→输入cmd→回车

2). 查看笔记本无线网卡是否支持承载网络

运行命令:

netsh wlan show drivers#开启虚拟Wifi,密码为ILoveYou

运行完后会有一行显示“支持的承载网络:是(如果支持显示为:是)”;如果为“否”,则请略过本文。

 

3).启用并设定虚拟WiFi网卡

运行命令:
netsh wlan set hostednetwork mode=allow ssid=Findyou key=ILoveYou  #开启虚拟Wifi,密码为ILoveYou
此命令有三个参数:

mode:是否启用虚拟WiFi网卡,改为disallow则为禁用。

ssid:无线网名称,最好用英文(以Findyou为例)。

key:无线网密码,八个以上字符(以ILoveYou为例)。

以上三个参数可以单独使用,例如只使用以下命令就可以直接禁用虚拟Wifi网卡;
运行命令:netsh wlan set hostednetwork mode=disallow 

开启成功后,网络连接中会多出一个网卡为“Microsoft Virtual WiFi Miniport Adapter”的无线连接2

为方便起见,将其重命名为虚拟WiFi。若没有,只需更新无线网卡驱动就OK了。

4).设置Internet连接共享:

在“网络连接”窗口中,右键单击已连接到Internet的网络连接,选择“属性”→“共享”,勾上“允许其他······连接(N)”并选择“虚拟WiFi”。

确定之后,提供共享的网卡图标旁会出现“共享的”字样,表示“宽带连接”已共享至“虚拟WiFi”。

5).开启无线网络:
运行命令:
netsh wlan start hostednetwork  #将start改为stop即可关闭该无线网,以后开机后要启用该无线网只需再次运行此命令即可
至此,虚拟WiFi的红叉叉消失,WiFi基站已组建好,主机设置完毕。笔记本、带WiFi模块的手机等子机搜索到无线网络Findyou,输入密码ILoveYou,就可以共享上网啦!

4、实例

1).开启Win7笔记本连网,并开启Wifi共享

运行命令:

netsh wlan start hostednetwork   #开启虚拟Wifi

注:可以存为Bat文件,下次直接右击以管理员身份运行即可。

2). 手机连上共享的Wifi

3).开启Wireshark,选择虚拟Wifi

4). 操作APP,生成请求数据 

5).分析Wireshark抓包数据 

5、总结

通过以本文,可以拓展很多模式,笔记本加无线路由等等,通过三篇介绍抓包方法,相信大家都有完整的思咱与方法,抓包介绍就此告一段落。

说说题外话,由此大家可以如果有心人在公共场所架设一个免费Wifi,如果在传输过程中存在明文密码,那么基本就沦陷了,所以在测试APP等产品时,需要关注传输加密,避免传输过程中是否使用明文、密码加密规则是否过于简单等(例仅MD5加密,每次传都一样,跟明文其实没多大区别),当然这仅仅是测试的一个方面。希望此文能给大家一定收获。

Android抓包方法(三)之Win7笔记本Wifi热点+WireShark工具的更多相关文章

  1. Android抓包方法(二)之Tcpdump命令+Wireshark

    Android抓包方法(二) 之Tcpdump命令+Wireshark 前言 做前端测试,基本要求会抓包,会分析请求数据包,查看接口是否调用正确,数据返回是否正确,问题产生是定位根本原因等.学会抓包分 ...

  2. Android抓包方法(一)之Fiddler代理

    Android抓包方法(一) 之Fiddler代理 前言: 做前端测试,基本要求会抓包,会分析请求数据包,查看接口是否调用正确,数据返回是否正确,问题产生是定位根本原因等. 不管是之前做HTML5手机 ...

  3. Android抓包方法(转)

    Android抓包方法(转) 作者:Findyou 地址:http://www.cnblogs.com/findyou/p/3491014.html 前言: 做前端测试,基本要求会抓包,会分析请求数据 ...

  4. Android抓包方法 之Fiddler代理

    1.抓包原理 Fiddler是类似代理服务器的形式工作,它能够记录所有你的电脑和互联网之间的http(S)通讯,可以查看.修改所有的“进出”的数据.使用代理地址:127.0.0.1, 默认端口:888 ...

  5. Android抓包方法

    0. Fiddler代理 1.tcpdump命令+wireshark工具 adb shell   #登入手机 su          #切换Root用户 /data/local/tcpdump -p ...

  6. ADB工具和手机抓包方法介绍

    Android抓包方法 工具包内容如下:(下载地址:http://download.csdn.net/download/yezhaohui2011/8368061) adb ——谷歌提供的安卓远程调试 ...

  7. Android 下使用tcpdump网络抓包方法

    Android 下使用tcpdump网络抓包方法 抓包需要tcpdump以及Root权限,tcpdump在本文后有下载. 首先把tcpdump传进手机,用adb命令(放SD卡有时会有问题,我一次可以用 ...

  8. 【转载】linux下的usb抓包方法

    1 linux下的usb抓包方法 1.配置内核使能usb monitor: make menuconfig                   Device Drivers -->        ...

  9. linux下的usb抓包方法

    1 linux下的usb抓包方法1.配置内核使能usb monitor: make menuconfig                   Device Drivers -->        ...

随机推荐

  1. 初学python里的yield send next

    今天看书的时候突然看到这个想起来一直没有怎么使用过send和next试了一下 发现了一个诡异的问题 import math def get_primes(start): while 1 : if is ...

  2. 分享:写了一个 java 调用 C语言 开发的动态库的范例

    分享:写了一个 java 调用 C语言 开发的动态库的范例 cfunction.h   代码#pragma once#ifdef __cplusplusextern "C" {#e ...

  3. 【腾讯Bugly干货分享】移动互联网测试到质量的转变

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57ee0934b690d84c3188d7c7 Dev Club 是一个交流移动 ...

  4. nginx(2、反向代理)

    反向代理是nginx最重要的特性之一,与正向代理相反,它代理的不是客户端,而是目标源,即我代理目标源满足客户端给出的请求. 在nginx中反向代理的简单配置如下: server { listen 80 ...

  5. Aoite 系列(04) - 强劲的 CommandModel 开发模式(上篇)

    Aoite 是一个适于任何 .Net Framework 4.0+ 项目的快速开发整体解决方案.Aoite.CommandModel 是一种开发模式,我把它成为"命令模型",这是一 ...

  6. Javascript自己动手实现getter/setter

    虽然ES5中为我们提供了Object.defineProperty方法来设置getter与setter,但此原生方法使用起来并不方便,我们何不自己来实现一个类,只要继承该类并遵循一定的规范就可以拥有媲 ...

  7. java提高篇(十五)-----关键字final

    在程序设计中,我们有时可能希望某些数据是不能够改变的,这个时候final就有用武之地了.final是java的关键字,它所表示的是“这部分是无法修改的”.不想被改变的原因有两个:效率.设计.使用到fi ...

  8. java提高篇(九)-----实现多重继承

    多重继承指的是一个类可以同时从多于一个的父类那里继承行为和特征,然而我们知道Java为了保证数据安全,它只允许单继承.有些时候我们会认为如果系统中需要使用多重继承往往都是糟糕的设计,这个时候我们往往需 ...

  9. Windows 10 下安装 npm 后全局 node_modules 和 npm-cache 文件夹的设置

    npm 指 Node Package Manager,是 Node.js 中一个流行的包管理和分发工具.Node.js 在某个版本的 Windows 安装包开始已经加入了 npm,现在可以进入 htt ...

  10. 小计C/C++问题(1)

    本文主要记录了以下2个问题: 表达式中,有符号变量和无符号变量的转化问题 C/C++中,main函数执行完以后,还执行了什么语句? 这里简单的说一下我的环境:Win7 32位,Qt creator 5 ...