ISP 可以用哪些手段检测到用户在使用路由器共享网络
发布网友
发布时间:2022-10-02 13:21
我来回答
共1个回答
热心网友
时间:2023-10-08 17:30
1、利用宽带路由器的snmp功能(161端口),直接查看网内电脑的数量
2、检测网内主机的mac地址确定主机数
3、检测ip数据包中的id选项
4、检测tcp数据包中的时间戳选项
5、利用客户端浏览器的cookies功能识别客户机
说说这几种方法可行性(nat环境):
第一种方法需要网络设备支持snmp才能可行,目前的宽带路由器支持的不多,所以可行但通用性不大。
第二种方法完全不可行,网内的数据包从宽带路由器出去的都是三层以上的数据包,无论nat或是路由都不可能包含有网内电脑的mac地址,所以根本无法测到网内电脑的mac地址,也就无法知道有多少电脑在共享上网。
第三种方法是可行的,一般的nat设备通常只更改了数据包的源地址和端口,不会改ip包中的id选项。一般各台电脑发出去的ip包中第一个id是随机,以后是连续的,例如某一时间段一台电脑发出去的ip包中id是54625-54700,另一台网内电脑的ip id是4562-4600,所以只要截ip包分析一下有多少个连续的ip id就能知道有多少电脑在共享上网。
第四种方法也是可行的,windows系统默认是填写tcp包中的时间戳选项的,因为每台电脑的时间不可能完全相同(除非同步过),所以只要分析某一时刻所有tcp包中的时间戳选项有多少个不同的数值,就能知道有多少台电脑在共享上网。
第五种方法就比较流氓了,需要更改发向客户端的http包内容,从而让客户机的浏览器去访问检测的网页,通过检测的网页在每台客户机上设置不同的cookies值并读取,就可以查到有多少台电脑在共享上网。其原理有点和网页上挂马类似。这种方法也有一定局限性,需要客户机浏览网页才能被检测到。
接下来说说破解办法:
第一种只要关掉设备的snmp功能或者换个不支持snmp的宽带路由器。
第三种方法的破解有点麻烦了,如果路由器够高级或者用的软路由,就把通过路由器出去的ip数据包的id选项改成连续,或者干脆打散,改成全部不连续。还有一个办法就是在内网的每台电脑上把ipid弄成不连续。这两个办法网上都有现成的软件可以用的。
第四种方法的破解可以在网关路由器或者在客户机上把时间戳去掉,windows系统下可以改注册表HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters下的Tcp1323Opts键关闭。或者把每台电脑的时间都同步。
第五种方法的破解可以半闭浏览器的cookies功能,或者把检测网站的ip屏蔽掉。