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地址了!再也不用怕网络执行官了!
  • 相关阅读:
    解决:Google代码achartengine曲线代码报错问题(转)
    操作SQLite数据库
    让服务器iis支持.apk文件下载的设置方法
    怎么在手机上查看sqlite db
    Android 3D滑动菜单完全解析,实现推拉门式的立体特效
    android自动更新程序,安装完以后就什么都没有了,没有出现安装成功的界面的问题
    那些年不错的Android开源项目
    PL/SQL Developer 连接新数据库
    Oracle 连接 Visual Studio 的工具
    利用SQLiteOpenHelper来管理SQLite数据库 (转)
  • 原文地址:https://www.cnblogs.com/cuiliang/p/1955761.html
Copyright © 2011-2022 走看看