Wireshark手机等移动设备抓包

手机、pad在访问网络时会有数据交换,请求的数据从你的手机上的无线网卡发送出去,经过运营商的各种操作后把该请求数据送到了目的地址——请求数据所在服务器的网卡,服务器经过分析,找到所要请求的数据,验证权限后认可该请求,便开始把所请求的数据打包发送到运营商,各种操作后数据包又到了你的手机无线网卡上,这时手机解包、分析协议、解析数据、呈现数据到你的所发请求的页面,这样就完成了一次客户端与服务器端的数据交换,可以发现数据都是通过网卡转发的。

那么我们就可以在网卡上进行抓包,然后分析。但是手机上目前是没有类似于Wireshark这样强大功能的抓包软件,所以我们没办法抓取通过手机无线网卡包。

手机上抓包行不通,那么是否可以将通过手机无线网卡的包引导到电脑上,然后在电脑端抓包呢?答案是可以的。

从以上可以看出数据交换的路线:手机->运营商->服务器。那么我们可以在手机和运营商中间加一道电脑网卡,即中转一次,变成手机->PC网卡->运营商->服务器。

利用电脑上的wifi共享就可以用有线网卡和运营商连接,把无线网卡开启作为无线热点,然后手机连接电脑共享的wifi网络,这样访问就构成了手机->电脑无线网卡->电脑有线网卡->运营商->服务器。我们只需要在电脑无线网卡或在电脑有线网卡上抓包即可,思路到此就讲完了,接下来就是基本的操作了。(据说手机和pc在同一局域网内,无线以太网所有数据都是广播,把pc网卡设置成混杂模式,监听pc的网卡也可以抓取到手机的包,实际以我的环境测试发现抓不到。。。)

 

 

以win7为例,首先开启wifi共享(你PC的无线网卡网卡要支持软AP):

可以下载安装一个WIFI共享精灵,一键设定即可。也可以通过CMD命令开启。

 

CMD命令开启方法:

打开命令提示符(CMD)的方法:

开始-->所有程序-->附件-->右键命令提示符-->以管理员身份运行

或者 开始-->在搜索框中直接输入CMD-->右键命令提示符-->以管理员身份运行

蓝牙抓包wireshark 怎么和手机通信 wireshark连接手机抓包_抓包

 

打开命令窗口如下:

 

蓝牙抓包wireshark 怎么和手机通信 wireshark连接手机抓包_抓包_02

 

然后,输入:netsh wlan start hostednetwork mode=allow 回车,开启承载网络模式。

注:必须为允许承载网络,虚拟网卡才会创建出来

如果显示无法承载就输入:netsh wlan set hostednetwork mode=allow

 

蓝牙抓包wireshark 怎么和手机通信 wireshark连接手机抓包_抓包_03

 

接下来设置虚拟Wifi的SSID和密码:

输入:netsh wlan set hostednetwork ssid=热点名称 key=密码 (要注意的是这里的名称是英文、密码至少要8~10位)

 

蓝牙抓包wireshark 怎么和手机通信 wireshark连接手机抓包_无线网卡_04

 

最后,点击网络——打开网络共享中心——更改适配器设置,可以看到一块Microsoft Virtual wlan Miniport Adapter虚拟网卡

 

蓝牙抓包wireshark 怎么和手机通信 wireshark连接手机抓包_运营商_05

 

 

选中正在联网的网卡,右击本地连接(联网的网卡)—>属性—>选择共享——选虚拟网卡(无线网络连接4),如下图所示打钩确认。

 

蓝牙抓包wireshark 怎么和手机通信 wireshark连接手机抓包_抓包_06

 

最后开启虚拟wifi,在cmd命令窗口输入:netsh wlan start hostednetwork mode=allow 回车

 

蓝牙抓包wireshark 怎么和手机通信 wireshark连接手机抓包_运营商_07

 

这样虚拟wifi热点就建立好了。

 

蓝牙抓包wireshark 怎么和手机通信 wireshark连接手机抓包_无线网卡_08

接下来就可以用手机直接连接该虚拟wifi热点,上网了。


停止虚拟wifi热点可以这样,在命令行输入:netsh wlan stop hostednetwork

netsh wlan set hostednetwork mode=

 

Wireshark配置:

选择的网卡是刚才设置共享的那张网卡哦

蓝牙抓包wireshark 怎么和手机通信 wireshark连接手机抓包_抓包_09

 

 

然后就可以在手机端上网,PC端wireshark抓包了。

  

以下利用wireshark开始抓手机出去的包:

这里,手机访问百度www.baidu.com,在wireshark里可以看到,已经抓到手机请求百度首页的http Get请求,从请求的User-Agent可以看到,我的浏览器标识和手机型号,确定就是手机的http get请求。

蓝牙抓包wireshark 怎么和手机通信 wireshark连接手机抓包_无线网卡_10

 

 

这是手机端连接wifi和访问百度截图

 


如果嫌输入开启wifi的cmd命令麻烦,那么如下:

将下边的批处理命令拷贝保存到文件中,并改后缀名为.cmd,如Win7-WiFi共 享.cmd,以管理员权限运行该文件即可。

1. @echo off  
2. echo.  
3. echo.  
4. echo ——————————————欢迎启用Win7设置WiFi热点程序———————————  
5. echo.  
6. echo 请使用windows7操作系统,并且以管理员权限运行  
7. echo 开启wifi成功后,请打开网络和共享中心的网络连接,  
8. echo 将已经连网的本地连接或者宽带连接设置为共享到虚拟无线网卡。  
9. echo.  
10. echo ——————————————---------------------------———————————  
11. :list  
12. echo.  
13. echo ——————————————---------------------------———————————  
14. echo 请输入菜单前的数字并按下回车即可执行该命令  
15. echo 1、初始化wifi  
16. echo 2、开启wifi  
17. echo 3、修改名称  
18. echo 4、修改密码  
19. echo 5、停止wifi  
20. echo 6、卸载wifi  
21. echo 7、退出  
22. set /p case=请输入菜单前的数字:   
23. echo.  
24. echo ——————————————---------------------------———————————  
25. goto case_%case%  
26. :case_1  
27. goto build  
28. :case_2  
29. goto start  
30. :case_3  
31. goto chgssid  
32. :case_4  
33. goto chgpsword  
34. :case_5  
35. goto stop  
36. :case_6  
37. goto unistall  
38. :case_7  
39. exit  
40.   
41. :build  
42. set /p nam=请设置wifi名称(英文字母或数字)  
43. set /p psword=请设置wifi密码(英文字母或数字,至少8位)  
44. netsh wlan set hostednetwork mode=allow ssid=%nam% key=%psword%  
45. netsh wlan start hostednetwork  
46. goto list  
47. :start  
48. netsh wlan start hostednetwork  
49. goto list  
50. :chgssid  
51. set /p newname=请输入新名称(英文字母或数字)  
52. netsh wlan set hostednetwork ssid=%newname%  
53. goto list  
54. :chgpsword  
55. set /p newpass=请输入新密码(英文字母或数字,至少8位)  
56. netsh wlan set hostednetwork key=%newpass%  
57. goto list  
58. :stop  
59. netsh wlan stop hostednetwork  
60. goto list  
61. :unistall  
62. netsh wlan set hostednetwork mode=  
63. goto list