干货,使用java代码教你如何局域网内ARP攻击

最近在研读《深入理解计算机网络》,发现好多关于网络知识好匮乏。在看到ARP协议时,就在想java不是有接口可以获取计算机mac地址、ip、网卡等信息,是不是也可以伪造被攻击主机的mac地址进行攻击,使其不能上网。

首先,先熟悉一下ARP协议:

地址解析协议(Address Resolution Protocol),其基本功能为透过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。它是IPv4中网络层必不可少的协议,不过在IPv6中已不再适用,并被邻居发现协议(NDP)所替代。目前IPv6已经开始普及。(https://baijiahao.baidu.com/s?id=1616377983144293359&wfr=spider&for=pc

以下是百度截图:

 

 

延伸:MAC地址是数据链路层和物理层使用的地址(物理地址),而IP地址是网络层和以上各层使用的地址,是一种逻辑地址。

至于网路层次划分请自行百度。

 

我们所使用的安装有TCP/IP协议的电脑或路由器里都有一个ARP缓存表,通过cmd命令: arp -a,查询

 

arp报文格式:14字节 以太网首部 + 28字节 ARP请求/应答

以太网传输层

目标以太网地址:目标MAC地址。FF:FF:FF:FF:FF:FF (二进制全1)为广播地址。 
源以太网地址:发送方MAC地址。 
帧类型:以太类型,ARP为0x0806。

在以太网协议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,必须要知道目标主机的MAC地址。而在TCP/IP协议中,网络层和传输层只关心目标主机的IP地址。所以需要通过地址解析在主机在发送帧前将目标IP地址转换成目标MAC地址。

 

情景:当主机A要向本局域网上的某个主机B发送IP数据报时,就先在其ARP高速缓存中查找有无主机B的IP地址。如果有,就在ARP高速缓存中查出其对应的硬件地址,再把其硬件地址写入到MAC帧,然后通过局域网把该MAC帧发往此硬件地址,即实现主机A和主机B通信。

 

ARP攻击原理: ARP地址转换表是依赖于计算机中高速缓冲存储器动态更新的,而高速缓冲存储器的更新是受到更新周期的限制的,只保存最近使用的地址的映射关系表项

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值