HG HTTP REDIRECT重定向功能简要了解

    以RTL 8197为例,直接在内核实现了HTTP REDIRECT重定向功能:当下挂设备部在白名单范围内,则直接返回门户页面给用户。该功能可以被用于路由器用户上网认证需求的实现


    主要外部接口:
    /proc/http_redirect/enable            启用禁用
    /proc/http_redirect/CaptivePortalURL    TR98版本门户URL设定
    /proc/http_redirect/AllowedList            TR98版本允许列表不被强制门户:IP列表
    /proc/http_redirect/url                非TR98版本门户URL设定
    /proc/http_redirect/client_list        非TR98版本允许列表不被强制门户:mac列表
    /proc/http_redirect/max_idle_time    非TR98版本允许列表成员超时时间:超过指定时间会被删除(配合外部功能实现为超时重新认证)


    内部实现:
        与DNS TRAP功能类似,主要实现部分在net bridge。当数据报文经过桥时br_handle_frame,在功能启用的情况下:
        先检查是否为一个合法的http get请求,如果时则匹配是否不在白名单范围内,再检查当前的请求是否就是强制门户页面(子页通过url字段或host字段检测,目前没有用到refer字段)    --refer字段在此主要用于级联信任,但当前的网络这种级联信任不太可靠,也与本身请求的页面相差太远
        如果上述都是匹配的,在send_redirect中还做了路由安全检查,这样可以避免网络不通的情况下推送门户
        接下来则是封装回报:
            在原有报文的基础上copy一个新报文进行修改(data部分和newskb结构体)后发送
            修改原有报文为rst报文,断开之前的连接    --这点较为重要

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值