地址解析协议(APR)

概念

地址解析协议, 即 ARP (Address Resolution Protocol)是根据IP地址获取物理地址的一个TCP/IP协议。 主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。

作用

建立局域网内主机间的MAC地址与IP地址的映射。

工作原理

假设主机A向主机B第一次发送信息,主机A只知道主机B的IP地址但却不知道MAC地址。主机A先以广播形式发送携带“主机A的MAC地址,主机A的IP地址,请求主机B的IP地址”信息的ARP请求,在同一局域网上的所有主机都可以收到这个请求,但只有主机B的IP地址和请求匹配,所以主机B收下这个请求,主机B先记下主机A的MAC和IP地址,写入ARP缓存。最后主机B以单播的形式发送携带“主机B的MAC地址,主机B的IP地址”信息的ARP响应,主机A收到后记下主机B的MAC和IP地址,写入ARP缓存。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用Wireshark抓取ARP数据包并使用Java解析,可以按照以下步骤操作: 1. 启动Wireshark并选择要抓取的网络接口。 2. 设置过滤器,只抓取ARP数据包。在过滤器中输入“arp”。 3. 开始抓取数据包。 4. 分析抓取到的数据包,找到需要解析的数据包。 5. 将数据包导出为PCAP文件。 6. 使用Jpcap库读取PCAP文件,并解析ARP数据包。 以下是Java代码示例: ```java import java.io.IOException; import jpcap.*; import jpcap.packet.*; public class ARPPacketParser { public static void main(String[] args) throws IOException { // 读取PCAP文件 String fileName = "arp.pcap"; JpcapCaptor captor = JpcapCaptor.openFile(fileName); // 解析ARP数据包 while (true) { Packet packet = captor.getPacket(); if (packet == null) break; if (packet instanceof ARPPacket) { ARPPacket arpPacket = (ARPPacket) packet; // 解析ARP数据包 System.out.println("Sender MAC: " + arpPacket.getSenderHardwareAddress()); System.out.println("Sender IP: " + arpPacket.getSenderProtocolAddress()); System.out.println("Target MAC: " + arpPacket.getTargetHardwareAddress()); System.out.println("Target IP: " + arpPacket.getTargetProtocolAddress()); } } // 关闭文件 captor.close(); } } ``` 在上面的代码中,我们使用Jpcap库打开并读取了一个PCAP文件。然后,在循环中逐个解析数据包,如果是ARP数据包,则解析出发送方MAC地址、IP地址和目标方MAC地址、IP地址,并打印出来。 注意,要使用Jpcap库,需要将jpcap.jar文件添加到项目中。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值