ARP欺骗
arp欺骗
ARP简介
• 什么是ARP
ARP(Address Resolution Protocol,地 址解析协议)是一个位于TCP/IP协议栈中 的底层协议,对应于数据链路层,负责将 某个网络层(IP层,也就是相当于OSI的第 三层)IP地址解析成对应的数据链路层 (MAC层,也就是相当于OSI的第二层) MAC地址。
ARP欺骗
• ARP欺骗,是针对以太网地址解析协议 (ARP)的一种攻击技术。此种攻击可让 攻击者取得局域网上的数据封包甚至可篡 改封包,且可让网络上特定计算机或所有 计算机无法正常连接。
ARP欺骗
• ARP欺骗原理 • ARP欺骗就是通过伪造IP地址和MAC地址实 现ARP欺骗,能够在网络中产生大量的ARP通信 量使网络阻塞,攻击者只要持续不断的发出伪造 的ARP响应包就能更改目标主机ARP缓存中的IPMAC条目,造成网络中断或中间人攻击。 • ARP欺骗主要是存在于局域网网络中,局域网中 若有一台计算机感染ARP木马,则感染该ARP木 马的系统将会试图通过“ARP欺骗”手段截获所 在网络内其它计算机的通信信息,并因此造成网 内其它计算机的通信故障。
– 在同一个子网中分化出多个Sub VLAN,而将 整个IP子网指定为一个Super VLAN。 – 所有Sub VLAN都使用Super VLAN的默认网关 IP地址,不同的Sub VLAN仍保留各自独立的 广播域。 – 子网中的所有主机只能与自己的默认网关通信。 – 如果将交换机设备的每个端口化为一个Sub VLAN,则实现了所有端口的隔离,也就避免 了ARP欺骗。
受到ARP攻击后的解决办法
ARP欺骗的处理思路
ARP问题处理思路1、什么是ARP欺骗ARP欺骗(英语:ARP spoofing),又称ARP毒化(ARP poisoning,网上上多译为ARP病毒)或ARP攻击,是针对以太网地址解析协议(ARP)的一种攻击技术,通过欺骗局域网内访问者PC的网关MAC地址,使访问者PC错以为攻击者更改后的MAC地址是网关的MAC,导致网络不通。
此种攻击可让攻击者获取局域网上的数据包甚至可篡改数据包,且可让网上上特定计算机或所有计算机无法正常连线。
最早探讨ARP欺骗的文章是由Yuri Volobuev所写的《ARP与ICMP转向游戏》(ARP and ICMP redirection games)。
2、ARP欺骗的症状(1)网络时断时通;(2)网络中断,重启网关设备,网络短暂连通(3)内网通讯正常、网关不通;(4)频繁提示IP地址冲突;(5)硬件设备正常,局域网不通;(6)特定IP网络不通,更换IP地址,网络正常;(7)禁用-启用网卡,网络短暂连通;(8)网页被重定向。
3、如何解决ARP日志中出现的ARP攻击记录ARP欺骗分为两种情况第一种情况:ARP冲突(内网双终端使用相同IP地址与路由通信)解决办法:如果mac地址熟知是哪个终端,直接到对应终端的IPV4上查询是否使用静态IP地址,故意造成冲突存在(解决办法:修改非冲突IP或者使用自动获取即可)。
如果mac地址不熟知,那么可以把IP冲突的两个设备的Mac地址添加到Mac 访问控制里,禁止这两个使用相同IP的终端上网,等待不能上网的人员联系你就OK了哈;或者从物理架构上逐一排查,从一级交换到二级交换逐层拔掉网线,验证拔到哪里时候ARP日志不再次出现,即发现设备,顺网线找到设备核准上述问题情况或者检查内网是否有其他DHCP服务端,未校验分配状态,导致双DHCP工作条件下的IP重复分发(解决办法:关闭其他DHCP服务,同局域网标准仅允许一个DHCP服务)第二种情况:ARP欺骗(一般代指网关冲突),冲突与欺骗分别对应的是所处位置的看法(一般说使用者,也就是上网终端去理解)。
网络协议欺骗攻防小结-电脑资料
网络协议欺骗攻防小结-电脑资料在网络的虚拟环境中和现实中一样,各种各样的人都有,各种各样的欺骗技术也都横行,。
笔者最近闲来无事总结了一下常见的欺骗技术和防范的方法。
希望对广大读者有所帮助。
一、ARP欺骗ARP协议用于IP地址到MAC地址的转换,此映射关系存储在ARP缓存表中,若ARP缓存表被他人非法修改,则会导致发送给正确主机的数据包发送给另外一台由攻击者控制的主机。
ARP欺骗(ARP spoofing),也叫ARP毒药(ARP poison),即可完成这些功能。
假设攻击者和目标主机在同一个局域网中,并且想要截获和侦听目标主机到网关间的所有数据。
当然,对于使用集线器的局域网环境,攻击者只需要把网卡设置为混杂模式即可。
但是现在的局域网都是交换机了,不仅可以提高局域网的容量,而且可以提高安全性。
在这种情况下,攻击者首先会试探交换机是否存在失败保护模式(fail-safe mode),是交换机所处的特殊模式状态。
交换机维护IP地址和MAC 地址的映射关系时会花费一定处理能力,当网络通信时出现大量虚假MAC地址时,某些类型的交换机会出现过载情况,从而转换到失败保护模式。
若交换机不存在失败保护模式,则需要使用ARP欺骗技术。
攻击者主机需要两块网卡,IP地址分别是192.168.0.5和192.168.0.6,插入交换机的两个端口,准备截获和侦听目标主机192.168.0.3和路由器192.168.0.1之间的所有通信。
另外攻击者主机还需要有IP数据包转发功能,此项功能在Linux下只需要执行命令echo 1> /proc/sys/net/ipv4/ip_forward就可以。
以192.168.0.4的网络通信为例,正常的ARP转换如下:1.主机A192.168.0.4想要与路由器192.168.0.1通信,从而接入Internet。
2.主机A以广播的方式发送ARP请求,希望得到路由器的MAC。
3.交换机收到ARP请求,并把此请求发送给连接到交换机的各个主机。
arp欺骗原理
arp欺骗原理ARP欺骗原理是一种网络攻击手段,通常被用于窃取网络通信数据或进行中间人攻击。
ARP是以太网中一个重要的协议,它负责将IP地址映射成MAC地址,以保证数据能够正确送达目标设备。
而ARP欺骗攻击便是通过伪造网络中的ARP协议,来让其他设备误认为攻击者的MAC地址就是目标设备的MAC地址,从而将网络数据发送给攻击者,并造成信息泄露或进一步的攻击。
ARP协议是一个非常简单的协议,它的工作原理十分直观:当主机A需要通过以太网发送数据给B时,它会先发送一个ARP广播包,以请求网络中的所有设备帮助自己查找B的MAC地址。
路由器或者其他设备会通过ARP响应包来回应主机A,告诉它该数据包需要发送到哪个MAC地址上去。
一旦主机A得到了B的MAC地址,它便会以此目标地址为准,将数据包发送出去。
而ARP欺骗的原理则是,攻击者伪造一个ARP响应包,将其中的目标MAC地址改为了自己的MAC地址,然后广播出去,欺骗其他设备将数据发往攻击者的主机上。
具体而言,ARP欺骗的攻击流程如下:1.攻击者获取目标主机的IP地址以及MAC地址。
2.攻击者向所有设备发送ARP欺骗包,告诉它们该目标主机的MAC 地址已经改变。
3.网路中的其他设备会根据攻击者发送的ARP欺骗包中的信息,将所有目标设备的数据发送给攻击者的主机上。
4.攻击者在接收到数据后,可以选择把它们再发给真正的目标设备,或者篡改其中的数据。
ARP欺骗攻击是非常危险的,其危害主要表现在如下几个方面:1.窃取敏感数据。
攻击者可以通过修改数据包,获取目标主机上的敏感信息,如HTTP cookies、账号密码等。
2.拒绝服务攻击。
攻击者可以利用ARP欺骗来对网络进行DDoS攻击,使其无法正常运行。
3.中间人攻击。
攻击者可以使用ARP欺骗攻击来混淆网络中的通信路径,使得目标设备与服务器通信时需要通过攻击者中转,使得攻击者得到了通信内容的复制品。
4.更高级的攻击手段。
ARP欺骗是许多网络攻击的基础,攻击者可以借此来进行更高级别的攻击,如DNS劫持、网银钓鱼等。
arp欺骗的工作原理
arp欺骗的工作原理ARP欺骗(ARP spoofing)是指攻击者利用ARP协议的缺陷,发送伪造的ARP响应包来篡改网络中的ARP缓存,从而欺骗目标主机将其发送给目标主机的数据发送到攻击者指定的主机上。
工作原理如下:1. 攻击者首先探测网络中的主机,获取目标主机的IP地址。
2. 攻击者发送伪造的ARP响应包,以欺骗目标主机。
这个ARP响应包中包含攻击者主机的MAC地址,并将目标主机的IP地址指向攻击者主机的MAC地址。
这样,目标主机在发送数据时会将数据发往攻击者主机,而不是真正的目标主机。
3. 目标主机接收到伪造的ARP响应包后,更新其ARP缓存中的目标主机的MAC地址为攻击者主机的MAC地址。
这使得目标主机错误地将其发往目标主机的数据发送给了攻击者主机。
4. 攻击者可以选择将接收到的数据进行处理后再发送给真正的目标主机,或者干扰、截获、篡改这些数据。
通过这种方式,攻击者可以窃取目标主机的敏感信息,例如登录凭证、账户密码等。
此外,攻击者还可以中间人攻击,欺骗目标主机以为其与另一个合法主机进行通信,从而进行更多的攻击。
为了防止ARP欺骗攻击,可以采取以下措施:1. 使用静态ARP表:管理员可以手动将IP地址与MAC地址的映射关系添加到静态ARP表中,限制ARP缓存被篡改的可能性。
2. ARP监控:网络监控工具可以检测异常的ARP请求和响应包,及时发现ARP欺骗攻击的行为。
3. 网络隔离:在网络中采用隔离措施,限制攻击者接触到目标主机,减少攻击者进行ARP欺骗的机会。
4. 密钥交换协议:使用安全的密钥交换协议确保通信的机密性,这样即使攻击者成功获取数据包,也无法破解密文。
综上所述,ARP欺骗攻击利用ARP协议的漏洞来干扰网络通信,但采取适当的安全措施可以有效减少这类攻击的风险。
arp欺骗原理
arp欺骗原理ARP欺骗原理是一种利用ARP(地址解析协议)的漏洞,对局域网内的设备进行网络攻击的方法。
ARP协议是用于将IP地址转换为物理MAC地址的协议。
一般情况下,设备在进行网络通信时会先发送一个ARP请求,询问特定IP地址的设备的MAC地址。
然后接收到该请求的设备会返回一个包含自己MAC地址的ARP响应。
这样,源设备就可以将目标设备的IP与MAC地址关联起来,从而建立通信。
ARP欺骗利用的是ARP协议没有验证对方身份的漏洞。
攻击者可以通过伪造ARP请求或响应,将自己的MAC地址伪装成目标设备的MAC地址,以欺骗其他设备。
具体来说,下面是ARP欺骗的过程:1. 攻击者向局域网内发送ARP请求,询问目标设备的MAC地址。
2. 正常情况下,目标设备会回复一个包含自己MAC地址的ARP响应给攻击者。
3. 攻击者接收到ARP响应后,将自己的MAC地址伪装成目标设备的MAC地址,并不断发送伪造的ARP响应给其他设备。
4. 其他设备在接收到伪造的ARP响应后,会更新自己的ARP缓存表,将目标设备的IP地址与攻击者的MAC地址关联起来。
5. 当其他设备要与目标设备进行通信时,会将数据发送给攻击者的MAC地址,而攻击者则可以选择拦截、篡改、窃取这些数据。
通过ARP欺骗,攻击者可以获取其他设备的通信数据,进行拦截、篡改甚至窃取敏感信息。
此外,攻击者也可以通过将自己的MAC地址伪装成路由器的地址,实施中间人攻击,劫持网络通信。
为了防止ARP欺骗,可以采取以下措施:1. 搭建虚拟局域网(VLAN)进行隔离,限制ARP欺骗的范围。
2. 使用静态ARP表,手动添加设备的MAC地址与对应IP地址的映射,避免受到伪造的ARP响应的影响。
3. 定期清除ARP缓存表,更新设备的MAC地址。
4. 在网络中使用密钥认证机制,如802.1X,限制未授权设备的接入。
5. 使用加密的通信协议,确保数据在传输过程中的安全性。
以上是ARP欺骗的原理和防范措施的简要介绍,这种攻击方法在实际中仍然存在,并需要网络管理员和用户采取一系列的措施来保护网络安全。
高手教你辨别ARP欺骗原理及防范被骗
高手教你辨别ARP欺骗原理及防范被骗经常听到身边的朋友说,自己电脑的网络又被啥啥攻击了,经常有一些不道德的人用ARP欺骗软件攻击别人,让很多人掉线,甚至让整个网络都瘫痪。
针对这个问题,我们首先先来了解下它的攻击原理及欺骗原理,深受其害的朋友们赶紧来看看。
一,ARP欺骗的原理如下:假设这样一个网络,一个Hub接了3台机器HostA HostB HostC 其中A的地址为:IP:192.168.10.1 MAC: AA-AA-AA-AA-AA-AAB的地址为:IP:192.168.10.2 MAC: BB-BB-BB-BB-BB-BBC的地址为:IP:192.168.10.3 MAC: CC-CC-CC-CC-CC-CC正常情况下C:\arp -aInterface: 192.168.10.1 on Interface 0x1000003Internet Address Physical Address Type192.168.10.3 CC-CC-CC-CC-CC-CC dynamic现在假设HostB开始了罪恶的ARP欺骗:B向A发送一个自己伪造的ARP应答,而这个应答中的数据为发送方IP地址是192.168.10.3(C的IP地址),MAC地址是DD-DD-DD-DD-DD-DD(C的MAC地址本来应该是CC-CC-CC-CC-CC-CC,这里被伪造了)。
当A接收到B伪造的ARP应答,就会更新本地的ARP 缓存(A可不知道被伪造了)。
而且A不知道其实是从B发送过来的,A这里只有192.168.10.3(C的IP地址)和无效的DD-DD-DD-DD-DD-DD mac地址,没有和犯罪分子B相关的证据,哈哈,这样犯罪分子岂不乐死了。
现在A机器的ARP缓存更新了:C:\arp -aInterface: 192.168.10.1 on Interface 0x1000003Internet Address Physical Address Type192.168.10.3 DD-DD-DD-DD-DD-DD dynamic这可不是小事。
arp欺骗概念
arp欺骗概念
ARP欺骗(Address Resolution Protocol spoofing)是一种网络
攻击手段,通过欺骗网络中的设备,使其将数据发送到错误的目的地。
ARP是一种用于将IP地址映射到物理MAC地址的
协议,用于在局域网中确定数据包的目标地址。
ARP欺骗攻击者通常会发送伪造的ARP响应消息,欺骗目标
设备将数据包发送到错误的MAC地址。
这可能导致目标设备
无法与正确的网络资源通信,或将数据包发送到攻击者控制的恶意地址。
ARP欺骗攻击的目的包括:
- 拦截网络通信:攻击者可以捕获、监视、修改或篡改目标设
备和网络资源之间的通信。
- 中间人攻击:攻击者可以作为中间人,从而截获目标设备和
网络资源之间的通信,并进行恶意操作,例如窃取敏感信息。
- DoS攻击:通过将目标设备的数据包发送到一个无效的地址,可以导致目标设备无法正常访问网络资源,从而造成拒绝服务(Denial of Service)攻击。
为了防止ARP欺骗攻击,可以采取以下措施:
- 使用静态ARP表:在网络设备中手动配置静态ARP表,将
IP地址与MAC地址形成纯粹的映射关系,不受ARP请求的
影响。
- 使用ARP防火墙:部署ARP防火墙来监视和筛选ARP请求
和响应,阻止伪造的ARP消息。
- 使用网络监控工具:使用网络监控工具来检测和识别可能的
ARP欺骗攻击,并采取相应的措施应对。
总之,ARP欺骗是一种利用ARP协议的漏洞,对网络安全构成威胁的攻击手段。
采取适当的防护措施可以提高网络的安全性。
如何判断ARP欺骗
如何判断ARP欺骗ARP欺骗(Address Resolution Protocol,ARP Spoofing)是一种网络攻击方法,攻击者伪装成局域网内的正常主机,向目标主机发送虚假ARP响应,使目标主机将流量发送到攻击者控制的设备上。
为了判断ARP欺骗,我们可以采取以下方法:1.观察网络性能:ARP欺骗可能会导致网络延迟、丢包等问题。
如果你发现你的网络表现异常,尤其是在大量数据传输时,这可能是ARP欺骗的迹象。
2. 观察网络连接:使用Wireshark等网络抓包工具,观察网络流量。
注意观察同一网络内其他主机的ARP响应,看是否有多个主机使用相同的MAC地址进行响应。
如果有,这可能表示存在ARP欺骗。
3. 检查ARP缓存:在Windows系统中,可以使用命令"arp -a"查看本地ARP缓存,或者在Linux系统中使用命令"arp"查看。
检查缓存中的IP地址和MAC地址是否匹配。
如果存在IP地址对应的多个MAC地址,那么这可能是ARP欺骗的迹象。
4. 检查路由表:如果你怀疑存在ARP欺骗,可以检查路由表,观察与已知合法网关的路由是否被篡改。
在Windows系统中,可以使用命令"route print"查看路由表。
5. 使用ARP防火墙:ARP防火墙可以防止ARP欺骗攻击。
这些工具可以监视和检测ARP请求和响应,根据预先配置的规则对流量进行过滤和阻断。
常用的ARP防火墙工具包括XArp、ArpGuard等。
6.使用交换机的安全功能:交换机上通常具有ARP安全功能,可以预先配置只允许指定MAC地址的主机发送ARP响应。
通过配置交换机,可以确保只有授权设备可以发送ARP响应,从而有效地抵御ARP欺骗攻击。
7.使用网络入侵检测与防御系统(IDPS):网络IDPS可以检测和阻断ARP欺骗攻击。
这些系统通过监控和分析网络流量,识别出异常ARP响应,并采取相应措施进行阻断。
ARP的攻击主要的几种方式及防护方法
ARP的攻击主要的几种方式及防护方法ARP(Address Resolution Protocol)攻击是指攻击者通过伪造或篡改网络中的ARP数据包,从而欺骗网络中的主机或路由器,导致数据包被发送到错误的目的地。
这些攻击可能会导致中断网络连接、数据丢失、数据泄露等问题。
下面是几种常见的ARP攻击方式及相应的防护方法:1. ARP欺骗攻击(ARP Spoofing):ARP欺骗攻击是指攻击者将自己伪装成网络中的其他主机,向网络中发送伪造的ARP响应数据包,使得网络中的其他主机将攻击者的MAC地址与网络中的目标IP地址关联起来。
攻击者可以利用这种方式进行MITM (中间人攻击)或者嗅探网络流量等操作。
防护方法:-使用静态ARP表,手动将IP地址和MAC地址进行绑定,避免收到伪造的ARP响应。
- 使用ARP防御工具,如ARPwatch、ARPON等,能够检测并告警网络中的ARP欺骗行为。
-配置网络交换机的ARP防火墙功能,只允许网络中合法设备发送的ARP响应被接收。
2. ARP缓存投毒攻击(ARP Cache Poisoning):ARP缓存投毒攻击是指攻击者向网络中的一些主机发送大量的伪造ARP数据包,使得该主机的ARP缓存中的IP地址与MAC地址映射关系被篡改,导致该主机误将数据包发送到错误的目的地。
防护方法:-使用动态ARP表,定期更新ARP缓存,避免长时间保留与IP地址不匹配的MAC地址。
-启用ARP缓存有效期(TTL)功能,限制ARP缓存的存活时间,避免长时间保留错误的ARP映射。
- 使用属性ARP缓存(Secure ARP Cache)功能,将缓存记录与特定的端口绑定,不接受来自其他端口的ARP应答。
3.反向ARP(RARP)攻击:反向ARP攻击是指攻击者向网络中的主机发送伪造的RARP请求包,使得该主机向攻击者提供目标主机的IP地址、MAC地址等敏感信息,从而导致安全隐患。
防护方法:-禁用RARP服务功能,减少被攻击的风险。
arp欺骗原理
arp欺骗原理
ARP欺骗是一种网络攻击,它利用了ARP(地址解析协议)
的工作原理,通过欺骗目标设备,使其将数据发送到攻击者指定的错误MAC地址上。
在正常情况下,当设备A想要与设备B通信时,它会广播一
个ARP请求,询问设备B的MAC地址。
设备B收到请求后,会将自己的MAC地址回复给设备A,从而建立连接。
ARP欺
骗攻击者利用这一过程中的漏洞进行攻击。
攻击者在同一局域网中伪造一个虚假的MAC地址,并将其与
目标设备B的IP地址进行关联。
然后,攻击者会向目标设备
B发送一个欺骗性的ARP响应,将自己的虚假MAC地址发送给设备A。
设备A收到虚假的ARP响应后,会将其缓存到ARP缓存中,并将数据包发送给攻击者的MAC地址。
结果就是设备A与设备B之间的通信被攻击者中间人拦截。
攻击者可以窃取通信中的敏感信息,或者修改信息内容后再转发给设备B,使得设备B无法察觉到数据的篡改。
为了防止ARP欺骗攻击,可以采取以下措施:
1. 使用静态ARP条目:在网络中手动设置ARP缓存条目,使
得设备只接受特定设备的通信请求。
2. 使用ARP防火墙:配置网络设备上的ARP防火墙规则,只
允许授权的设备进行通信。
3. 加密通信:使用加密协议(如HTTPS)来保护通信内容,
使得攻击者无法轻易窃取敏感信息。
4. 监控网络流量:及时检测和识别可能存在的ARP欺骗攻击,可以通过网络流量分析工具或入侵检测系统(IDS)来实现。
通过加强网络安全意识教育,定期进行系统更新和安全漏洞修补,以及对网络进行定期安全审计和漏洞扫描,可以有效降低ARP欺骗攻击的风险。
ARP欺骗攻击详解
ARP欺骗攻击详解ARP(地址解析协议)是在仅知道主机的IP地址时确定其物理地址的⼀种协议。
因IPv4和以太⽹的⼴泛应⽤,其主要⽤作将IP 地址翻译为以太⽹的MAC地址,但其也能在ATM和FDDI IP⽹络中使⽤。
本⽂将为⼤家详细剖析ARP欺骗,它主要分为双向欺骗和单向欺骗。
⼀、ARP通讯协议过程由于局域⽹的⽹络流通不是根据IP地址进⾏,⽽是按照MAC地址进⾏传输、计算机是根据mac来识别⼀台机器。
区域⽹内A要向主机B发送报⽂,会查询本地的ARP缓存表,找到B的IP地址对应的MAC地址后,就会进⾏数据传输。
如果未找到,则A⼴播⼀个ARP请求报⽂(携带主机B的IP地址),⽹上所有主机包括B都收到ARP请求,但只有主机B识别⾃⼰的IP 地址,于是向A主机发回⼀个ARP响应报⽂。
其中就包含有B的MAC地址,A接收到B的应答后,就会更新本地的ARP缓存。
接着使⽤这个MAC地址发送数据(由⽹卡附加MAC地址)。
⼆、⼀次完整的ARP欺骗ARP 欺骗分为两种,⼀种是双向欺骗,⼀种是单向欺骗:1.单向欺骗A的地址为:IP:192.168.10.1 MAC: AA-AA-AA-AA-AA-AAB的地址为:IP:192.168.10.2 MAC: BB-BB-BB-BB-BB-BBC的地址为:IP:192.168.10.3 MAC: CC-CC-CC-CC-CC-CCA和C之间进⾏通讯.但是此时B向A发送⼀个⾃⼰伪造的ARP应答,⽽这个应答中的数据为发送⽅IP地址是192.168.10.3(C的IP地址),MAC地址是BB-BB-BB-BB-BB-BB(C的MAC地址本来应该是CC-CC-CC-CC-CC-CC,这⾥被伪造了)。
当A接收到B伪造的ARP应答,就会更新本地的ARP缓存(A被欺骗了),这时B就伪装成C了。
同时,B同样向C发送⼀个ARP应答,应答包中发送⽅IP地址四192.168.10.1(A的IP地址),MAC地址是BB-BB-BB-BB-BB-BB(A的MAC地址本来应该是AA-AA-AA-AA-AA-AA),当C收到B伪造的ARP应答,也会更新本地ARP缓存(C也被欺骗了),这时B就伪装成了A。
ARP欺骗解决方案
ARP欺骗解决方案一、什么是ARPARP(Address Resolution Protocol,地址解析协议)是一个位于TCP/IP协议栈中的低层协议,负责将某个IP 地址解析成对应的MAC地址。
在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。
在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。
但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。
所谓…地址解析“就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。
ARP 协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
二、ARP的工作原理在每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的,在命令提示符下,输入“arp -a”就可以查看ARP缓存表中的内容了:注:用“arp -d”命令可以删除ARP表的内容;用“arp -s”可以手动在ARP表中指定IP地址与MAC地址的对应。
我们以主机A(192.168.1.5)向主机B(192.168.1.1)发送数据为例。
当发送数据时,主机A会在自己的ARP 缓存表中寻找是否有目标IP地址。
如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到相对应的IP地址,主机A就会在网络上发送一个广播,目标MAC地址是“FF.FF.FF.FF.FF.FF”,这表示向同一网段内的所有主机发出这样的询问:“192.168.1.1的MAC地址是什么?”网络上其他主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应:“192.168.1.1的MAC地址是00-aa-00-62-c6-09”。
这样,主机A就知道了主机B的MAC地址,它就可以向主机B发送信息了。
同时它还更新了自己的ARP缓存表,下次再向主机B发送信息时,直接从ARP缓存表里查找就可以了。
arp欺骗的原理
arp欺骗的原理ARP欺骗是网络安全领域中的一个重要问题,它是黑客攻击的一种方法。
本文将从以下几个方面详细介绍ARP欺骗的原理。
1. ARP协议的基本原理ARP是地址解析协议(Address Resolution Protocol)的缩写,它是一种协议,旨在将IP地址转换为物理地址。
ARP协议的基本工作原理是通过IP地址确定物理地址。
当一个主机通过IP地址向另一台主机通信时,它会向本机ARP缓存中查找相应IP地址对应的物理地址。
如果没有找到,则发送ARP请求广播到网络中的所有主机,以寻找相应的物理地址。
2. ARP欺骗的原理ARP攻击是指攻击者通过ARP协议发送虚假的ARP请求和响应报文来篡改网络上的ARP缓存表。
攻击者向网络中的主机发送虚假的ARP请求或响应包,告诉目标主机攻击者的MAC地址与目标主机的IP地址对应,从而将目标主机发出的网络数据包发送到攻击者的主机上。
3. ARP欺骗的步骤(1) 攻击者在网络上发送假ARP请求,告诉目标主机攻击者的MAC地址与目标主机的IP地址对应。
(2) 目标主机收到假ARP请求后,将攻击者的MAC地址添加到ARP缓存表中,用攻击者的MAC地址来发送数据包。
(3) 攻击者盗取目标主机发送或接收的数据包,从而掌握敏感信息。
4. ARP欺骗的危害ARP欺骗可以导致网络环境中网络机密信息和其他敏感信息被和谐地抓取,从而造成重大损失,如泄露用户信息、获取管理员帐号和密码、破解网络通信流量等。
5. 防范ARP攻击为了避免ARP攻击,我们可以采取以下一些防范措施:(1) 安装防火墙和入侵检测系统(2) 使用ARP防火墙来过滤错误ARP信息(3) 使用ARP缓存静态表(4) 配置网络设备进行限制,如允许特定的MAC地址访问网络(5) 定期更新防病毒软件,及时修复安全漏洞。
总之,ARP欺骗是一种重要的网络安全问题,防范措施是必不可少的,我们需要发掘各种安全漏洞并及时采取措施,确保网络安全和保密。
arp欺骗的工作原理
arp欺骗的工作原理
ARP欺骗(ARP spoofing)是一种网络攻击技术,通过伪装成
网络内的其他设备,向目标设备发送虚假的ARP(地址解析
协议)响应信息,从而实现数据包的劫持和欺骗。
其工作原理如下:
1. ARP协议:ARP协议用于将IP地址和MAC地址进行映射。
每当设备需要通过IP地址发送数据包时,它会向本地网络内
的其他设备广播一个ARP请求,请求中包含了目标IP地址。
目标设备收到请求后会回复一个ARP响应,其中包含了自己
的MAC地址。
2. 欺骗目标设备:攻击者通过欺骗目标设备,使其将其发送的数据包发送到攻击者控制的设备。
攻击者首先监听网络中的ARP请求,并将目标IP地址映射为自己的MAC地址。
然后,攻击者会向目标设备发送一个虚假的ARP响应,告诉目标设
备说攻击者的MAC地址是目标IP地址所对应的MAC地址。
3. 劫持通信流量:目标设备接收到虚假的ARP响应后,会将
其缓存起来,并将攻击者的MAC地址与目标IP地址关联起来。
当目标设备要发送数据包时,它会发送给攻击者的MAC
地址,而不是真正的目标设备的MAC地址。
攻击者接收到数
据包后,可以选择转发给目标设备或对数据包进行篡改。
4. 中间人攻击:ARP欺骗可以用于中间人攻击,攻击者可以
将自己置于目标设备与其他设备之间,窃取通信内容或篡改数据。
需要注意的是,ARP欺骗技术仅在本地网络中生效,跨子网或者在使用交换机的网络中很难实施。
此外,网络上可以使用一些防御措施来防止ARP欺骗攻击,如静态ARP缓存管理、ARP监控等。
arp欺骗原理及过程
arp欺骗原理及过程一、ARP协议简介ARP(Address Resolution Protocol,地址解析协议)是一种用于将IP地址解析为物理MAC地址的协议。
在计算机网络中,每个设备都有一个唯一的MAC地址和IP地址,ARP协议通过查询网络中的ARP缓存表来获取目标IP地址对应的MAC地址,以便进行数据通信。
二、ARP欺骗的概念ARP欺骗(ARP Spoofing)是一种网络攻击技术,攻击者通过伪造ARP响应包,将自己的MAC地址伪装成网络中的某个合法设备的MAC地址,从而使网络中的其他设备将数据发送到攻击者的设备上,从而实现对网络通信的窃听、篡改和拒绝服务等攻击。
三、ARP欺骗的原理ARP欺骗利用了ARP协议的工作原理和局限性。
当一台设备需要向另一台设备发送数据时,会首先查询自己的ARP缓存表,如果找不到目标IP地址对应的MAC地址,则会发送一个ARP请求广播包到网络中,请求目标设备的MAC地址。
目标设备接收到ARP请求后,会发送一个ARP响应包回复请求设备,并将自己的MAC地址告知请求设备。
攻击者利用这个过程,伪造一个ARP响应包,并将自己的MAC地址伪装成目标设备的MAC地址。
当网络中的其他设备收到攻击者发出的伪造ARP响应包时,会将数据发送到攻击者的设备上,从而实现对网络通信的控制。
四、ARP欺骗的过程ARP欺骗的过程可以分为以下几个步骤:1. 获取目标设备的IP地址和MAC地址攻击者首先需要获取目标设备的IP地址和MAC地址,可以通过网络扫描、嗅探等方式进行获取。
2. 伪造ARP响应包攻击者使用自己的MAC地址伪装成目标设备的MAC地址,构造一个伪造的ARP响应包。
该ARP响应包中包含攻击者自己的MAC地址和目标设备的IP地址。
3. 发送ARP响应包攻击者将伪造的ARP响应包发送到网络中,通常使用ARP欺骗工具进行发送,如Ettercap、Cain&Abel等。
4. 欺骗网络设备当其他设备收到攻击者发送的伪造ARP响应包时,会将目标设备的MAC地址更新为攻击者的MAC地址。
arp欺骗原理
arp欺骗原理ARP欺骗是一种网络攻击方式,它利用ARP协议中的漏洞,向网络中的某个特定主机发送虚假的ARP请求或ARP 响应,从而使目标主机的数据流经过攻击者控制的中间设备,达到窃取数据、监控信息、篡改数据等目的。
因此,了解ARP欺骗原理对于网络安全保护至关重要。
1. ARP协议介绍 ARP(Address Resolution Protocol)是一种广泛应用于局域网中的协议,旨在实现将IP地址与MAC地址之间的映射关系建立起来,以便于数据在链路层的传输。
ARP包含两个重要的操作:ARP请求和ARP响应。
当源主机需要向目标主机发送数据时,它会先在本地缓存中查找目标主机的MAC地址,如果没有找到则发送广播ARP请求,请求所有主机网络上回应自己的MAC地址。
而目标主机则接收到ARP请求后会向源主机回复一个ARP响应,告知源主机自己的MAC地址。
2. ARP欺骗原理 ARP欺骗攻击者利用ARP请求和ARP 响应机制中的漏洞,向目标主机发送伪造的ARP请求或ARP 响应。
具体实现方式包括以下几步:步骤1:攻击者向目标主机发送一个伪造的ARP请求,请求目标主机返回其MAC地址,将MAC地址设置为攻击者的MAC地址。
步骤2:目标主机收到ARP请求后,将自己的MAC地址回应给攻击者,攻击者将这个MAC地址保存在自己的ARP 缓存中。
步骤3:攻击者再向其它主机发送伪造的ARP响应,将目标主机的IP地址和MAC地址绑定关系设置为自己MAC 地址,这使得其它主机将数据包发送到目标主机时,数据包先经过攻击者,攻击者可以对数据包进行监视、篡改、重放等操作。
3. ARP欺骗实现方式 ARP欺骗攻击者利用ARP请求和ARP响应机制中的漏洞,向目标主机发送伪造的ARP请求或ARP响应。
具体实现方式包括以下几种:方式1:主动欺骗攻击者向目标主机发送伪造的ARP请求,伪造自己的IP地址与MAC地址,使得目标主机认为自己MAC地址应该是攻击者的MAC地址,随后攻击者会将目标主机的IP地址与自己的MAC地址绑定在ARP缓存中,这样,当其它主机向目标主机发送数据时,数据就会经过攻击者的设备,从而达到窃取、篡改、监视数据的目的。
ARP欺骗
ARP欺骗【实验原理】ARP欺骗是黑客常用的攻击手段之一,ARP欺骗分为二种,一种是对路由器ARP表的欺骗;另一种是对内网PC的网关欺骗。
第一种ARP欺骗的原理是——截获网关数据。
它通知路由器一系列错误的内网MAC 地址,并按照一定的频率不断进行,使真实的地址信息无法通过更新保存在路由器中,结果路由器的所有数据只能发送给错误的MAC地址,造成正常PC无法收到信息。
第二种ARP 欺骗的原理是——伪造网关。
它的原理是建立假网关,让被它欺骗的PC向假网关发数据,而不是通过正常的路由器途径上网。
在PC看来,就是上不了网了,“网络掉线了”。
ARP表是IP地址和MAC地址的映射关系表,任何实现了IP协议栈的设备,一般情况下都通过该表维护IP地址和MAC地址的对应关系,这是为了避免ARP解析而造成的广播数据报文对网络造成冲击。
ARP表的建立一般情况下是通过二个途径:(1)主动解析如果一台计算机想与另外一台不知道MAC地址的计算机通信,则该计算机主动发ARP 请求,通过ARP协议建立(前提是这两台计算机位于同一个IP子网上)。
(2)被动请求如果一台计算机接收到了一台计算机的ARP请求,则首先在本地建立请求计算机的IP 地址和MAC地址的对应表。
因此,针对ARP表项,一个可能的攻击就是误导计算机建立正确的ARP表。
根据ARP 协议,如果一台计算机接收到了一个ARP请求报文,在满足下列两个条件的情况下,该计算机会用ARP请求报文中的源IP地址和源物理地址更新自己的ARP缓存:(1)如果发起该ARP请求的IP地址在自己本地的ARP缓存中;(2)请求的目标IP地址不是自己的。
可以举一个例子说明这个过程,假设有三台计算机A,B,C,其中B已经正确建立了A和C计算机的ARP表项。
假设A是攻击者,此时,A发出一个ARP请求报文,该ARP 请求报文这样构造:(1)源IP地址是C的IP地址,源物理地址是A的MAC地址;(2)请求的目标IP地址是B的IP地址。
网络地址欺骗详解
地址欺骗(一)ARP欺骗1.ARP欺骗原理ARP原理某机器A要向主机C发送报文,会查询本地的ARP缓存表,找到C的IP 地址对应的MAC地址后,就会进行数据传输。
如果未找到,则广播一个ARP请求报文(携带主机A的IP地址Ia——物理地址AA:AA:AA:AA),请求IP地址为Ic的主机C回答物理地址Pc。
网上所有主机包括C都收到ARP请求,但只有主机C识别自己的IP地址,于是向A主机发回一个ARP响应报文。
其中就包含有C的MAC地址CC:CC:CC:CC,A 接收到C的应答后,就会更新本地的ARP缓存。
接着使用这个MAC地址发送数据(由网卡附加MAC地址)。
因此,本地高速缓存的这个ARP表是本地网络流通的基础,而这个缓存是动态的。
ARP协议并不只在发送了ARP请求才接收ARP应答。
当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC地址存储在ARP缓存中。
因此,局域网中的机器B首先攻击C使C瘫痪,然后向A发送一个自己伪造的ARP 应答,而如果这个应答是B冒充C伪造来的,即IP地址为C的IP,而MAC地址是B的,则当A接收到B伪造的ARP应答后,就会更新本地的ARP缓存,这样在A看来C的IP 地址没有变,而它的MAC地址已经变成B的了。
由于局域网的网络流通不是根据IP地址进行,而是按照MAC地址进行传输。
如此就造成A传送给C的数据实际上是传送到B.这就是一个简单的ARP欺骗,如图所示。
2.ARP欺骗的防范措施a)在winxp下输入命令arp-sgate-way-jpgate-way-mac固化arp表,阻止arp欺骗。
b)使用ARP服务器。
通过该服务器查找自己的ARP转换表来响应其他机器的ARP厂播。
确保这台ARP服务器不被黑。
c)采用双向绑定的方法解决并且防止ARP欺骗。
d)ARP防护软件——ARPGuard。
通过系统底层核心驱动,无须安装其他任何第三方软件(如WinPcap),以服务及进程并存的形式随系统启动并运行,不占用计算机系统资源。
什么是arp欺骗
1、什么是arp欺骗由于局域网的网络流通不是根据IP地址进行,而是按照MAC地址进行传输。
所以,那个伪造出来的MAC地址在A上被改变成一个不存在的MAC地址,这样就会造成网络不通,导致A不能Ping通C!这就是一个简单的ARP欺骗。
从影响网络连接通畅的方式来看,ARP欺骗分为二种,一种是对路由器ARP表的欺骗;另一种是对内网PC的网关欺骗。
第一种ARP欺骗的原理是——截获网关数据。
它通知路由器一系列错误的内网MAC 地址,并按照一定的频率不断进行,使真实的地址信息无法通过更新保存在路由器中,结果路由器的所有数据只能发送给错误的MAC地址,造成正常PC无法收到信息。
第二种ARP 欺骗的原理是——伪造网关。
它的原理是建立假网关,让被它欺骗的PC向假网关发数据,而不是通过正常的路由器途径上网。
在PC看来,就是上不了网了,“网络掉线了”。
近期,一种新型的“ARP 欺骗”木马病毒正在校园网中扩散,严重影响了校园网的正常运行。
感染此木马的计算机试图通过“ARP 欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。
ARP欺骗木马的中毒现象表现为:使用校园网时会突然掉线,过一段时间后又会恢复正常。
比如客户端状态频频变红,用户频繁断网,IE浏览器频繁出错,以及一些常用软件出现故障等。
如果校园网是通过身份认证上网的,会突然出现可认证,但不能上网的现象(无法ping通网关),重启机器或在MS-DOS 窗口下运行命令arp -d后,又可恢复上网。
ARP欺骗木马十分猖狂,危害也特别大,各大学校园网、小区网、公司网和网吧等局域网都出现了不同程度的灾情,带来了网络大面积瘫痪的严重后果。
ARP欺骗木马只需成功感染一台电脑,就可能导致整个局域网都无法上网,严重的甚至可能带来整个网络的瘫痪。
该木马发作时除了会导致同一局域网内的其他用户上网出现时断时续的现象外,还会窃取用户密码。
如盗取QQ密码、盗取各种网络游戏密码和账号去做金钱交易,盗窃网上银行账号来做非法交易活动等,这是木马的惯用伎俩,给用户造成了很大的不便和巨大的经济损失。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关于讨论ARP哄骗的文章,黑防在第8期的《小窥ARP协议》和第9期《ARP SPOOF DoS 攻防详谈》均有介绍,不过,俗话说,授人鱼,不如授人以渔,更多的读者也许期待的是如何将其原理和编程实现结合。
本文的着笔点正是出于这样的目的,更是对上述两篇文章的一个补充,希望能给读者们真正理解ARP攻击的实质,同时,也给部分想学习而又害怕学习WinPcap的读者一些“师傅领进门”的感受。
【以下测试环境为WinXPsp1 + VC6.0sp6 + WinPcap3.14beta,其中,必须安装WinPcap3.0以上版本的驱动。
】首先,我们通过例子来回顾一下ARP哄骗和攻击的原理吧。
先来做个实验,先打开一个cmd 窗口,输入arp –a,该命令表示通过询问当前协议数据来查看本机ARP缓存保存的入口地址。
上面表示作者本人的主机IP为192.168.3.155,现在ARP缓存里只有两条IP为192.168.3.253和192.168.3.254的ARP缓存记录,很显然,两IP是作者主机所在局域网的网关(嘿嘿,校园网和ADSL),它的MAC地址为**-**-18-23-b8-10和**-**-4c-78-22-22,类型为dynamic,即动态缓存。
然后,ping同一局域网内的另一IP为192.168.3.162的主机,再次输入arp –a,得到结果。
看到,虽然PING不通,但ARP缓存却刷新了,添加了192.168.3.162这一项记录,并显示其MAC地址为**-**-ab-31-5c-3c,类型也是dynamic,显然,对方开了防火墙并设置了禁止内发的PING包,但是仍然暴露了该主机是活动主机的事实,而且对方的ARP缓存因此而刷新。
好了,到现在,我们可以把目标定为,伪造192.168.3.155的MAC地址为11-22-33-44-55-66,以达到哄骗的目的。
我们以此为基点,先进入编码的部分。
因为整个ARP Spoof&Dos都在交换环境的局域网内,涉及到的都是MAC层的通信,所以定义以太网首部和ARP首部就成为必要的了,这样我们才可以构造伪数据包,如下:typedef struct ehhdr{unsigned char eh_dst[6]; /* 目标以太网地址*/unsigned char eh_src[6]; /* 源以太网地址*/unsigned short eh_type; /* 以太网包类型*/}EHHDR, *PEHHDR;typedef struct arphdr{unsigned short arp_hrd; /* 硬件地址格式*/unsigned short arp_pro; /* 协议地址格式*/unsigned char arp_hln; /* 硬件地址长度*/unsigned char arp_pln; /* 协议地址长度*/unsigned short arp_op; /* ARP/RARP 操作*/unsigned char arp_sha[6]; /* 源发送者硬件地址*/unsigned long arp_spa; /* 源发送者协议地址*/unsigned char arp_tha[6]; /* 目标硬件地址*/unsigned long arp_tpa; /* 目标协议地址*/}ARPHDR, *PARPHDR;每个字段在注释里讲的很详细了,如果有疑问,可以查阅TCP/IP相关书籍。
下一步,笔者的Spoof实现需要输入2个IP地址外加一个可选的网卡地址,所以就涉及到解析输入的主机名或IP的实现,这个相信很多写过网络程序的读者都不陌生,如下:DWORD ResolveAddr(const char* host){PHOSTENT hp;DWORD host_ip;host_ip = inet_addr(host); /* 转换成网络地址*//* 如果是主机名或域名,非点分10进制IP */if (host_ip == INADDR_NONE) {hp = gethostbyname(host);if ( hp == NULL){printf("\nError: could not resolv hostname %s\n", host);exit(1);}elsehost_ip = *(DWORD*)(hp->h_addr_list[0]); /* 转换成32位网络地址*/}return host_ip;}然后,需要定义一个GetInterface()函数,顾名思义,就是获得本地主机网络接口的意思,因为基于WinPcap的几乎所有应用程序都需要选择合适的网卡适配器。
(很多刚接触WinPcap 的读者可能会感到很惶恐,好像WinPcap所用的API函数让很多Windows程序员一下子接收不了,其实很正常,用的多了,看的多了,慢慢的,我相信读者门会越来越喜欢强大的WinPcap的)GetInterface()定义如下:pcap_t* GetInterface(){pcap_t *fp;char errbuf[PCAP_ERRBUF_SIZE]; /* define PCAP_ERRBUF_SIZE 256 */int i, inum;pcap_if_t *alldevs, *d;/*取得设备列表*/if(pcap_findalldevs(&alldevs, errbuf) < 0) {fprintf(stderr,"Error in pcap_findalldevs: %s\n", errbuf);exit(1);}/* 打印设备列表*/i = 0;printf("\n\nInterfaces list:\n\n");for(d = alldevs; d; d = d->next) {printf("%d. %s", ++i, d->name);if(d->description) printf(" (%s)\n", d->description);else printf(" (No description available)\n");}if(i == 0) {printf("\nNo interfaces found! Make sure WinPcap is installed.\n");pcap_freealldevs(alldevs);exit(1);}if(i > 1) {printf("\n\nEnter the interface number (1 - %d): ",i);scanf("%d", &inum);if(inum < 1 || inum > i) {printf("\nInterface number out of range.\n");pcap_freealldevs(alldevs);exit(1);}} else inum = 1;/* 跳到被选择的网卡适配器接口*/inum--;for(d = alldevs, i = 0; i < inum; d = d->next, i++);fprintf(stderr, "\n\nAdapter used: %s\n\n", d->name);/* 从网络上打开活动的捕获行为,返回一个pcap_t类型描述符*/fp = pcap_open_live(d->name, 65535, 1, 1000, errbuf);if(fp == NULL) {printf("\nError: %s\n", errbuf);pcap_freealldevs(alldevs);exit(1);}/* 释放pcap_findalldevs()打开的接口列表*/pcap_freealldevs(alldevs);return(fp);}上面的注释已经比较清楚了,所有的涉及到的WinPcap的结构体和API函数,以及基于WinPcap程序的编译方法,大家都可以到http://winpcap.polito.it/在线查询或把文档下载后本机查询,或者到论坛询问。
在我的代码里,我假设如果用户输入可选的伪MAC地址,则使用这个自定义的伪MAC地址,如果不输入,则使用随机产生的伪MAC地址,代码部分如下:if (!argv[3]){sprintf((char*)mac, "%c%c%c%c%c%c",rand(), rand(), rand(), rand(), rand(), rand());}else{for(i=0; i<ETHERLEN; i++){sscanf(argv[3], "%02X", &tmp);mac[i] = tmp;argv[3] += 3;}}为了得到由系统时钟产生的随机数,必须在头文件里加入#include <time.h>,在程序里加入srand(time(NULL));WSAStartup(MAKEWORD(2, 2), &wsaData); /*初始化win sock库*/ip_add = ResolveAddr(argv[1]);ip_dst = ResolveAddr(argv[2]);WSACleanup(); /* 用完了,记住释放哦*/为了使用winsock2头文件,要指定#pragma comment(lib, "ws2_32.lib")来包含ws2_32.lib库文件。
下面就到了自定义构造以太头和ARP头了,这就是我们伪造MAC的加工厂:memcpy(ether->eh_dst, DEST, ETHERLEN);memcpy(ether->eh_src, mac, ETHERLEN);ether->eh_type = htons(ETHERTYPE_ARP); /* #define ETHERTYPE_ARP 0x0806 */arphdr->arp_hrd = htons(ARPHRD_ETHER);arphdr->arp_pro = htons(ETHERTYPE_IP);arphdr->arp_hln = ETHERLEN;arphdr->arp_pln = PROTOLEN;arphdr->arp_op = htons(ARPOP_REQUEST); /* 请求服务*/memcpy(arphdr->arp_sha, mac, ETHERLEN); /* 伪源MAC地址*/arphdr->arp_spa = ip_add; /* 伪源ARP 协议地址*/memcpy(arphdr->arp_tha, SOURCE, ETHERLEN); /* 伪目标MAC地址*/arphdr->arp_tpa = ip_dst; /* 伪目标ARP协议地址*/这里所有的宏都可以在我提供的arp.h头文件里得到对应的定义。