send_arp的一个角本

send_arp 包含在RedHat的集群组件piranha里。send_arp.c

send_arp是一个比较底层的程序,在LVS集群里,要用到。

它的主要作用,我的理解是,用来让交换机或者路由器更新本机在对方MAC缓存表里的信息,特别是路由器。

比如,当你对调了两台设备的IP地址时,可能会有一段时间(视情况而定)这两台机器死活访问不了网关。这是因为网关(路由器)里的MAC表缓存里存的还是原来的MAC地址。

下面是在网上看到一个角本,大致可以展示send_arp的语法。不过,这个角本,想了半天,难道是用来防止本机被ARP欺骗的?还是要跟别人抢IP?

#!/bin/sh
#
mac1=`ifconfig eth0 |grep “HWaddr” |cut -c39-55 `

echo Sendarp start. send 你的IP地址 = $mac1

while true;
do
send_arp 你的IP地址 $mac1 你的IP地址 ff:ff:ff:ff:ff:ff
sleep 2
done

2 Comments

  1. Piranha for LVS | 花开的地方 2008-09-15, 13:20

    [...] /usr/sbin/send_arp tool  to  notify network of a new IP address / MAC address mapping. 这个工具非常有用。之前有一篇《send_arp的一个角本》,我曾经简单介绍过。 [...]

  2. ARP攻击对策(for Linu | 花开的地方 2008-09-29, 15:58

    [...] 第三,被动侦测,以毒攻毒。之前写过一篇关于send_arp的blog,其中无意间提到过这个方法。就是使用send_arp程序,纠正错误的ARP记录。之所以说是以毒攻毒,是因为send_arp程序本身就是一个利用ARP协议缺陷的程序。恶意使用它,可以用来实现ARP欺骗(arp攻击)。 [...]

Add a Comment