ARP协议

1.ARP协议

ARP,地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议;

2.工作过程

当数据包进行转发时,源主机不知道不知道目的主机的物理地址,会首先查一下自己的ARP高速缓存表,如果查询的IP-MAC值不存在,那么主机就向网络广播一个ARP请求包,这个包里面就有待查询的IP地址,而直接收到这份广播的包的所有主机都会查询自己的IP地址,如果收到广播包的某一个主机发现自己符合条件,那么就回应一个ARP应答包,将自己对应的硬件地址发回主机,源主机拿到ARP应答包后会更新自己的ARP缓存表。源主机根据新的ARP缓存表准备好数据链路层的的数据包发送工作。

3.ARP缓存表

ARP缓存:用来储存IP地址和MAC地址的缓冲区,其本质就是一个IP地址–>MAC地址的对应表,表中每一个条目分别记录了网络上其他主机的IP地址和对应的MAC地址。

每一个以太网或令牌环网络适配器都有自己单独的表。当地址解析协议被询问一个已知IP地址节点的MAC地址时,先在ARP缓存中查看,若存在,就直接返回与之对应的MAC地址,若不存在,才发送ARP请求向局域网查询。

4.ARP命令

(1)arp-a:查看本地的ARP缓存内容,所以,执行一个本地的PING命令后,ARP缓存就会存在一个目的IP的记录了。
这里写图片描述

(2)arp –d:删除ARP高速缓存中的某一项内容;

(3)arp –s:增加高速缓冲表中的内容,这个命令需要主机名和以太网地址。新增加的内容是永久性的,除非在命令行的末尾加上关键字temp。

5.ARP数据报

这里写图片描述

  • 以太网目的地址: 是(全1)的FF:FF:FF:FF:FF:FF,是广播报,目的是让同一个局域网上所有主机都收到ARP请求包
  • 以太网源地址: 就是发送端地址
  • 帧类型: 如果是ARP报文,值为0x0806
  • 硬件类型:表明ARP协议实现在那种类型的网络上,它的值为1,即表示以太网地址
  • 协议类型:表示解析协议(上层协议),这里一般是0x0800,即IP 地址
  • 硬件地址长度:也就是MAC地址长度,即6个字节
  • 协议地址长度:也就是IP地址长度,即4个字节
  • op:1表示ARP请求,2表示ARP应答
  • 发送端以太网地址:也就是源MAC地址
  • 发送端IP地址:也就是源IP地址
  • 目的端以太网地址:目标端MAC地址(如果是请求报文,是全0)
  • 目地端IP地址:也就是目地端的IP地址

6.编写一个arp脚本抓取对应主机MAC地址
使用ping命令连通IP地址为192.168.140.1~192.168.140.254的网络,抓取对应MAC地址:

#!/bin/bash
index=1
num=0
while [ $index -le 254 ]
do
    if [ $num -eq 20 ]
    then
        sleep 1
        num=0
        continue
    fi
    ping -c1 "192.168.31.$index" &
    let index++
    let num++
done

结果:
这里写图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值