ARP脚本

来源:互联网 发布:大数据 方便面 编辑:程序博客网 时间:2024/06/04 23:24

ARP:地址解析协议,用来将IP地址转化成MAC地址的。 
在网络通信中,数据包首先被网卡接受到再去处理 上层协议,如果接受到的数据包的硬件地址与本机不符,则直接丢弃。所以当数据报到达目标网段后,需要知道目的主机的MAC地址才能通信。 
到达目的网段后,源主机发出ARP请求,询问目的主机的MAC地址是多少,并将这个请求广播到本网段,目的主机以太网地址填写FF:FF:FF:FF:FF:FF表示广播。目的主机收到ARP请求后,就发送一个ARP应答数据吧个源主机,将自己的硬件地址写到应答包中。

为了提高效率,每台主机都维护一个ARP缓存表,可以用命令arp -a命令查看。缓存表中的表项有过期时间,一般为20分钟,如果20分钟内没有再次使用的话,则表项失效。这主要是为了防止MAC地址发生变动。

28字节的ARP请求和应答数据报格式: 
这里写图片描述 
硬件类型:指链路层网络,0x0001是以太网。 
协议类型: 
0x0800表示IP协议。 
0x0806表示ARP协议。 
硬件地址长度:指的是MAC地址长度,为6。 
协议地址长度:IPV4是4个字节,IPV6是16个字节。 
op:op的值为0x0001表示ARP请求报文,op为0x0002表示ARP应答报文。 
发送端以太网地址:自己的MAC地址。 
发送端IP地址:自己的IP地址。 
目的以太网地址:ARP请求报文用全F表示。 
目的IP地址:目的主机的IP地址。 
由于以太网规定最小数据长度46字节,ARP协议只有28字节,所以有18个字节填充位。

当目的主机收到ARP请求报文好,还要给源主机发送一个应答报文。

原创粉丝点击