android mac 探针,wifi探针获取手机mac地址
项目中有需求用wifi设备获取接入终端的mac地址,这个利用wifi探针可以做到,但有局限性,就是手机必须连接上wifi或者说发起了连接请求,目前仍做不到用户的无感知探测(PS:这么猥琐的方式还是不鼓励)。透过表面看本质,探索下原因,主要是Beacon和Probe Request在发挥作用
下面引用了802.11协议簇里面关于wifi连接过程的描述,从网络上copy的,更详细的可以看IEEE相关文档
0x1: 普通无加密连接过程
1. AP发送Beacon广播管理帧
因为AP发送的这个Beacon管理帧数据包是广播地址,所以我们的PCMIA内置网卡、或者USB外界网卡会接收到这个数据包,然后在我们的"无线连接列表"中显示出来
2. 客户端向承载指定SSID的AP发送Probe Request(探测请求)帧
当我们点击"连接"的时候,无线网卡就会发送一个Prob数据帧,用来向AP请求连接
3. AP接入点对客户端的SSID连接请求进行应答
AP对客户端的连接作出了回应,并表示不接受任何形式的"帧有效负载加密(frame-payload-encryption)"
4. 客户端对目标AP请求进行身份认证(Authentication)
5. AP对客户端的身份认证(Authentication)请求作出回应
AP回应,表示接收身份认证
6. 客户端向AP发送连接(Association)请求
身份认证通过之后,所有的准备工作都做完了,客户端这个时候可以向WLAN AP发起正式的连接请求,请求接入WLAN
7. AP对连接(Association)请求进行回应
AP对客户端的连接请求(Association)予以了回应(包括SSID、性能、加密设置等)。至此,Wi-Fi的连接身份认证交互就全部结束了,之后就可以正常进行数据发送了
8. 客户端向AP请求断开连接(Disassociation)
当我们点击"断开连接"的时候,网卡会向AP发送一个断开连接的管理数据帧,请求进行断开连接
android mac 探针,wifi探针获取手机mac地址相关推荐
- android+手机mac地址,Android 获取手机Mac地址,手机名称
/** * 获取手机mac地址 * 错误返回12个0 */ public static String getMacAddress(Context context) { // 获取mac地址: Stri ...
- android模拟ip地址,安卓 获取手机IP地址的实现代码
1.获取手机IP地址的代码: public static String getLocalIpAddress(){ try{ for (Enumeration en = NetworkInterface ...
- android获取ip方法,Android开发准确获取手机IP地址的两种方式
最近看了好多网上获取IP地址的例子,发现好多都不完全准确,这里我写一下获取ip地址的两种方式. 比如微信支付,后台在做接口的时候,要求App端传入IP地址,我们需要判断是网络环境,WI-FI还是3G, ...
- android 获取wifi的ip地址吗,Android开发实现在Wifi下获取本地IP地址的方法
本文实例讲述了Android开发实现在Wifi下获取本地IP地址的方法.分享给大家供大家参考,具体如下: 代码核心介绍: WifiManager类提供了对设备Wifi功能的管理,包括Wifi开关的打开 ...
- php获取手机ip地址,获取手机的ip地址
获取手机的ip地址 2014年10月14号 发表于:评论 () 热度:1287 随着手机功能的不断完善,手机网站的开发日趋简单,所以很多人都趋于用html不限定宽度的方式来写电脑网页.同样的,手机浏览 ...
- 如何正确获取手机IP地址
随着手机功能的不断完善,手机网站的开发日趋简单,所以很多人都趋于用html不限定宽度的方式来写电脑网页.同样的,手机浏览器也不单单只支持wml格式的文件.除了不支持JS脚本程序以外,和电脑访问几乎没有 ...
- android 手机固定mac,Android之获取手机MAC
一种比较折衷的办法,在获取MAC地址之前先判断当前WiFi状态,若开启了Wifi,则直接获取MAC地址,若没开启Wifi,则用代码开启Wifi,然后马上关闭,再获取MAC地址. 目前此方法测试成功 ...
- 获取手机mac php,IOS_iOS如何获取手机的Mac地址,首先说明下,下面两种方法均 - phpStudy...
iOS如何获取手机的Mac地址 首先说明下,下面两种方法均可以获得手机的mac地址,但是有个限制,是在iOS7以下才可以获得.iOS7以后苹果对于sysctl和ioctl进行了技术处理,MAC地址返回 ...
- tcp服务器维护接入客户端mac,tcp服务器怎么获取客户端mac
tcp服务器怎么获取客户端mac 内容精选 换一换 本章节中介绍的初始配置操作只需在每台终端设备上配置一次.初始配置需要的数据及其详细配置步骤,由管理员根据实际情况定制.客户端支持中标麒麟桌面操作系统 ...
- 获取android设备唯一编号_android 获取手机设备的唯一码(IMIE )
获取手机设备的唯一码(IMIE ) public void fetch_status(){ TelephonyManager tm = (TelephonyManager) this .getSyst ...
最新文章
- 漫画:五分钟学会贪心算法!
- 深入研究自监督单目深度估计:Monodepth2
- 谷歌浏览器添加JSON-Handle插件
- 基于继承类的属性模版中无法绑定的原因和解决方法
- 动态顺序字符串基本操作实验_掌握套路,你也会用动态规划
- Sublime Text 关闭自动更新
- mysql数据库内置函数大全_(MariaDB)MySQL内置函数大全
- Mysql Data type
- paip.XXListener is already configured监听器已经被配置的解决
- python异常类父类_python【第五篇】异常处理
- 小波分解和小波包分解
- vue:antV G2在vue中的使用(阿里图表,类似echarts)
- 洪水填充算法_计算机图形:洪水填充算法
- 晓黑板显示服务器开小差是啥问题,晓黑板怎样写作文
- AM5728高性能SOC,满足工业协议支持、大数据计算、实时控制等需求,适用于图像处理、电力协议管理
- 【Java】2.Java体系架构(SE的组成概念图)
- 【4D毫米波雷达技术发展趋势分析】
- ./configure 报错
- 浪漫程序员会表白之抖音旋转立方体照片墙
- csdn-Python 技能树体验评测