精华内容
下载资源
问答
  • 免费ARP

    2021-03-23 11:31:00
    免费ARP本质是ARP协议的实现,所以只要有支持TCP/IP的网卡,支持ARP协议,就有免费ARP免费ARP报文就是ARP请求或ARP响应,只是它的目的并不是为了获取或告知MAC地址(虽然是通过获取或告知完成的),它的触发方式也...

    免费ARP本质是ARP协议的实现,所以只要有支持TCP/IP的网卡,支持ARP协议,就有免费ARP。免费ARP报文就是ARP请求或ARP响应,只是它的目的并不是为了获取或告知MAC地址(虽然是通过获取或告知完成的),它的触发方式也不同(虽然是由ARP协议触发的)

    免费ARP

    免费ARP

    Gratuitous ARP,也称为“无故ARP”,在没有人问自己的情况下,无缘无故自问自答

    功能

    检测局域网内IP地址冲突

    什么情况下触发ARP协议发送免费ARP

    局域网IP地址冲突时,地址修改或变更时,DHCP分发地址时,ARP缓存表清理时,网关冗余协议HSRP交互时,TFTP协议传输数据前

    免费ARP请求

    配置IP地址

    准备两台windows10的电脑,用网线直连,其中主机B配置IP地址为192.168.0.200/24

    用wireshark抓取主机A的本地网卡流量

    主机A配置IP地址为192.168.0.10/24,在wireshark抓取ARP报文

    这四条ARP报文都是主机A以广播的形式发出去的,其中前三条是ARP探针,第四条是ARP公告

    首先分析ARP探针

    • destinationMAC == ff:ff:ff:ff:ff:ff

    说明这是一个广播报文

    • sourceMAC

    填充的是主机A的MAC

    • Type == 0x0806

    说明这是一个ARP协议报文

    • Opcode == 1

    说明这是一个ARP请求报文

    • senderMAC

    填充的是主机A的MAC

    • senderIP

    填充0.0.0.0

    • targetMAC

    填充全0

    • targetIP

    填充的是主机A的IP

    分析

    这是一条ARP请求广播报文,与正常的ARP请求报文不同的是,它的senderIP字段填充的是0.0.0.0,targetIP填充的是源主机IP

    为什么senderIP不填充源主机IP,而是全0?targetIP填充的却是源主机IP?

    再回到前面,想一想,是做了什么让ARP协议发送这三条ARP探针的?

    是配置主机A的IP地址192.168.0.10,然后在wireshark上看到主机A发送三条ARP请求广播报文

    而且wireshark标明了这三条ARP请求报文是ARP Probe(刺探),刺探什么?

    当然是主机A在配置IP地址时,为了防止配置的IP地址和局域网内的其他主机冲突,而主动发送的ARP探针,刺探其他主机的IP地址是否相同

    所以,主机A在配置IP地址时,会自动触发ARP协议发送三条ARP请求报文广播给局域网内所有主机,targetIP填充自己的IP地址,这样如果其他主机接收到ARP请求且自己的IP地址和targetIP相同,就会回复ARP响应

    主机A收到ARP响应,就说明有主机的IP地址和自己相同,地址冲突了,那么配置无法成功

    由于主机B的IP地址是192.168.0.200,并没有冲突,所以没有收到ARP响应,windows连续发送三次ARP Probe后没有收到ARP响应,说明局域网内没有主机IP地址和自己冲突,IP地址配置成功

    但是为什么senderIP不是源主机的IP地址,而是全0呢?

    因为这三条是为了刺探有没有冲突,还不代表这个IP地址可以正式使用

    只有发送三条ARP Probe后没有收到ARP响应,说明没有冲突,配置成功,此时ARP协议层还会再发送一条ARP Announcement,senderIP和targetIP都是192.68.0.10

    如果主机A配置和主机B相同的IP地址呢?

    上面两条是发送一条ARP Probe后收到了ARP响应,说明地址冲突,然后主机A的windows系统自动把IP地址配成了之前成功配置的IP地址,所以就有了后面的四条

    我们再单独分析下收到的那条ARP响应

    其他字段都好理解,但是为什么targetIP不是主机A的地址呢?

    因为主机B发现收到的ARP请求是ARP Probe,且和自己的IP冲突,那主机A就不能用这个IP地址了,所以主机B把targetIP填充全0

    主机B如何辨别收到的ARP请求是正常的ARP请求还是ARP Probe呢?

    可以比较下正常的ARP请求和ARP Probe的不同,发现senderIP不同,正常的ARP请求senderIP是源主机的IP,ARP Probe的senderIP是全0

    从wireshark抓包来看,ARP Probe和ARP Announcement都是wireshark命名的,并没有标记“Gratuitous”关键字,那它们能算是免费ARP吗?

    这是有争议的

    如果从自己问自己的角度,它们都是免费ARP,因为它们都是在问自己配置的IP地址192.168.0.10,而且目的都是为了检测地址是否冲突。

    当然,更严谨的免费ARP,senderIP和targetIP是一致的

    免费ARP响应

    windows系统是用免费ARP请求检测地址冲突,有些设备使用免费ARP响应检测地址冲突

    免费ARP响应其实就是ARP响应报文,只是它需要广播,且senderIP和targetIP也要相同

    地址冲突的主机对于免费ARP响应也是需要回复的,回复的也是免费ARP响应,与其说是给地址冲突的主机回复,不如说是告诉整个广播域,我的IP才是xxx,然后源主机收到后又会广播免费ARP响应,两台地址冲突的主机轮流发

    图片来自网络,侵删

    总结

    • 免费ARP本质上是ARP报文

    • 免费ARP数据链路层destinationMAC为广播地址

    • 免费ARP的senderIP和targetIP一致,都是自己的IP地址

    • 免费ARP响应也是可能有回复的

    • ARP Probe可以看成免费ARP,虽然senderIP全0


    展开全文
  • 免费arp

    2013-12-17 06:25:52
    最近在看免费arp时,发现主要是讲它有两个功能,一个是告知局域网,某个ip被它占用着,第二个,就是让别人记录下它的mac和ip地址!但是,今天本人发了下免费arp报文,测试了下,发现windos xp和win 7下,并不会学习和本主机非...

    最近在看免费arp时,发现主要是讲它有两个功能,一个是告知局域网,某个ip被它占用着,第二个,就是让别人记录下它的mac和ip地址!但是,今天本人发了下免费arp报文,测试了下,发现windos xp和win 7下,并不会学习和本主机非同样ip的mac!

    报文格式如下

    目的mac: FF FF  FF  FF  FF  FF

    源mac:      EC A8 6B C2 FC 8B

    protocol type : 0X0806

    hardware       0x0001

    protocol          0x0800

    hard length     0x06

    proto add length  0x04

    operation      0x0001

    sender hard add    EC A8 6B C2 FC 8B

    sender ip       192.168.1.19

    target hardware addr FF FF  FF  FF FF  FF

    target ip addr     192.168.1.19

    结果局域网中的主机用arp -a并不能显示有学习到19!以此文为后来者严谨求学!

    展开全文
  • 免费ARP介绍

    2021-04-27 09:57:45
    文章目录免费ARP抓取免费ARP的报文并讲解 免费ARP 参考视频 https://www.bilibili.com/video/BV1V64y117Ad/ 作用: 判断自己的IP地址和其他地址是否有冲突 抓取免费ARP的报文并讲解 视频讲解 原理: 问自己的IP...

    免费ARP

    参考视频

    https://www.bilibili.com/video/BV1V64y117Ad/

    作用:

    判断自己的IP地址和其他地址是否有冲突

    抓取免费ARP的报文并讲解

    视频讲解

    原理:

    问自己的IP地址对应的MAC地址,如果收到了响应,那么就说明网络中有重地址。

    展开全文
  • 免费arp示例

    2018-08-07 13:24:42
    一个免费arp的测试程序。替换需要的IP和mac地址后,可以进行测试。
  • 普通ARP和免费ARP

    万次阅读 2016-12-21 23:00:18
    普通ARP和免费ARP及arping命令的使用 http://tenderrain.blog.51cto.com/9202912/1650245 问题:ARP协议是二层协议,还是三层协议? 答:ARP工作在二层和三层之间,但是属于三层协议(是TCP/IP协议的附属...

    普通ARP和免费ARP及arping命令的使用


    http://tenderrain.blog.51cto.com/9202912/1650245

    问题:ARP协议是二层协议,还是三层协议?

    答:ARP工作在二层和三层之间,但是属于三层协议(是TCP/IP协议的附属协议)


    免费ARP是指主机发送ARP查找自己的IP地址。

    通常,它发生在系统引导期间进行接口配置的时候。在互联网中,如果我们引导主机bsdi并在主机sun上运行tcpdump命令,可以看到如下所示的分组。

         0:0:c0:6f:2d:40  ff:ff:ff:ff:ff:ff   arp 60:
          arp who-has 140.252.13.35  tell140.252.13.35

    对于ARP请求中的各个字段来说,发送端的协议地址和目的端的协议地址是一致的(因为是查询自己的IP地址):即主机bsdi的地址140.252.13.35。另外,以太网报头中的源地址0:0:c0:6f:2d:40,正如tcpdump命令显示的那样,等于发送端的硬件地址。

     

    免费ARP的作用,目前免费ARP的作用有两种。

    第一种就是刚才上面所说的宣告广播的作用,以告诉整个广播域,目前这个IP所对应的MAC地址是什么。

    第二种是看看广播域内有没有别的主机使用自己的IP,如果使用了,则在界面上弹出“IP冲突”字样。

    普通ARP和免费ARP的区别:

    普通ARP请求报文(查找别人的IP地址,比如:我需要10.1.1.2MAC地址,10.1.1.2是别人的IP)广播发送出去,广播域内所有主机都 接收到,计算机系统判断ARP请求报文中的目的IP地址字段,如果发现和本机的IP地址相同,则将自己的MAC地址填写到该报文的目的MAC地址字段,并 将该报文发回给源主机。所以只要发送普通ARP请求的主机接收到报文,则证明广播域内有别的主机使用自己要访问的这个IP地址(这里不考虑路由器的ARP代理问 题)。

    免费ARP的报文发(查找自己的IP地址,比如:我需要10.1.1.1MAC地址,而10.1.1.1就是自己的IP)出去是不希望收到回应的,只希望是起宣告作用;如果收到回应,则证明对方也使用自己目前使用的IP地址。在所有网络设备(包括计 算机网卡)up的时候,都会发送这样的免费ARP广播(多长时间发一次呢????),以宣告并确认有没有冲突。


    举例如下:
    0000 ff ff ff ff ff ff 0000 5e 00 01 ea 08 06 00 01
    0010 08 00 06 04 00 01 00 00 5e 00 01 ea 86 4a ea 01
    0020 00 00 5e 00 01 ea 86 4a ea 01 0000 00 00 00 00
    0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    0040 00 00 00 00
    报文中前48位是报文发送的目的MAC地址。
    ff ff ff ff ff ff说明前48位都为1,表示这是一个局域网广播地址;
    00 00 5e 00 01 ea是数据包发送的源MAC地址;
    08 06表示为数据包类型为arp数据包;
    00 01表示这是一个以太网数据包;
    08 00表示为IP协议,6是硬件地址长度,4为协议地址长度;
    00 01表示是ARP请求报文;
    00 00 5e 00 01 ea发送者MAC地址;
    86 4a ea 01(转换成十进制是134.74.234.1)是发送者的协议地址(由于协议是IP,所以这是IP地址);
    86 4a ea 01是被请求的协议地址(可以看到请求的地址就是自身的IP地址);
    00 00 5e 00 01 ea是被请求的MAC地址,正常情况下,如果不是免费ARP,这里应该为全0,在响应的时候,由目的主机来填写,但是在免费ARP的请求报文中,这里已经自动填写上自身的MAC地址。

    免费ARP的漏洞及防范

    根据上述第一种作用能发现免费ARP带来的漏洞,因为目前的局域网上都没有安全的 认证系统,所以任何主机都可以发送这样的免费ARP广播,这样就会出现MAC地址欺骗。假如某银行系统局域网内有服务器A,客户机B和客户机C,客户机B 正在向服务器A提交当天的信用卡消费和账号信息(通过某种安全通信机制进行通信,确保客户机C是无法接收到两者之间传输的数据包的),这时客户机C(攻击 者)向局域网内发送了一个免费ARP广播,其源IP地址为服务器A的地址,源MAC地址为客户机C自己的MAC地址。客户机B收到这样的报文后,会将自己 ARP缓存中服务器A的MAC地址改为客户机C的MAC地址,这就形成了MAC地址欺骗,这样客户机B会将所有该发给服务器A的信息都发送给客户机C,C 在通过抓包分析就知道了很多不该知道的信息。通常为了确保A不再发送信息给B以改变B的ARP缓存里A的IP对应的MAC地址,C可以通过其他手段先将A 工具瘫痪。这样就放心大胆地进行欺骗了。这是至今都很流行的攻击手段之一。

    一个比较著名的ARP协议事实是,如果主机收到某个IP地址的ARP请求,而且它已经在接收者的高速缓存中,那么就要用ARP请求中的发送端硬件地址对高速缓存中相应的内容进行更新。主机接收到任何ARP请求都要完成这个操作(ARP请求是在网上广播的,因此每次发送ARP请求时网络上的所有主机都要这样做)。
    目前针对该攻击没都有很好的防范手段,当前使用的方法有:
    1. 设置MAC地址和IP地址绑定。
    2. 将交换机上某些端口设置为信任端口,来自这些端口的请求认为是可靠的,予以转发,其他的不转发。
        其实我们很多设备的漏洞都是这样产生的,为了解决一个问题,引入一项新的机制,但是通常由于缺乏全面的系统分析机制,没能对该项技术进行全方位的论证和考虑,导致了该技术存在一定的缺陷,引起系统的故障,然后在后继的过程中,只有通过打补丁或再引入其他机制进行预防。


    ARPING 命令解析:
    arping 命令:
    说明:arping是用于发送arp请求到一个相邻主机的工具;
    arping使用arp数据包,通过ping命令检查设备上的硬件地址。
    语法:arping [-bqfDUAV] [-ccount] [-w timeout] [-I device] [-s source] destination
    参数:
    -b 用于发送以太网广播帧(FFFFFFFFFFFF)。arping一开始使用广播地址,在收到响应后就使用unicast(单播)地址。

    -q quiet output 不显示任何信息;
    -f 表示在收到第一个响应包后就退出;

    -D 重复地址检测模式(不常用)

    -U 主动的ARP模式,主动更新邻居的ARP caches,与 –s 配合使用

    -A ARP回复模式,与-U选项类似,但是发送的是ARP 回复报文,而不是ARP请求报文,与–s 配合使用

    -V 显示版本信息

    -c count表示发送指定数量的 ARP 请求数据包后就停止。如果制定了deadline选项,则arping会等待相同数量的arp响应包,直到超时为止;
    -w timeout设定一个超时时间,单位是秒。如果到了指定时间,arping 还没有完全收到响应则退出;

    -I interface设置ping使用的网络接口;
    -s source设定 arping发送的 arp数据包中的  SPA字段的值。如果为空,则按下面处理
    如果是 DAD模式(冲突地址探测),则设置为 0.0.0.0
    如果是 Unsolicited ARP模式(Gratutious ARP)则设置为目标地址;--即设置了-A/-U参数
    否则从路由表得出;
    destination设置目标地址。

    使用示例:

    示例一、arping -c 5 -I eth1 -s VIP GATEWAY

    示例二、arping –Uq –I em2 –s 10.100.2.249 10.100.2.254

    通过em2网卡,向10.100.2.254请求10.100.2.249是否可用,并广播通知其他机器(抢占10.100.2.249这个IP

    示例三、arping -c 4 -A -I eth1 192.168.2.119

    示例四、-A和-U参数的使用区别

    [root@robin network-scripts]# arping  -c 4 -U -I eth1 -s 192.168.90.99 192.168.90.96         
    ARPING 192.168.90.96 from 192.168.90.99 eth1
    Unicast reply from 192.168.90.96 [00:21:F6:00:00:3B]  0.981ms
    Unicast reply from 192.168.90.96 [00:21:F6:00:00:3B]  0.739ms
    -U参数有回复包,第一次使用广播,然后就使用单播Unicast。
    [root@robin network-scripts]# arping  -c 4 -A -I eth1 -s 192.168.90.99 192.168.90.96  
    ARPING 192.168.90.96 from 192.168.90.99 eth1
    Sent 4 probes (4 broadcast(s))
    Received 0 response(s)

    -A参数没有回复包。

    示例四中的192.168.90.99和192.168.90.96在一个局域网中(即一个Vlan,都是90网段),如果跨Vlan,那么这个命令执行的时候不是有效的,返回结果如下:

    root@2-13:/root# arping  -c 4 -U -I eth1 -s 192.168.1.248 
    arping: Weird MAC addr 192.168.1.248

    这个时候需要Telnet登录到交换机,进行清除cache操作。如下:

    在交换机上查看某个IP对应的MAC

    show arp | in 192.168.1.248

    清除交换机缓存

    clear arp-cache

    show arp | in 192.168.1.248


    我的总结:

    l  ARP工作在二层和三层之间,属于三层协议(是TCP/IP的附属协议)。

    l  免费ARP是指主机发送ARP查找自己的IP地址。

    在免费ARP报文中,源协议地址目的协议地址都为自己的IP,而源硬件地址目标硬件地址都是自己的MAC地址。

    l  免费arp作用:

    Ø  宣告广播,告诉整个广播域,目前这个IP对应的MAC地址是什么。

    Ø  看看广播域内有没有别的主机使用自己的IP,如果有,则提示IP冲突。

    网络设备up时,会首先发送免费ARP在广播域内通告自己的arp信息,以宣告并确认没有IP冲突。

    附录:

    ARP的报文格式:

    长度(位)

    48

    48

    16

    16

    16

    8

    8

    16

    48

    32

    48

    32

    数据类型

    目标以太网地址

    源以太网地

    帧类型

    硬件类型

    协议类型

    硬件地址长度

    协议地址长度

    操作码

    源硬件地址

    源协议地址

    目标硬件地址

    目标协议地址

    组成

    以太网传输层

    以太网报文数据

    以太网传输层

    ·       目标以太网地址:目标MAC地址。ff:ff:ff:ff:ff:ff 为广播地址。

    ·       源以太网地址:发送方MAC地址。

    ·       帧类型:以太类型ARP0x0806

    以太网报文数据

    ·       硬件地址类型:如以太网(0x0001)、分组无线网

    ·       协议地址类型:如网际协议0x8000)、IPv60x86DD)。

    ·       硬件地址长度:每种硬件地址的字节长度,一般为6

    ·       协议地址长度:每种协议地址的字节长度,一般为4

    ·       操作码:1为请求,2为回显。

    ·       源硬件地址:n个字节,n由硬件地址长度得到,一般为发送方MAC地址。

    ·       源协议地址:m个字节,m由协议地址长度得到,一般为发送方IP地址。

    ·       目标硬件地址:n个字节,n由硬件地址长度得到,一般为目标MAC地址。

    ·       目标协议地址:m个字节,m由协议地址长度得到,一般为目标IP地址。


    展开全文
  • arp与免费arp的区别,arp老化

    千次阅读 2015-08-12 23:13:50
    1、怎么通过免费arp更新arp表: 2、免费arp更新arp过程,与arp表正常更新的区别?
  • 免费ARP与代理ARP;

    2020-02-29 17:26:39
    实验一:分析免费ARP和代理ARP;拓扑如下: 免费ARP:设备ip地址配置如上,在接口配置ip地址后,设备会立即发送一份免费ARP报文,封装格式如下图抓到的数据包; 通过抓包可看出这是一个目的mac为全F广播报文,并且...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,944
精华内容 3,977
关键字:

免费arp