V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
learningman
V2EX  ›  路由器

当一台新设备接入无线热点时,都会交换哪些数据?

  •  
  •   learningman · 2020-10-20 15:21:09 +08:00 · 1525 次点击
    这是一个创建于 1520 天前的主题,其中的信息可能已经有所发展或是发生改变。

    起因

    学校的校园网识别 UA 防代理,在路由器上拿 Privoxy 统一修改 UA 勉强能用。 但是,每次有新的设备连接到路由器时,校园网会立刻断开。日志如下

    Tue Oct 20 14:25:04 2020 daemon.info hostapd: wlan0: STA 00:0a:f5:94:7a:52 IEEE 802.11: authenticated
    Tue Oct 20 14:25:04 2020 daemon.info hostapd: wlan0: STA 00:0a:f5:94:7a:52 IEEE 802.11: associated (aid 3)
    Tue Oct 20 14:25:05 2020 daemon.notice hostapd: wlan0: AP-STA-CONNECTED 00:0a:f5:94:7a:52
    Tue Oct 20 14:25:05 2020 daemon.info hostapd: wlan0: STA 00:0a:f5:94:7a:52 RADIUS: starting accounting session 9B984F9BB76F4E80
    Tue Oct 20 14:25:05 2020 daemon.info hostapd: wlan0: STA 00:0a:f5:94:7a:52 WPA: pairwise key handshake completed (RSN)
    Tue Oct 20 14:25:40 2020 user.notice 校园网认证: Disconnected
    Tue Oct 20 14:25:53 2020 user.notice 校园网认证: Try to Connect
    Tue Oct 20 14:25:54 2020 user.notice 校园网认证: Login Success:UL='http://connectivitycheck.gstatic.com/generate_204'
    

    问题

    所以说,新的设备连接时,到底是发送了什么数据,能够让上层的检测设备检测到呢?

    猜测

    1. DHCP 的广播包
    2. 有些设备会发送一个 generate_204 的 GET 请求来检查网络,一般走 http
    3. 新设备连入,导致了 iptables 重启,让 2 的请求没有被 iptables 转发。又或者 privoxy 重启?

    额外信息

    关于本地设备

    日志中的校园网认证是一个脚本,地址 https://gist.github.com/Zxilly/d0236f55bbee3f116de7cdfa90d7e8c7

    路由器的系统是自编译的 lede

    日志中的 UL 字段,是从登陆成功的页面上正则匹配下来的,应该指的是在网络断开期间被重定向到校园网 Web Portal 的最后一个 http 请求

    转发数据到 privoxy 的 iptables 如下

    iptables -t nat -N http_ua_drop
    iptables -t nat -I PREROUTING -j http_ua_drop
    iptables -t nat -A http_ua_drop -d 0.0.0.0/8 -j RETURN
    iptables -t nat -A http_ua_drop -d 127.0.0.0/8 -j RETURN
    iptables -t nat -A http_ua_drop -d 192.168.0.0/16 -j RETURN
    iptables -t nat -A http_ua_drop -p tcp -j REDIRECT  --dport 80 --to-port 8118
    
    

    关于检测设备

    设备是城市热点的Dr.COM 2166B-RAS 、Portal 与华为的 ME60

    Web Portal 页面上的 js 没有做混淆,有一些信息。

    /********************  公用配置参数  ********************/
    url3 = '1.htm';
    url4 = 'F.htm';
    s2 = 0;
    var _version='2.4.1';
    
    var companyInfo="本宽带计费系统由城市热点提供";// 公司信息(底部文字)
    
    var companyLink="http://www.doctorcom.com";// 公司链接
    
    var redirectLink="http://192.168.167.46/1.htm";// 登录重定向
    
    var rebackLink="http://192.168.167.46/a79.htm?isReback=1";//返回重定向
    

    以及

    var pageSetting=2;//1:vlan  2:ip  3:ssid  4:区域 ID
    
    /********************  SSID 外置登陆对应配置  ********************/
    var ipPageAry = new Array(301);// 空表示未使用
    
    //名称|ip-start|ip-end|虚拟商号|重定向地址|审核标记,0 未审,1 审过,2 审不过|认证方式(0-本地认证; 1-PORTAL 协议; 2-Ruckus ; 3-Cisco ; 4-Moto ; 5-JUNIPER ; 6-Aruba6.4.2.2 ; 7-Aruba 旧版本)
    ipPageAry[0]="default|1.1.1.1|255.255.255.254|000||1|0";
    ipPageAry[1]="jgsu|1.1.1.1|255.255.255.255|||1|0";
    

    完整的这两个文件在

    https://paste.ubuntu.com/p/ZcVb6X8Ms6/

    https://paste.ubuntu.com/p/MyHV6JVqg5/

    任何建议都非常感谢!

    2 条回复    2020-11-13 14:32:58 +08:00
    ihades
        1
    ihades  
       2020-10-21 15:38:53 +08:00
    话说 再接一条二级路由器咋样
    learningman
        2
    learningman  
    OP
       2020-11-13 14:32:58 +08:00 via Android
    @ihades 试了,没用。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1463 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 17:09 · PVG 01:09 · LAX 09:09 · JFK 12:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.