一种进入路由器配置界面的便捷方法和系统
技术领域
本发明属于无线通信技术领域,尤其涉及一种进入路由器配置界面的便捷方法和系统。
背景技术
随着无线网络的普及,无线保真(Wireless Fidelity,WIFI)变得越来越重要,因此无线路由器也越来越普及,在无线路由器初次被使用时,一般需要用户对路由器进行配置。相关技术中,当用户需要配置路由器时,需要打开浏览器,然后再地址栏手动输入“http://{router_domain/router_ip}”才能进入路由器的配置界面,有一定的技术门槛,整个的操作步骤复杂,而且很多时候用户不知道(不记得)要这边操作,并且路由器的router_domain/router_ip,很多用户也不清楚是什么,给用户进入路由器配置界面造成一定的障碍。当然,对于技术人员来说都知道router_domain/router_ip表示域名/LAN IP。此外不同厂家路由器的router_domain/router_ip基本都不一致,例如下表两个品牌:
品牌 |
router_domain |
router_ip(默认) |
斐讯 |
p.to |
192.168.2.1 |
TP-LNIK |
tplogin.cn |
192.168.1.1 |
这样不同的域名/LAN IP容易给用户造成混乱,普通用户配置一台路由器1通常需要花费比较多的时间才能打开路由器1配置页面进而完成路由器的配置,浪费了用户的时间,降低了用户的体验。
为了解决上述技术问题,人们进行了长期的探索,例如中国专利公开了一种路由器配置方法及装置[公开号:CN106452914A],包括:确定移动设备接入的路由器是否为未经过配置的路由器;当所述移动设备接入的路由器是未经过配置的路由器时,显示用于配置所述路由器的配置界面。
上述方案能够很方便地为用户调出路由器配置页面,但是上述方法只能方便用户一次,用户若是在使用了一段时间后想要调出配置界面再进行配置就还是需要进行复杂的操作,还有较大的改进空间。
发明内容
本发明的目的是针对上述问题,提供一种使用方便的进入路由器配置界面的便捷方法;
本方案的另一目的是提供一种基于上述方法的进入路由器配置界面的便捷系统。
为达到上述目的,本发明采用了下列技术方案:
一种进入路由器配置界面的便捷方法,包括:
S1.判断是否有按键事件,若有,则断开所有与路由器连接的终端设备,以触发所述终端设备的网络连通性检测;
S2.接收一个或多个终端设备进行网络连通性检测过程中的HTTP请求;
S3.对所述终端设备的HTTP请求重定向至路由器的配置界面HTTP服务器,以使所述终端设备弹出路由器的配置界面。
在上述的进入路由器配置界面的便捷方法中,在步骤S1中,所述按键事件由用户操作位于路由器上的按键触发;
并且,通过调用路由器的无线驱动接口断开与所有终端设备的连接关系。
在上述的进入路由器配置界面的便捷方法中,所述按键连接于控制芯片的输入/输出端口,并且通过以下方法判断是否有按键事件:
监听所述输入/输出端口的电平信号是否发生变化,若是,则判断存在按键事件。
在上述的进入路由器配置界面的便捷方法中,在步骤S3中还包括:
检测HTTP请求的头部与路由器的域名/LAN IP是否一致,若不一致,则判定为配置界面请求,向所述终端设备返回一个重定向报文以触发终端设备调出配置界面弹窗。
在上述的进入路由器配置界面的便捷方法中,步骤S3具体包括:
拦截所述终端设备发送的HTTP请求的DNS查询报文,将所述DNS查询报文解析为路由器的LAN IP,并将所述LAN IP返回给所述终端设备,以使HTTP请求重定向至路由器的配置界面HTTP服务器。
在上述的进入路由器配置界面的便捷方法中,步骤S3具体包括:
使用iptable匹配HTTP请求,对HTTP请求增加包含有LAN IP的NAT规则,以使HTTP请求重定向至路由器的配置界面HTTP服务器。
一种进入路由器配置界面的便捷系统,包括路由器,所述路由器包括有配置界面HTTP服务器、重定向模块、无线断开处理模块和按键模块,其中,
配置界面HTTP服务器,用于处理HTTP请求,以及向终端设备提供配置界面;
重定向模块,用于重定向终端设备的HTTP请求至路由器的配置界面HTTP服务器,以使所述终端设备获得路由器的配置界面;
无线断开处理模块,用于断开所有与路由器连接的终端设备,以触发所述终端设备的网络连通性检测;
按键模块,用于触发按键事件,以及判断按键事件的发生,并在安键事件发生时触发所述重定向模块和所述无线断开处理模块。
在上述的进入路由器配置界面的便捷系统中,所述按键模块包括按键电路和按键程序,所述按键电路包括连接于控制芯片的输入/输出端口的按键,所述按键程序用于监听所述输入/输出端口的电平信息,并根据电平信号判断是否有按键事件。
在上述的进入路由器配置界面的便捷系统中,所述重定向模块包括DNS拦截模块、域名解析模块和/或请求修改模块,其中,
DNS拦截模块,用于拦截终端设备发送的HTTP请求的DNS查询报文;
域名解析模块,用于将所述DNS查询报文解析为路由器的LANIP,并将所述LAN IP返回给所述终端设备,以使HTTP请求重定向至路由器的配置界面HTTP服务器;
请求修改模块,用于对HTTP请求增加包含有LAN IP的NAT规则,以使HTTP请求重定向至路由器的配置界面HTTP服务器。
在上述的进入路由器配置界面的便捷系统中,所述配置界面HTTP服务器包括检测模块,用于检测HTTP请求的头部与路由器的域名/LAN IP是否一致,若不一致,则判定为配置界面请求,向所述终端设备返回一个重定向报文以触发终端设备调出配置界面弹窗。
本发明相较于现有技术具有以下优点:按下一个案件后,终端设备上能够自动弹出路由器配置界面,省去用户手动搜索步骤,极大地提升用户体验。
附图说明
图1是现有技术中调出配置界面的实现原理图;
图2是本发明实施例一的方法流程图;
图3是本发明实施例一详细步骤流程图;
图4是本发明实施例二增加的iptable规则;
图5是本发明实施例三的结构框图;
图6是本发明实施例三中无线断开处理模块的关键实现命令;
图7是本发明实施例三HTTP重定向代码示意图;
图8本发明实施例三中针对如图7所示的HTTP报文返回的内容;
图9是本发明实施例四的结构框图。
附图标记:路由器1;配置界面HTTP服务器11;检测模块111;重定向模块12;DNS拦截模块121;域名解析模块122;请求修改模块123;无线断开处理模块13;按键模块14;按键电路141;按键程序142;终端设备2。
具体实施方式
虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。各项操作的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。
这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。当一个单元被称为“连接”或“耦合”到另一单元时,其可以直接连接或耦合到所述另一单元,或者可以存在中间单元。
这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
本发明用于无线通信技术领域中无线路由器的配置,解决了现有技术中进入配置界面复杂,对于普通用户来说配置不方便等问题,以下是本发明的优选实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明不限于这些实施例。
实施例一
对于路由器配置界面的调出,当前业界做法没有考虑用户体验问题,只是在说明书上说明了如何进入路由器的配置管理界面,时间一长,用户很可能找不到说明书,即使找到了也如上文所述,操作过程繁琐,用户体验差。其实现的技术原理如图1所示:
1.用户打开浏览器,在浏览器的地址栏输入路由器的配置管理地址,以斐讯的路由器为例为“http://p.to”;
2.路由器系统中运行了一个HTTP服务器,对浏览器的请求进行处理,包括路由器的状态、配置查看和修改。
在此过程之前,用户需要完成3件事:
1.知道浏览器是什么,找到浏览器程序,手动点击打开;
2.知道路由器的域名/LAN IP是什么;
3.在浏览器的地址栏输入“http://路由器的域名/LAN IP”。
对于专业人员来说以上可能不是问题,但是对于普通用户来说,浏览器、路由器域名/LAN IP、输入“http://路由器的域名/LAN IP”都有技术障碍,操作流程也比较复杂。本实施例为了解决此问题提出了一种新的解决方案,最终要达到的效果是:用户按下路由器1上的一个按键后,相应的终端设备2能够自动弹出路由器1配置界面,省去上述三步,极大提升用户体验。
具体方法如下:
如图2所示,本实施例进入路由器1配置界面的便捷方法,包括:
S1.判断是否有按键事件,若有,则断开所有与路由器1连接的终端设备2,以触发所述终端设备2的网络连通性检测;
S2.接收一个或多个终端设备2进行网络连通性检测过程中的HTTP请求;
S3.对所述终端设备2的HTTP请求重定向至路由器1的配置界面HTTP服务器11,以使所述终端设备2弹出路由器1的配置界面。
具体地,在步骤S1中的按键事件由用户操作位于路由器1上的按键触发;并且,这里通过调用路由器1的无线驱动接口断开与所有终端设备2的连接关系。
进一步地,按键连接于控制芯片的输入/输出端口,并且通过以下方法判断是否有按键事件:监听所述输入/输出端口的电平信号是否发生变化,若是,则判断存在按键事件。
进一步地,本实施例步骤S3具体包括:
拦截所述终端设备2发送的HTTP请求的DNS查询报文,将所述DNS查询报文解析为路由器1的LAN IP,并将所述LAN IP返回给所述终端设备2,以使HTTP请求重定向至路由器1的配置界面HTTP服务器11。
进一步地,步骤S3中还包括:
在处理HTTP请求之前先检测HTTP请求的头部与路由器1的域名/LAN IP是否一致,若不一致,则判定为配置界面请求,向所述终端设备2返回一个重定向报文以触发终端设备2调出配置界面弹窗。通过该步骤,能够使用重定向报文告知终端设备2当前网络需要更多操作,以避免终端设备2进行连续的连通性检测而进入死循环,同时触发其调出用于显示从配置界面HTTP服务器11中返回的配置界面的配置界面弹窗。
如图3所示,为了更清楚地说明本实施例方法,下面对每个步骤进行详细说明:
1、首先,用户按下路由器1上的一个按键,按下按键的主要目的就是通过按键事件来告知路由器1接下来用户需要便捷地进入配置界面;
2、路由器1上的按键被按下后,通过netlink(内核和用户层进程间通信的一种方法)将按键事件发送给应用层,应用层有个监听程序来监听这些事件,监听程序可以为hotplug2程序等,当监听程序接收到按键事件后,执行对应事件钩子(所有事件的钩子放在/etc/hotplug.d/目录下),这里我们在/etc/hotplug.d/目录下定义此按键的按下事件执行如下操作:
打开DSN拦截功能,拦截经由路由器1所有的DNS查询报文;触发无线驱动接口断开所有终端设备2触发其重连;
4、调用无线驱动提供的接口,断开所有当前已连接的终端设备2,以触发终端设备2重新进行网络连通性检测;
5、终端设备2发现自己被路由器1断开连接后,会尝试重新进行连接;
6、终端设备2连接成功后,终端设备2(Android、iOS、windows)有个机制,在无线连通后都会进行网络连通性检测,这里检测的方法是发送一个HTTP请求报文,看能否收到正常的HTTP 200的回复,如果能,则认为网络是连通没问题的,如果收到HTTP 302重定向的回复,说明当前网络需要更多的操作,触发终端设备2自动打开浏览器弹出路由器1的配置界面。不同操作系统的终端设备2发送的HTTP请求可能不一致,但是原理都是一样的,比如Android的终端设备2都会发送
“http://connectivitycheck.android.com/generate_204”请求,请求的域名是connectivitycheck.android.com,首先终端设备2会先发送DNS查询报文去查询
“connectivitycheck.android.com”对应的IP地址,这个DNS查询报文会经过路由器1转发,然后路由器1拦下DNS查询报文,并向终端设备2返回路由器1的LAN口IP地址,所以“connectivitycheck.android.com”的DNS解析结果变成了路由器1的LAN IP。接着终端设备2发送HTTP请求(GET/generate_204)到配置界面HTTP服务器11以使路由器1向终端设备2返回路由器1的配置界面;
7、在对HTTP请求之前,路由器1先对HTTP头部进行检测,发现HTTP头部的Host(Host:connectivitycheck.android.com)和路由器1的域名/LAN IP不一致(比如斐讯路由器1的域名为“p.to”,IP为“192.168.2.1”),据此可以知道是DNS拦截的情况,所以返回一个HTTP 302重定向报文,能够防止死循环,同时触发终端设备2调出配置界面弹窗;
8、无线终端收到HTTP 302重定向报文后,触发配置界面弹窗,自动打开终端设备2的默认浏览器,进入路由器1配置界面;
9、登录路由器1配置界面成功,说明用户已经进入了路由器1配置界面,用户可查看、配置路由器,然后关闭DNS拦截功能,整个过程结束。
实施例二
本实施例与实施例一类似,不同之处在于,本实施例不是通过改变DNS查询报文的解析结果使HTTP请求重定向至配置界面HTTP服务器11而自动获得配置界面,而是通过以下步骤:
使用iptable匹配HTTP请求(TCP数据包并且是80端口),然后对HTTP请求增加一条包含有LAN IP的NAT规则,转到LAN IP,以使HTTP请求重定向至路由器1的配置界面HTTP服务器11,增加的iptable规则如图4所示。
实施例三
如图5所示,本实施例公开了一种进入路由器1配置界面的便捷系统,包括路由器1,所述路由器1包括有配置界面HTTP服务器11、重定向模块12、无线断开处理模块13和按键模块14,其中,
配置界面HTTP服务器11,用于处理发送到路由器1的HTTP请求,并向终端设备2返回配置界面;
重定向模块12,用于重定向终端设备2的HTTP请求至路由器1的配置界面HTTP服务器11,以使所述终端设备2弹出路由器1的配置界面;
无线断开处理模块13,用于断开所有与路由器1连接的终端设备2,以触发所述终端设备2的网络连通性检测;如图6所示为现有技术中某芯片平台下关键的实现命令,其他芯片平台类似,本领域技术人员可根据具体芯片作相应更改。
按键模块14,用于触发按键事件,以及判断按键事件的发生,并在安键事件发生时触发所述重定向模块12和所述无线断开处理模块13。
具体地,按键模块14包括按键电路141和按键程序142,所述按键电路141包括连接于控制芯片的输入/输出端口的按键,所述按键程序142用于监听所述输入/输出端口的电平信息,并根据电平信号判断是否有按键事件。
进一步地,所述重定向模块12包括DNS拦截模块121和域名解析模块122,其中,
DNS拦截模块121,用于拦截终端设备2发送的HTTP请求的DNS查询报文;DNS拦截模块121供按键模块14调用,当按键模块14判断有按键事件发生时便调用本DNS模块以启动DNS拦截功能,并在用户登录路由器1配置界面成功后,关闭DNS拦截模块121。
其实现流程是:
在内核中,拿到数据链路层的数据包,不断剥离数据包尝试判断这个包是不是UDP报文53端口的DNS查询报文,如果是则包不进行转发,直接回复DNS应答报文,DNS应答结果为路由器1的LAN IP,否则正常转发。
域名解析模块122,用于将所述DNS查询报文解析为路由器1的LAN IP,并将所述LAN IP返回给所述终端设备2,以使HTTP请求重定向至路由器1的配置界面HTTP服务器11。
进一步地,所述配置界面HTTP服务器11包括检测模块111,用于在处理所有请求之前,先检测HTTP请求的Host字段与路由器1的域名/LAN IP是否一致,若不一致,则判定为配置界面请求,向终端设备2返回一个重定向报文以触发终端设备2调出配置界面弹窗。如图7所示,这个HTTP请求的Host字段为connect.rom.miui.com”,并不是当前路由器1的域名(“p.to”)或者LAN IP(192.168.2.1),所以我们这里返回如图8所示的内容。
实施例四
如图9所示,本实施例与实施例三类似,不同之处在于本实施例的重定向模块12包括请求修改模块123,用于对HTTP请求增加包含有LAN IP的NAT规则,以使HTTP请求重定向至路由器1的配置界面HTTP服务器11。
本文中所描述的具体实施例仅仅是对本发明作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
此外,尽管本文较多地使用了路由器1;配置界面HTTP服务器11;检测模块111;重定向模块12;DNS拦截模块121;域名解析模块122;请求修改模块123;无线断开处理模块13;按键模块14;按键电路141;按键程序142;终端设备2等术语,但并不排除使用其它术语的可能性。使用这些术语仅仅是为了更方便地描述和解释本发明的本质把它们解释成任何一种附加的限制都是与本发明精神相违背的。