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

 

 

 

 

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加密,每次传都一样,跟明文其实没多大区别),当然这仅仅是测试的一个方面。希望此文能给大家一定收获。

via.http://www.cnblogs.com/findyou/p/3491065.html