CN106506572B - 路由器及路由器推送本地信息的方法 - Google Patents

路由器及路由器推送本地信息的方法 Download PDF

Info

Publication number
CN106506572B
CN106506572B CN201510564368.5A CN201510564368A CN106506572B CN 106506572 B CN106506572 B CN 106506572B CN 201510564368 A CN201510564368 A CN 201510564368A CN 106506572 B CN106506572 B CN 106506572B
Authority
CN
China
Prior art keywords
http
message
local information
request message
http request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510564368.5A
Other languages
English (en)
Other versions
CN106506572A (zh
Inventor
张明波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Microbox Internet Co.,Ltd.
Original Assignee
Shenzhen Touch Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Touch Technology Co Ltd filed Critical Shenzhen Touch Technology Co Ltd
Priority to CN201510564368.5A priority Critical patent/CN106506572B/zh
Publication of CN106506572A publication Critical patent/CN106506572A/zh
Application granted granted Critical
Publication of CN106506572B publication Critical patent/CN106506572B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开一种路由器推送本地信息的方法,包括步骤:接收http请求报文;根据预设的本地信息植入规则判断http请求报文是否需要反馈植入本地信息;若http请求报文是需要反馈植入本地信息,则修改http请求报文头部以删除Accept‑Encoding属性;并将已修改的http请求报文发送给WEB服务器;接收WEB服务器回应请求的http回应报文,根据预设本地信息植入规则,在http回应报文的</body>或</html>标记前插入本地信息的javascripts脚本链接;并发送已修改的http回应报文给用户端,采用上述路由器推送本地信息的方法,可保证用户正常使用网络的同时实现本地信息的推送。此外,本发明还公开使用该方法的路由器。

Description

路由器及路由器推送本地信息的方法
技术领域
本发明涉及一种通信领域,尤其涉及一种路由器及路由器推送本地信息的方法。
背景技术
目前市面上的基于路由器的广告植入大多都是强制式的,即在用户使用免费wifi之前强制让用户观看广告视频或将用户对于网页的请求重定向到广告页面,待用户浏览完广告后才能正常使用网络,此类技术降低了用户的体验效果,不能满足既不影响用户的正常上网,同时又能实现商业wifi的广告植入的需求。
发明内容
有鉴于此,实有必要提供一种路由器及利用该路由器在实现不影响用户连接wifi浏览网页的同时推送本地信息的方法。
一种路由器推送本地信息的方法,包括如下步骤:接收客户端发送的http请求报文;根据预设的本地信息植入规则判断http请求报文是否需要反馈植入本地信息,所述预设的本地信息植入规则中包括待推送的本地信息的javascripts脚本链接;若http请求报文是需要反馈植入本地信息,则修改http请求报文头部以删除http请求报文http头部Accept-Encoding属性:将已修改的http请求报文发送给WEB服务器;接收WEB服务器发送的WEB服务器回应请求的http回应报文;根据预设本地信息植入规则,在http回应报文的</body>或</html>标记前插入本地信息的javascripts脚本链接;并发送已修改的http回应报文给用户端。
一种路由器,所述路由器包括接收单元、第一检测单元、修改单元以及发送单元,所述接收单元用于接收客户端发送http请求报文;所述第一检测单元用于根据预设的本地信息植入规则来判断http请求报文是否需要反馈植入本地信息;且所述预设的本地信息植入规则中包括待推送的本地信息的javascripts脚本链接;所述修改单元用于当第一检测单元判断http请求报文需要反馈植入本地信息时,修改http请求报文头部以删除请求报文http头部Accept-Encoding属性;所述发送单元用于发送已修改的http请求报文发送给WEB服务器;所述接收单元还用于接收WEB服务器发送的WEB服务器回应请求的http回应报文;所述修改单元还用于根据预设本地信息植入规则,在http回应报文的</body>或</html>字段后插入本地信息的javascripts脚本链接;所述发送单元还用于发送已修改的http回应报文给用户端。
基于上述路由器及路由器推送本地信息的方法,用户正常使用网络的同时,又能植入本地信息让用户浏览目标网址同时看到所植入的本地信息,即实现wifi商业价值的同时保证了用户的较佳体验。
附图说明
图1为本实施方式路由器推送本地信息的系统的功能模块图。
图2为本实施方式路由器推送本地信息的方法的流程图。
图3为本实施方式中图2的ORG方向的子流程图。
图4为本实施方式中图2的ORG方向的子流程图。
具体实施方式
下面将结合本发明实施方式中的附图,对实施方式中的技术方案进行清楚、完整的描述。
请参看图1,其为路由器推送本地信息的系统的功能模块图。该路由器推送本地信息的系统1包括路由器10、用户端20以及WEB服务器30。当用户端20接入wifi网络后,用户端20访问WEB服务器30的请求报文经由路由器10转发给相应的WEB服务器30;而WEB服务器30回应用户请求的回应报文也经由路由器10转发给用户端20。在路由器10分别转发请求报文和回应报文给相应的WEB服务器30和用户端20过程中,路由器10通过修改请求报文以及回应报文,实现本地信息的植入。本实施方式中,选择http get请求报文和http回应报文。
路由器10包括接收单元101、第一检测单元102、第二检测单元103、修改单元104以及发送单元105。
本实施方式中,路由器是基于linux内核来实现的,且linux内核的网络协议栈采用了netfilter框架。其中,报文从进入路由器到离开路由器流程为:报文从链路层进入prerouting点即数据进来点后,路由器会判断是否是访问本地路由器的报文,若报文不是访问本地路由器的则会进入forward点,然后进入postrouting即数据出去点将报文从路由器发出。本实施方式是通过在forward点修改进入路由器的http get请求报文和http回应报文以实现本地信息植入以及推送。其主要通过在forward hook挂载钩子函数实现本地信息植入。其中钩子函数的处理流程分为ORG方向以及REP方向,ORG方向为用户端20发送请求报文给WEB服务器30方向;REP方向为WEB服务器30发送回应报文给用户端20方向。
接收单元101用于接收进入路由器的报文,其包括用户端20访问WEB服务器30的http get请求报文以及WEB服务器30回应用户的请求的http回应报文。具体地,http get请求报文和http回应报文均从链路层进入prerouting点。
接收单元101还用于接收管理员发送的预设的本地信息植入规则。其中本地信息植入规则包括植入信息的目的主机,即目的主机的MAC地址或者IP地址、目的主机的目标网址,即用户访问哪些网址时向其植入本地信息、该本地信息植入次数以及本地信息的javascripts脚本链接。
第一检测单元102用于判断接收单元101接收的报文是http get请求报文还是http回应报文,以及还用于在ORG方向即用户端20发送http get请求报文给WEB服务器30方向,检测判断http get请求报文是否是访问路由器本地的报文、根据预设的本地信息植入规则检测判断http get请求报文是否需要反馈植入本地信息以及路由器对http get请求报文在修改过程中的检测判断,其包括判断http get请求报文的http头部accept的属性是否是html或sthml、判断http get请求报文的http头部是否有Accept-encoding的属性。
修改单元104用于根据第一检测单元102检测判断的http get请求报文的http头部存在Accept-encoding属性的结果,删除http get请求报文的http头部Accept-encoding的属性。因为“Accept-Encoding”属性意为要求服务器对于http get请求的回应必须是压缩的,如果服务器回应的报文若是压缩的,则就无法向其中植入本地信息,因此,在ORG方向流程中,当第一检测单元102检测http get请求报文的http头部有Accept-encoding的属性的结果,需要修改删除http get请求报文的http头部Accept-encoding的属性以取消压缩字段。
此外,在ORG方向流程中,修改单元104还用于在http get请求报文所属的连接跟踪里标注可植入本地信息的标记。具体地,可植入本地信息的标记的设定是为了在REP方向流程里,可根据该可植入本地信息标记决定是否要对http回应报文进行修改。
第二检测单元103用于检测REP方向即WEB服务器30发送http回应报文给用户端20方向,判断http回应报文是否是访问路由器本地的报文、判断http回应报文所属的连接跟踪中是否有可植入本地信息的标记、判断http回应报文所属的连接跟踪中是否有已植入本地信息的标记、以及路由器在http回应报文修改过程中的检测判断包括判断http回应报文是否是WEB服务器20对请求回应的首个数据包、判断http回应报文是否是WEB服务器20对请求回应的最后一个数据包、判断http回应报文的http头部accept的属性是否是html或sthml以及还用于检测判断所接受的WEB服务器对请求回应的http回应报文中有没有</body>或</html>字段。
修改单元104还用于修改http回应报文的http头部的Content-Length属值以使Content-Length属值增加插入的本地信息javascripts脚本链接的信息长度、重新生成两个http回应报文并在其中</body>或</html>标记前插入预设本地信息植入规则中的本地信息链接以及还用于在http回应报文所属连接跟踪里标注已植入本地信息的标记。具体地,实现本地信息植入通过在http回应报文的</body>或</html>标记前插入一个javascripts脚本的链接才可实现本地信息告植入,因此修改单元104重新生成两个http回应报文,其中两个http回应报文的信息包括原报文的信息以及插入的本地信息链接。此外,而插入一个本地信息的javascripts脚本的链接将会使得用户端30请求的网页文件的大小改变,而Content-Length属值代表了请求网页的大小,因此,要在原有的请求的网页文件的长度大小的基础上加上要插入的javascripts信息长度,故又由修改单元104修改Content-Length属值。当成功植入本地信息后,在http回应报文所属的连接跟踪中打上已植入本地信息的标记,可避免后续同一会话的报文重走REP方向流程。
修改单元104还用于当第二检测单元103判断出回应报文不是WEB服务器请求回应的首个数据包时,将根据所修改的Content-Length属值而对所述接收到的数据包重新编排序列号。
发送单元105用于发送已被修改的http get请求报文给WEB服务器30以及已修改的http回应报文给用户端20。本实施方式中,http get请求报文和http回应报文在forward点修改处理完毕后,将进入postrouting点处理,经链路层分别发送给WEB服务器30和用户端20。
请参看图2,其为路由器推送本地信息方法的流程图。
步骤S201,接收报文。具体地,报文通过链路层进入网络层的prerouting点。
步骤S202,判断所接收的报文为请求报文或者回应报文。若判断所接收的报文为请求报文,则进行步骤S203;若判断接收的报文为回应报文,则进行步骤S208。本实施方式中,请求报文为http get请求报文;回应报文为http回应报文。
步骤S203,判断http get请求报文是否是访问路由器本地的报文,若http get请求报文是访问路由器本地的报文,则直接放行;若http get请求报文不是访问路由器本地的报文,则进行步骤S204。具体地,http get请求报文进入网络层的prerouting点后,路由器将判断http get请求报文的目的IP是否为路由器本机IP。若判断http get请求报文不是访问本地路由器的报文,则进行后续步骤S204;若判断http get请求报文是访问本地路由器的报文,则直接放行。例如,用户端访问的是百度,则该请求的数据不是到路由器本地的,则将进入到forward点,进行本地信息植入所需步骤。
步骤S204,根据预设的本地信息植入规则判断http get请求报文是否需要反馈植入本地信息,若http get请求报文是需要反馈植入本地信息,则进行步骤S205,若http get请求报文不需要反馈植入本地信息,则直接放行。具体地,预设的本地信息植入规则包括植入该本地信息的目的主机的MAC地址或者IP地址、目的主机的目标网址以及该本地信息植入次数,只有当判断http get请求报文有与上述规则中的内容匹配才反馈植入本地信息。
步骤S205,修改http get请求报文以删除请求报文http头部Accept-Encoding属性,具体地,http get请求报文中http头部包含”Accept-Encoding”属性,意为要求服务器对于http get请求的回应必须是压缩的。但是如果服务器回应的报文是压缩的就无法向其中植入本地信息,所以判断出http get请求报文中http头部包含“Accept-Encoding”属性,则路由器上首先要修改这个删除“Accept-Encoding”属性。
步骤S206,给http get请求报文所属的连接跟踪里标注可植入本地信息的标记,具体地,标注可植入本地信息的标记的设定是为了在REP方向流程里,可根据该可植入本地信息的标记决定是否要对http回应报文进行修改。
步骤S207,将已被修改的http get请求报文转发给WEB服务器。具体地,上述步骤S203到步骤S207表示ORG方向的流程,即路由器修改了用户端发送给WEB服务器方向的httpget请求报文,并将修改后的http get请求报文转发给WEB服务器。而当WEB服务器接httpget收请求报文后,将针对http get请求报文的内容回应,并发出http回应报文要给用户端,因而,该http回应报文也有路由器转发给用户端方向的流程为REP方向流程,即步骤S208到步骤S219。
步骤S208,根据步骤S202所判断接收的报文为http回应报文后,判断http回应报文是否是访问路由器本地的报文,若http回应报文是访问路由器本地的报文,则直接放行;若http回应报文不是访问路由器本地的报文,则进行步骤S209。具体地,路由器接收到http回应报文后,将判断http回应报文的目的IP是否为路由器本机IP,若http回应报文的目的IP不是路由器本机IP,则进入到forward点,进行后续步骤;若http回应报文的目的IP是路由器本机IP,则直接放行。
步骤S209,判断http回应报文所属连接跟踪里是否有可植入本地信息的标记,若http回应报文所述连接跟踪里有可植入本地信息的标记,则进行步骤S210;若http回应报文所述连接跟踪里没有可植入本地信息的标记,则直接放行。具体地,根据报文找到所属的连接跟踪,然后再检查该连接跟踪里是否有之前在ORG方向上打上的可植入本地信息的标记。
步骤S210,判断http回应报文所述连接跟踪里是否有已植入本地信息的标记,若http回应报文所述连接跟踪里有已植入本地信息的标记,则直接放行;若http回应报文所述连接跟踪里没有已植入本地信息的标记,则进行步骤S211。
步骤S211,判断回应报文是否是WEB服务器对请求回应的首个数据包,若回应报文是WEB服务器对请求回应的首个数据包则进行步骤S212;若回应报文不是WEB服务器对请求回应的首个数据包,则进行步骤S214。具体地,因为http get请求的网页文件的大小不同,当http get请求的页面大于WEB服务器的MSS值时,WEB服务器将回应报文分几个分段报文以多个数据包形式依次将发出,且将前面几个分段报文的tcp头部的psh标记为0,最后一个分段报文报文的TCP头部的psh字段为1,因此,回应报文以一个或者多个分段报文的形式从WEB服务器发送出去。例如,用户端发起http get请求upgrade.html页面,而upgrade.html页面大于服务器的MSS值,于是服务器将upgrade.html页面分几个报文依次发送,TCP头部的psh字段为1的表示这upgrade.html页面的最后一个报文。此外,在TCB协议栈中通过报文的TCP头部的确认号Acknowledgment number以及序列号sequence numbler来确认http回应报文是WEB服务器对请求回应的哪个数据包即哪个分段报文,其中确认号Acknowledgment number为当前端成功接收的数据位数,序列号sequence numbler当前端成功发送的数据位数。
步骤S212,判断http回应报文的http头部accept属性是否为html或shtml;若http回应报文的http头部accept属性不是html或shtml,则放行数据;若http回应报文的http头部accept属性是html或shtml,则进行步骤S213。
步骤S213,修改http回应报文http头部Content-Length属值。具体地,Content-Length属值代表http get请求的网页文件大小,因为要插入本地信息的内容,所以网页文件大小会改变,所以需要修改该属值,以使Content-Length属值增加插入的本地信息javascripts脚本链接的信息长度。
步骤S214,当步骤S211判断回应报文不是WEB服务器对请求回应的首个数据包,则重新编排该数据包的序列号。具体地,因为根据本地信息javascripts脚本链接的信息长度修改了第一数据包中的Content-Length属值,所以需要编排除第一数据包外的其他数据包的序列号。
步骤S215,判断http回应报文是否是WEB服务器对请求回应的最后一个数据包,若http回应报文是WEB服务器对请求回应的最后一个数据包,则进行步骤S216;若http回应报文不是WEB服务器对请求回应的最后一个数据包,则直接放行。具体地,通过检测TCP头部的psh字段是否为1来检测回应报文是否是WEB服务器对请求回应的最后一个数据包,当路由器检测到http回应报文的TCP头部psh标记是为1,则表示已全部接收用户端请求访问页面的数据。
步骤S216,判断所接收的WEB服务器对请求回应的http回应报文的内容是否有</body>或</html>字段。若所接收的WEB服务器对请求回应的http回应报文的内容中没有</body>或</html>字段,则放行数据;若所接收的WEB服务器对请求回应的http回应报文的内容有</body>或</html>字段,则进行步骤S217。
步骤S217,修改回应报文,根据预设的本地信息植入规则插入本地信息的javascripts脚本链接,具体地,重新生成第一报文和第二报文,第一报文复制原报文</body>或</html>前内容,即源IP和目的IP,MAC头部信息;第二报文插入本地信息的javascripts脚本链接,并复制</body>或</html>后的内容,第一报文和第二报文代替原报文。具体地,因为在用户端请求的html文件中</body>或</html>标记前插入一个本地信息的javascripts脚本链接才可实现本地信息植入,譬如,在用户端发起http get请求upgrade.html页面,在该upgrade.html文件中的</body>或</html>标记前插入一个本地信息的javascripts脚本链接才可植入本地信息,例如<scripttype="text/javascript"src="example.js"charset="utf-8"></script>中,example.js脚本即为广告链接。
步骤S218,在http回应报文所属的连接跟踪里标注已植入本地信息的标记。具体地,当成功植入本地信息后,在http回应报文所属的连接跟踪里中标注已植入本地信息的标记,可避免后续同一会话的报文重走REP方向流程。
步骤S219,将已修改的http回应报文转发给用户端。
利用上述流程,路由器在接收请求报文和回应报文后,分别对请求报文和回应报文进行修改,实现了本地信息的植入。
请参看图3,其为路由器推送本地信息方法的在ORG方向中根据预设的本地信息植入规则判断http get请求报文是否需要反馈植入本地信息的子流程图。
步骤S301,判断接收的http get请求报文目的IP或者目的MAC地址是否与预设的本地信息植入规则中的目的IP或者目的MAC地址相同,若http get请求报文目的IP或者目的MAC地址与预设的本地信息植入规则中的目的IP或者目的MAC地址不同,则直接放行;若http get请求报文目的IP或者目的MAC地址与预设的本地信息植入规则中的目的IP或者目的MAC地址相同,则进行步骤S302。具体地,管理员预先向路由器下发本地信息植入规则,规则内容中包括植入该本地信息的目的主机MAC地址或者IP地址、目的主机的目标网址以及该本地信息植入次数。只有当请求报文中包含该规则中的内容才可能被植入该本地信息,因此首先将判断请求报文目的IP或者目的MAC地址是否与预设的本地信息植入规则中的目的IP或者目的MAC地址相同。
步骤S302,判断预设的本地信息植入规则中已植入该本地信息次数是否小于预设次数,若已植入该本地信息次数小于预设次数,则进行步骤S303;若已植入该本地信息次数不小于预设次数,则直接放行。
步骤S303,判断http get请求报文的目标网址URL是否和预设的本地信息植入规则中的目标网址URL相同,若http get请求报文的目标网址URL和预设的本地信息植入规则中的目标网址URL不同,则直接放行;若http get请求报文的目标网址URL和预设的本地信息植入规则中的目标网址URL相同,则代表http get请求报文是需要反馈植入本地信息。具体地,要检测判断http get请求报文和本地信息植入规则的目的主机的目标网址是否相同,因为只有用户访问的是目标网址时才向其植入本地信息。
请参看图4,其为路由器推送本地信息方法的在ORG方向中修改http get请求报文以删除请求报文http头部Accept-Encoding属性步骤的子流程图。
步骤S401,判断所接收的http get请求报文的http头部accept属性是否为html或shtml,若所接收的http get请求报文的http头部accept属性为html或shtml,则进行步骤S402,;若所接收的http get请求报文的http头部accept属性不是html或shtml,则直接放行。具体地,路由器要判断http get请求是否为html或shtml类型,是因为http头部中的”accept”属性为“text/html”才可以植入本地信息。
步骤S402,判断http get请求报文http头部是否有Accept-Encoding属性,若httpget请求报文http头部有Accept-Encoding属性,则进行步骤S403。
步骤S403,删除http get请求报文http头部的Accept-Encoding属性。具体地,因为“Accept-Encoding”属性为要求服务器对于http get请求的回应必须是压缩的。但是如果服务器回应的报文是压缩的就无法向其中植入本地信息,所以判断出报文中http头部包含“Accept-Encoding”属性,则路由器上首先要修改这个删除属性“Accept-Encoding”。
利用上述流程,路由器已成功的修改用户端与WEB服务器之间的交互报文,实现了本地信息的植入。且实现本地信息的植入的同时也不影响用户端原对WEB服务器访问。
对所公开实例的上述说明,使得本技术领域专业人员能够实现或者使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点一致的最宽范围。

Claims (8)

1.一种路由器推送本地信息的方法,其特征在于,包括如下步骤:
接收用户端发送的http请求报文;
根据预设的本地信息植入规则判断http请求报文是否需要反馈植入本地信息,所述预设的本地信息植入规则中包括待推送的本地信息的javascripts脚本链接;
若http请求报文是需要反馈植入本地信息,则修改http请求报文头部以删除http请求报文http头部Accept-Encoding属性:
将已修改的http请求报文发送给WEB服务器;
接收WEB服务器发送的WEB服务器回应请求的http回应报文;
根据预设本地信息植入规则,在http回应报文的</body>或</html>标记前插入本地信息的javascripts脚本链接;
发送已修改的http回应报文给用户端。
2.如权利要求1所述的路由器推送本地信息的方法,其特征在于,所述根据预设的本地信息植入规则判断http请求报文是否需要反馈植入本地信息的步骤包括:
判断接收的http请求报文目的IP或者目的MAC地址是否与预设的本地信息植入规则中的目的IP或者目的MAC地址相同;
若http请求报文目的IP或者目的MAC地址与预设的本地信息植入规则中的目的IP或者目的MAC地址相同,则判断预设的本地信息植入规则中已植入该本地信息次数是否小于预设次数;
若预设的本地信息植入规则中已植入该本地信息次数小于预设次数,则判断http请求报文的目标网址URL是否和预设的本地信息植入规则中的目标网址URL相同;
若http请求报文的目标网址URL和预设的本地信息植入规则中的目标网址URL相同,判断出所述http请求报文需要反馈植入本地信息。
3.如权利要求1所述的路由器推送本地信息的方法,其特征在于,修改http请求报文头部以删除http请求报文http头部Accept-Encoding属性的步骤包括:
判断http请求报文的http头部的accept属性是否是html或shtml;
若http请求报文的http头部的accept属性是html或shtml,则判断http请求报文http头部是否有Accept-Encoding属性;
若http请求报文http头部有Accept-Encoding属性,则删除http请求报文http头部的Accept-Encoding属性;
若http请求报文http头部没有Accept-Encoding属性,则将所述http请求报文发送给WEB服务器。
4.如权利要求1所述的路由器推送本地信息的方法,其特征在于,若http回应报文包括多个数据包时,还包括步骤:
当接收到所述http回应报文的首个数据包时,判断http回应报文的http头部的accept属性是否是html或shtml;
若http回应报文的http头部的accept属性是html或shtml,则修改http回应报文的http头部的Content-Length属值,以使Content-Length属值增加插入的本地信息javascripts脚本链接的信息长度;
当接收到所述http回应报文的数据包不是首个数据包时,根据Content-Length属值重新对所述接收到的数据包编排序列号;
当接收到的http回应报文的数据包为最后一个数据包时,判断所接收的http回应报文中是否有</body>或</html>字段;
若接收的http回应报文有</body>或</html>字段,重新生成第一报文和第二报文,第一报文复制原报文</body>或</html>前面的内容,第二报文插入本地信息的javascripts脚本链接,并复制</body>或</html>后面的内容。
5.一种路由器,其特征在于,所述路由器包括接收单元、第一检测单元、修改单元以及发送单元,
所述接收单元用于接收用户端发送http请求报文;
所述第一检测单元用于根据预设的本地信息植入规则来判断http请求报文是否需要反馈植入本地信息;且所述预设的本地信息植入规则中包括待推送的本地信息的javascripts脚本链接;
所述修改单元用于当第一检测单元判断http请求报文需要反馈植入本地信息时,修改http请求报文头部以删除请求报文http头部Accept-Encoding属性;
所述发送单元用于将已修改的http请求报文发送给WEB服务器;
所述接收单元还用于接收WEB服务器发送的WEB服务器回应请求的http回应报文;
所述修改单元还用于根据预设本地信息植入规则,在http回应报文的</body>或</html>标记前插入本地信息的javascripts脚本链接;
所述发送单元还用于发送已修改的http回应报文给用户端。
6.如权利要求5所述的路由器,其特征在于,所述第一检测单元还用于检测判断http请求报文目的IP或者目的MAC地址是否与预设的本地信息植入规则中的目的IP或者目的MAC地址相同,和用于判断预设的本地信息植入规则中已植入该本地信息次数是否小于预设次数,以及还用于判断http请求报文的目标网址URL是否和预设的本地信息植入规则中的目标网址URL相同。
7.如权利要求5所述的路由器,其特征在于:
所述第一检测单元用于检测判断http请求报文的http头部的Accept属性是否是html或shtml;以及还用于判断http请求报文http头部是否有Accept-Encoding属性;
所述修改单元还用于当所述第一检测单元检测出若http请求报文http头部有Accept-Encoding属性时,删除http请求报文http头部的Accept-Encoding属性;
所述发送单元还用于当所述第一检测单元检测出若http请求报文http头部没有Accept-Encoding属性时,发送所述http请求报文给WEB服务器。
8.如权利要求5所述的路由器,其特征在于,所述路由器还包括第二检测单元,
所述第二检测单元用于当接收到所述http回应报文的首个数据包时,判断http回应报文的http头部的accept属性是否是html或shtml;
所述修改单元用于当所述第二检测单元判断出所述http回应报文的http头部的accept属性是html或shtml,修改http回应报文的http头部的Content-Length属值,以使Content-Length属值增加插入的本地信息javascripts脚本链接的信息长度;
所述修改单元还用于当所接收到所述http回应报文的数据包不是首个数据包时,根据Content-Length属值重新对所述接收到的数据包编排序列号;
所述第二检测单元还用于当接收的所述http回应报文的数据包为最后一个数据包时,判断所接收的http回应报文中是否有</body>或</html>字段;
所述修改单元还用于当第二检测单元判断出所接收的所述http回应报文有</body>或</html>字段,重新生成第一报文和第二报文,第一报文复制原报文</body>或</html>前面的内容,第二报文插入本地信息的javascripts脚本链接,并复制</body>或</html>后面的内容。
CN201510564368.5A 2015-09-07 2015-09-07 路由器及路由器推送本地信息的方法 Active CN106506572B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510564368.5A CN106506572B (zh) 2015-09-07 2015-09-07 路由器及路由器推送本地信息的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510564368.5A CN106506572B (zh) 2015-09-07 2015-09-07 路由器及路由器推送本地信息的方法

Publications (2)

Publication Number Publication Date
CN106506572A CN106506572A (zh) 2017-03-15
CN106506572B true CN106506572B (zh) 2019-06-14

Family

ID=58287513

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510564368.5A Active CN106506572B (zh) 2015-09-07 2015-09-07 路由器及路由器推送本地信息的方法

Country Status (1)

Country Link
CN (1) CN106506572B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107483554A (zh) * 2017-07-25 2017-12-15 中天宽带技术有限公司 基于onu的网络流量进行机器学习定向广告的推送系统和方法
CN110266746B (zh) * 2019-03-29 2022-04-29 星融元数据技术(苏州)有限公司 一种信息推送方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101610268A (zh) * 2009-07-16 2009-12-23 杭州华三通信技术有限公司 一种关键字过滤的实现方法和设备
CN102761554A (zh) * 2012-07-24 2012-10-31 北京亿赞普网络技术有限公司 向客户端推送信息的方法、装置及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102792292B (zh) * 2009-12-07 2015-12-16 考持·维 站点性能优化和因特网业务处理的系统和方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101610268A (zh) * 2009-07-16 2009-12-23 杭州华三通信技术有限公司 一种关键字过滤的实现方法和设备
CN102761554A (zh) * 2012-07-24 2012-10-31 北京亿赞普网络技术有限公司 向客户端推送信息的方法、装置及系统

Also Published As

Publication number Publication date
CN106506572A (zh) 2017-03-15

Similar Documents

Publication Publication Date Title
US10965770B1 (en) Dynamic optimization of request parameters for proxy server
US7702317B2 (en) System and method to query wireless network offerings
US20070266113A1 (en) Method for cache object aggregation
CN100531158C (zh) 一种无线接入网关支持透明代理的系统及方法
US8312074B2 (en) Method for multipart encoding
US8892768B2 (en) Load balancing apparatus and load balancing method
US8380855B2 (en) HTTP header intermediary for enabling session-based dynamic site searches
EP2629466B1 (en) Method, device and system for forwarding data in communication system
US20020156896A1 (en) System and method for providing a gateway between mobile two-way messaging devices and remote computer networks
CN102437964B (zh) 业务下发方法、装置及通信系统
CN102014053A (zh) 业务下发方法、装置及通信系统
EP3135016B1 (en) Managing sequence values with added headers in computing devices
WO2003015330A2 (en) A system and a method for accelerating communication of tcp/ip based content
US20150127837A1 (en) Relay apparatus and data transfer method
CN101136834B (zh) 一种基于ssl vpn的链接改写方法和设备
CN103888539A (zh) P2p缓存的引导方法、装置及p2p缓存系统
EP1950917B1 (en) Methods for peer-to-peer application message identifying and operating realization and their corresponding devices
US9055113B2 (en) Method and system for monitoring flows in network traffic
CN106506572B (zh) 路由器及路由器推送本地信息的方法
US20050080870A1 (en) System and method for requesting a resource over at least one network with reduced overhead
CN105281987B (zh) 路由器及数据上传方法、装置、系统
EP3389240B1 (en) Method and system for processing cache cluster service
EP3186959B1 (en) Enrichment of upper layer protocol content in tcp based session
CN106330833A (zh) 基于因特网内容适配协议的通信方法、客户端和服务器
CN102932368B (zh) 一种跨网络http安全访问方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240511

Address after: 518000, Building A, Longguang Jiuzuan North Phase A, Hongshan Community, Minzhi Street, Longhua District, Shenzhen City, Guangdong Province, China, 1817

Patentee after: Shenzhen Microbox Internet Co.,Ltd.

Country or region after: China

Address before: 518000, Room 501, 5th Floor, Longtaili Building, No. 30 Gaoxin Middle Fourth Road, Nanshan District, Shenzhen, Guangdong Province

Patentee before: SHENZHEN WIAIR TECHNOLOGY CO.,LTD.

Country or region before: China