• 技术专题:ROS通过TTL值来防止二层路由的最简单办法


    对于防止二层路由的,WAYOS可通过简单拨号王客户端来实现,这个前面我也说明了(ROS也可以),下面我讲一下ROS一个更简单的办法:

     

    概述:

    通过强制设定TTL值来达到防止二层路由的办法。

    原理:

    TTLIP协议包中的一个值,它告诉网络,数据包在网络中的时间是否太长而应被丢弃。有很多原因使包在一定时间内不能被传递到目的地。解决方法就是在一段时间后丢弃这个包,然后给发送者一个报文,由发送者决定是否要重发。TTL的初值通常是系统缺省值,是包头中的8位的域。TTL的最初设想是确定一个时间范围,超过此时间就把包丢弃。经过每个路由器都至少要把TTL值-1TTL通常表示包在被丢弃前最多能经过的路由器个数。当记数到0时,路由器决定丢弃该包,并发送一个ICMP报文给最初的发送者。
    根据这个原理把下载时收到的数据包的TTL改为0,如果用户使用路由器的,它将-1后再发送给给下级用户,而-1是不允许的,所以用路由的能拨上号但上不了网。
    不过这种方法,如果下级路由是用ros的话或可以修改ttl值的路由都能破解,此方法无论是固定ip还是拨号都有效果。

     

    下面是实现代码:

    /ip fi man
    add action=change-ttl chain=forward comment="" disabled=no new-ttl=set:64
    add action=change-ttl chain=forward comment="" disabled=no dst-address=10.198.0.0/16 new-ttl=set:0


    其中的10.198.0.0/16 改为你内网的ip及掩码值

  • 相关阅读:
    C#中List<T>用法
    windows phone中,将crash report记录下来,写入文件,方便分析
    解决问题之,wp项目中使用MatchCollection正则表达式匹配出错
    提问的智慧
    toolkit,phonetextbox中实现用户按回车键会换行
    Hibernate主键生成策略
    hibernate.cfg.xml位置及JDBC配置
    Java与数字签名
    MyEclipse不能编译的一种解决方法
    java读文件和写文件编码方式的控制
  • 原文地址:https://www.cnblogs.com/lome/p/2159039.html
Copyright © 2020-2023  润新知