V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
thinkloki
V2EX  ›  程序员

Android 手机作为热点,怎么获取设备的类型(手机,电脑),跟踢出设备功能

  •  
  •   thinkloki · 2017-06-27 18:56:43 +08:00 · 3907 次点击
    这是一个创建于 2707 天前的主题,其中的信息可能已经有所发展或是发生改变。

    RT,我们 rom 最近有这么个需求,有什么思路吗?或者有做过这方面的大佬吗。

    19 条回复    2017-06-28 22:52:54 +08:00
    kamen
        1
    kamen  
       2017-06-27 21:06:10 +08:00
    不是设一个密码就行了吗?哪有这种需求啊,热点功能都不怎么常用
    honeycomb
        2
    honeycomb  
       2017-06-27 21:11:47 +08:00 via Android
    踢设备可能要在 hostapd 动手脚?
    设备类型应该无法判断,但能从 mac 地址空间推测
    skylancer
        3
    skylancer  
       2017-06-27 21:45:58 +08:00
    可以用 mac 判断设备,一般情况下手机是准的,至于其它设备就看你怎么判断了,比如端口,TCP 指纹,后台访问的地址(比如 Windows Update,比如 yum/apt 源)。要判断是什么设备,运行的系统,还是蛮多方法的
    abmin521
        4
    abmin521  
       2017-06-27 22:56:37 +08:00
    你可以看看 MIUI 之类的 source 判断类型的话 android 连上之后应该设备名显示 android-cd4a24f0xx
    Laynooor
        5
    Laynooor  
       2017-06-27 22:58:25 +08:00 via Android
    miui 在连上别的手机 WiFi 后,WiFi 图标会有一个回形针,连上路由器的 WiFi 则不会有。
    sobigfish
        6
    sobigfish  
       2017-06-27 23:10:27 +08:00
    MAC 段混用的,应该分不出手机和电脑的区别
    如果自用强制按规则定义设备名的话可以
    面向大众的除非用特定的 client (获取设备类型后加黑白名单)连接 WiFi
    kmahyyg
        7
    kmahyyg  
       2017-06-28 08:20:33 +08:00 via Android
    miui emui 各种第三方 ui 有这功能,其他的估计要 root 之后用 linux 的方法来控制
    thinkloki
        8
    thinkloki  
    OP
       2017-06-28 10:02:45 +08:00
    @kmahyyg 我们是自己做 rom,权限肯定不是问题。
    thinkloki
        9
    thinkloki  
    OP
       2017-06-28 10:03:25 +08:00
    @skylancer mac 地址能识别厂商但是并不能识别设备类型。
    kmahyyg
        10
    kmahyyg  
       2017-06-28 10:18:15 +08:00 via Android
    @thinkloki 抱歉,没看到做 rom 的。识别设备类型?这个就得靠 fingerprint
    thinkloki
        11
    thinkloki  
    OP
       2017-06-28 10:28:17 +08:00
    @kmahyyg 具体思路是什么呢?现在是一脸迷茫
    skylancer
        12
    skylancer  
       2017-06-28 10:33:34 +08:00
    @thinkloki 要配合多种方法的,不能说光靠 mac,但是一般来说手机和电脑用的都是固定段,所以还是能区分出来一些的
    kmahyyg
        13
    kmahyyg  
       2017-06-28 10:38:04 +08:00 via Android
    @thinkloki 具体就是类似于 wlan 认证一样的,根据 mac 判断下厂商,预分类,然后根据连入热点后发送的数据包的 header 里的 ua 会记录手机或者设备的 fingerprint,用这个来做
    thinkloki
        14
    thinkloki  
    OP
       2017-06-28 10:46:15 +08:00
    @kmahyyg okok 大概明白了。
    thinkloki
        15
    thinkloki  
    OP
       2017-06-28 11:30:08 +08:00
    @kmahyyg 还有一个问题,怎么能简单的获取到连入的设备发送的数据呢。
    kmahyyg
        16
    kmahyyg  
       2017-06-28 11:59:23 +08:00 via Android
    @thinkloki 利用 204
    thinkloki
        17
    thinkloki  
    OP
       2017-06-28 15:47:22 +08:00
    @kmahyyg 大佬 还是没太明白。现在不太明白怎么去抓数据。最后得出 http 的 UA。
    gsls200808
        18
    gsls200808  
       2017-06-28 21:50:07 +08:00 via Android
    dhcp 的 option 60 字段可以区分一部分,有一部分路由和光猫是这么做的
    skylancer
        19
    skylancer  
       2017-06-28 22:52:54 +08:00
    @thinkloki 给你个关键词,Captive Portal,我觉得你应该很容易就明白了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   876 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 20:34 · PVG 04:34 · LAX 12:34 · JFK 15:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.