zoukankan      html  css  js  c++  java
  • arp协议原理

    arp原理:某机器a要向主机b发送报文,会查询本地的arp缓存表,找到b的ip地址对应的mac地址后就会进行数据传输。如果未找到,则广播a一个arp请求报文(携带主机a的ip地址ia——物理地址pa),请求ip地址为ib的主机b回答物理地址pb。网上所有主机包括b都收到arp请求,但只有主机b识别自己的ip地址,于是向a主机发回一个arp响应报文。其中就包含有b的mac地址,a接收到b的应答后,就会更新本地的arp缓存。接着使用这个mac地址发送数据(由网卡附加mac地址)。因此,本地高速缓存的这个arp表是本地网络流通的基础,而且这个缓存是动态的。

    arp欺骗小提示:arp协议并不只在发送了arp请求才接收arp应答。当计算机接收到arp应答数据包的时候,就会对本地的arp缓存进行更新,将应答中的ip和mac地址存储在arp缓存中。因此,当局域网中的某台机器b向a发送一个自己伪造的arp应答,而如果这个应答是b冒充c伪造来的,即ip地址为c的ip,而mac地址是伪造的,则当a接收到b伪造的arp应答后,就会更新本地的arp缓存,这样在a看来c的ip地址没有变,而它的mac地址已经不是原来那个了。由于局域网的网络流通不是根据ip地址进行,而是按照mac地址进行传输。所以,那个伪造出来的mac地址在a上被改变成一个本不存在的mac地址,这样就会造成网络不通,导致a根本不能ping通c!这就是一个简单的arp欺骗。
    网络执法官利用的就是这个原理!

    我们可以通过绑定正确的mac地址来使网络执行官失效,也就是说你要把正确的网关mac地址和ip地址做绑定,使之成为arp缓存的静态表,这样网络执行官就更新不了你的arp缓存了,在你可以正常上网的时候把网关的mac地址记下来,方法如下:
    使用ipconfig /all得到网关ip,再使用 arp -a 网关ip地址 得到正确的网关mac地址
    用 arp -s 网关ip地址 网关的mac地址 绑定ip地址和mac地址
    也可以建个启动脚本,写入 arp -s 网关ip地址 网关的mac地址,这样每次开机都能绑定正确的网关mac地址了!再也不用怕网络执行官了!
  • 相关阅读:
    策略模式(Strategy Pattern)
    责任链模式(Chain of Responsibility Pattern)
    单例模式(Singleton Pattern)
    观察者模式(Observer Pattern)
    iOS常用工具类
    iOS常用的封装方法
    iOS中书写代码规范
    UITableViewCell中的使用cell和cell.contentView的区别
    colorWithAlphaComponent
    iOS 压缩图片
  • 原文地址:https://www.cnblogs.com/cuiliang/p/1955761.html
Copyright © 2011-2022 走看看