网站首页/网络技术列表/内容

小米路由器劫持403/404与插入广告的处理方法

网络技术2023-01-29阅读
网络技术是从1990年代中期发展起来的新技术,它把互联网上分散的资源融为有机整体,实现资源的全面共享和有机协作,使人们能够透明地使用资源的整体能力并按需获取信息。资源包括高性能计算机、存储资源、数据资源、信息资源、知识资源、专家资源、大型数据库、网络、传感器等。 当前的互联网只限于信息共享,网络则被认为是互联网发展的第三阶段。

  这些天小米路由器再爆作恶新闻,继前段时间的403/404劫持,现在就连普通上个网页都被劫持了,用来插入小米广告,简直不能忍!小编赶紧结合网上大神以及自己的摸索,找到了暂时能解决小米路由器劫持403/404和插入广告的恶行,之后小米路由器有什么动作,静观其变吧。

小米路由器劫持403/404和插入广告的解决办法 三联

  论坛相继爆料

  可疑启动项和进程分析

  最近几天稍微对小米路由(R1D)上的启动项和进程做了一些分析,初步得到一个稍微干净的小米路由:

  1.1 /etc/init.d/http_client_detect

  在这个启动项里,主要是加载nf_conn_ext_http 和 insmod nf_tcp_proxy 两个内核模块,同时有启动 /usr/sbin/http_dpi

  我还没深入研究,但初步判断小米路由监控用户的HTTP数据,已达到404劫持和插入广告的操作。

  所以这个启动项必须删除掉,抛弃

  1.2 /etc/init.d/rule_mgr

  这个启动项中有http_match , nf_conn_ext_http, nf_tcp_proxy 内核模块

  估计也是辅助劫持所用,抛弃

  1.3 /etc/init.d/http_status_stat

  单从名字上看,应该就是为劫持404所用,抛弃

  1.4 /etc/init.d/statisticsservice

  启动的进程中的配置文件中有一段:ad_filter_stat_url = ":8195/"

  感觉是广告的代理,你说没事去访问8195端口干啥,另外“ad”这个名字,就是广告缩写呀,抛弃

  1.5 /etc/init.d/sysapihttpd

  这是启动http服务器,纯粹启动80端口也就罢了,启动了N个服务和端口,我也就不一一吐槽了

  总之也是为配合404劫持和广告所用,所以需要抛弃。

  如果才启动项禁用掉的话,可能就无法访问小米路由的WEB配置页面了,别担心,可以启动uhttpd来实现。

  1.6 /etc/init.d/mihttpd

  同样是启动小米路由的配置页面,不过不在80端口,抛弃。

  1.7 /etc/init.d/xunlei

  小米路由中的下载用的就是迅雷,如果有下载需求的可以不用停,但我无此需求,看着也不爽,抛弃。

  1.8 /etc/init.d/messagingagent.sh

  此启动项是将路由器一些数据上报给小米服务器,手机app远程访问也就是联系小米服务器获取路由的相关信息。

  具体我也不一一描述了,个人感觉,将一些信息上传给小米,这件事不靠谱。

  虽然打着“远程管理”的幌子,谁知道有无上传个人隐私信息呢。

  如果你还需要用手机APP远程配置路由的话,可以留着。

  操作步骤:

  当然小米路由上还有其他可疑进程,但还未搞清楚其用途或者关联,暂时不去理会。

  这次主要初步解决掉404劫持,插入广告这类问题:

  手上这台小米路由的系统版本是: 开发版2.3.10 ,其他版本未尝试。

  2.1 首先得开启ssh权限,这个不需要多说了,网上教程很多,也可以通过小米官网开启,开启之后就失去保修了,个人衡量。

  2.2 关闭可疑进程操作:

  /etc/init.d/rule_mgr stop

  /etc/init.d/http_client_detect stop

  /etc/init.d/http_status_stat stop

  /etc/init.d/statisticsservice stop

  /etc/init.d/sysapihttpd stop

  /etc/init.d/mihttpd stop

  不需要远程访问和迅雷下载的话,可以继续操作:

  /etc/init.d/messagingagent.sh stop

  /etc/init.d/xunlei stop

  这样的话,以上进程都被关闭掉了。

  2.3 关闭可疑进程开机自动运行:

  /etc/init.d/rule_mgr disable

  /etc/init.d/http_client_detect disable

  /etc/init.d/http_status_stat disable

  /etc/init.d/statisticsservice disable

  /etc/init.d/sysapihttpd disable

  /etc/init.d/mihttpd disable

  不需要远程访问和迅雷下载的话,可以继续操作:

  /etc/init.d/messagingagent.sh disable

  /etc/init.d/xunlei disable

  这样的话,以上进程,重启之后也不会开机运行了

  2.4 启动uhttpd操作:

  因为停掉了sysapihttpd ,小米路由配置WEB将无法访问。

  幸运的是,小米路由上还有uhttpd

  首先修改一下/etc/init.d/uhttpd

  找到 [ $use_uhttpd -eq 0 ] && return 0 这行,大概在倒数第8行的样子,注释掉这一行。

  然后启动uhttpd:

  /etc/init.d/uhttpd start

  并设置开机自动运行:

  /etc/init.d/uhttpd enable

  2.5 计划任务中一些操作也让我存疑

  执行crontab -e 可以注释停掉,目前我计划任务中只保留了ntp,其他项都被我注释掉了。


网络的神奇作用吸引着越来越多的用户加入其中,正因如此,网络的承受能力也面临着越来越严峻的考验―从硬件上、软件上、所用标准上......,各项技术都需要适时应势,对应发展,这正是网络迅速走向进步的催化剂。

……

相关阅读