Wireshark手机等移动设备抓包
手机、pad在访问网络时会有数据交换,请求的数据从你的手机上的无线网卡发送出去,经过运营商的各种操作后把该请求数据送到了目的地址——请求数据所在服务器的网卡,服务器经过分析,找到所要请求的数据,验证权限后认可该请求,便开始把所请求的数据打包发送到运营商,各种操作后数据包又到了你的手机无线网卡上,这时手机解包、分析协议、解析数据、呈现数据到你的所发请求的页面,这样就完成了一次客户端与服务器端的数据交换,可以发现数据都是通过网卡转发的。
那么我们就可以在网卡上进行抓包,然后分析。但是手机上目前是没有类似于Wireshark这样强大功能的抓包软件,所以我们没办法抓取通过手机无线网卡包。
手机上抓包行不通,那么是否可以将通过手机无线网卡的包引导到电脑上,然后在电脑端抓包呢?答案是可以的。
从以上可以看出数据交换的路线:手机->运营商->服务器。那么我们可以在手机和运营商中间加一道电脑网卡,即中转一次,变成手机->PC网卡->运营商->服务器。
利用电脑上的wifi共享就可以用有线网卡和运营商连接,把无线网卡开启作为无线热点,然后手机连接电脑共享的wifi网络,这样访问就构成了手机->电脑无线网卡->电脑有线网卡->运营商->服务器。我们只需要在电脑无线网卡或在电脑有线网卡上抓包即可,思路到此就讲完了,接下来就是基本的操作了。(据说手机和pc在同一局域网内,无线以太网所有数据都是广播,把pc网卡设置成混杂模式,监听pc的网卡也可以抓取到手机的包,实际以我的环境测试发现抓不到。。。)
以win7为例,首先开启wifi共享(你PC的无线网卡网卡要支持软AP):
可以下载安装一个WIFI共享精灵,一键设定即可。也可以通过CMD命令开启。
CMD命令开启方法:
打开命令提示符(CMD)的方法:
开始-->所有程序-->附件-->右键命令提示符-->以管理员身份运行
或者 开始-->在搜索框中直接输入CMD-->右键命令提示符-->以管理员身份运行
打开命令窗口如下:
然后,输入:netsh wlan start hostednetwork mode=allow 回车,开启承载网络模式。
注:必须为允许承载网络,虚拟网卡才会创建出来
如果显示无法承载就输入:netsh wlan set hostednetwork mode=allow
接下来设置虚拟Wifi的SSID和密码:
输入:netsh wlan set hostednetwork ssid=热点名称 key=密码 (要注意的是这里的名称是英文、密码至少要8~10位)
最后,点击网络——打开网络共享中心——更改适配器设置,可以看到一块Microsoft Virtual wlan Miniport Adapter虚拟网卡
选中正在联网的网卡,右击本地连接(联网的网卡)—>属性—>选择共享——选虚拟网卡(无线网络连接4),如下图所示打钩确认。
最后开启虚拟wifi,在cmd命令窗口输入:netsh wlan start hostednetwork mode=allow 回车
这样虚拟wifi热点就建立好了。
接下来就可以用手机直接连接该虚拟wifi热点,上网了。
停止虚拟wifi热点可以这样,在命令行输入:netsh wlan stop hostednetwork
netsh wlan set hostednetwork mode=
Wireshark配置:
选择的网卡是刚才设置共享的那张网卡哦
然后就可以在手机端上网,PC端wireshark抓包了。
以下利用wireshark开始抓手机出去的包:
这里,手机访问百度www.baidu.com,在wireshark里可以看到,已经抓到手机请求百度首页的http Get请求,从请求的User-Agent可以看到,我的浏览器标识和手机型号,确定就是手机的http get请求。
这是手机端连接wifi和访问百度截图
如果嫌输入开启wifi的cmd命令麻烦,那么如下:
将下边的批处理命令拷贝保存到文件中,并改后缀名为.cmd,如Win7-WiFi共 享.cmd,以管理员权限运行该文件即可。
@echo off
echo.
echo.
echo ——————————————欢迎启用Win7设置WiFi热点程序———————————
echo.
echo 请使用windows7操作系统,并且以管理员权限运行
echo 开启wifi成功后,请打开网络和共享中心的网络连接,
echo 将已经连网的本地连接或者宽带连接设置为共享到虚拟无线网卡。
echo.
echo ——————————————---------------------------———————————
:list
echo.
echo ——————————————---------------------------———————————
echo 请输入菜单前的数字并按下回车即可执行该命令
echo 1、初始化wifi
echo 2、开启wifi
echo 3、修改名称
echo 4、修改密码
echo 5、停止wifi
echo 6、卸载wifi
echo 7、退出
set /p case=请输入菜单前的数字:
echo.
echo ——————————————---------------------------———————————
goto case_%case%
:case_1
goto build
:case_2
goto start
:case_3
goto chgssid
:case_4
goto chgpsword
:case_5
goto stop
:case_6
goto unistall
:case_7
exit
:build
set /p nam=请设置wifi名称(英文字母或数字)
set /p psword=请设置wifi密码(英文字母或数字,至少8位)
netsh wlan set hostednetwork mode=allow ssid=%nam% key=%psword%
netsh wlan start hostednetwork
goto list
:start
netsh wlan start hostednetwork
goto list
:chgssid
set /p newname=请输入新名称(英文字母或数字)
netsh wlan set hostednetwork ssid=%newname%
goto list
:chgpsword
set /p newpass=请输入新密码(英文字母或数字,至少8位)
netsh wlan set hostednetwork key=%newpass%
goto list
:stop
netsh wlan stop hostednetwork
goto list
:unistall
netsh wlan set hostednetwork mode=
goto list