【技术水】教你攻击并切断他人网络,成为局域网之神
  • 浏览:1689 评论:23 人

  • 再次声明,本人是乖孩子,发此教程只要是为了让大家掌握ARP欺骗攻击的原理,并用java实现它请各位看官不要以身试法!!另外,掌握此原理也可直接令校园网瘫痪。所以千万千万千万不要去随意尝试!!!就算尝试了也不要说是我教的




    ARP攻击原理
    一台电脑通过网络访问另一台电脑的时候,在数据链路层需要知道对方的MAC地址进行真正的物理通信.
    而电脑上的应用程序通常都是根据另一台电脑的IP地址来和对方建立通信,这时候就需要有一个协议将
    IP地址解析到MAC地址,这就是ARP协议.
    而ARP具体过程就是当需要通过IP获取一个远端的的MAC地址的时候,系统会首先检查ARP表中
    是否存在对应的IP地址,如果没有,则发送一个ARP广播,当某一个拥有这个MAC地址的节点
    收到ARP请求的时候,会创建一个ARP reply包,并发送到ARP请求的源节点,
    ARP Reply包中就包含了目的地节点的MAC地址,在源节点接受到这个reply后,
    会将目的地节点的MAC地址保存在ARP缓存表中,下一次再次请求同一 IP地址的时候,
    系统将会从ARP表中直接获取目的地MAC地址,而不需要再次发送ARP广播。
    用ping命令举例来说, 在机器A,比如说IP是192.168.1.2中发出下面的ping命令:
    ping 192.168.1.3,如果192.168.1.3这个MAC地址在机器A的ARP缓存表中不存在,这时候
    机器A就会发送一个ARP广播,当192.168.1.3接到广播后,会给机器A回一个
    ARP Reply包,其中包含了192.168.1.3的MAC地址,这是正常的ARP过程.
    假设IP--MAC的对应关系为(192.168.1.3--00-1C-23-2E-A7-0E)
    但是局域网内的其他机器也可向机器A发一个假的IP--MAC对应关系ARP Reply包,
    机器A接收到这个假的包后同样会更新自己的ARP缓存表.假设发送的为
    (192.168.1.3--00-1C-23-2E-A7-0A,0A实际上为192.168.1.4的MAC地址)
    那么机器A再通过IP往192.168.1.3发送数据的时候,实际上却发到了192.168.1.4这台机器.
    这样就到达了ARP攻击或者叫做ARP欺骗.ARP攻击只能发生在局域网内.




    下面用JAVA代码模拟一下上面说到的ARP欺骗.
    192.168.1.4将一个192.168.1.3的假的MAC地址发给 192.168.1.2.
    需要用到jpcap.jar,这个包是街货,随便找找都能下到,我就不提供下载地址了