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

Tags: , , , ,

4 comments

  1. [...]第三,被動偵測,以毒攻毒。之前寫過一篇關於send_arp的blog,其中無意間提到過這個方法。就是使用send_arp程序,糾正錯誤的ARP記錄。之所以說是以毒攻毒,是因為send_arp程序本身就是一個利用ARP協議缺陷的程序。惡意使用它,可以用來實現ARP欺騙(arp攻擊)。 [...]

    那兒有這個文章!我找不到!:]
    最近學校有人玩netcut! :mrgreen:
    我只是client,想著方法去對抗。
    我知道如果是cisco switch,好似有得去防止的!

    http://www.cisco.com/en/US/products/hw/switches/ps5023/products_configuration_example09186a00807c4101.shtml#dhcpsnoop

    曹宇伟 Reply:

    你指的是下面这篇么?
    http://www.bsdmap.com/archives/689.html

    感谢您提供的有价值的信息。

Leave a comment