出处 http://hi.baidu.com/yk103/blog/item/f39e253f9d6aeeed55e72361.html
次说道如何使用arping解决arp***,但是效果不是很好,有去网上搜寻了下,强势推出完美最终版本。 必备软件 Libnet 官方网站 下载地址 arpoison 官方网站 下载地址
安装方法(FC下成功,其他发行版可参考):
先安装libnet
tar -xvzf libnet.tar.gz
cd libnet
./configure
make
make install

安装arpoison
tar -xvzf arpoison-0.6.tar.gz
cd arpoison
gcc arpoison.c /usr/lib/libnet.a -o arpoison
mv arpoison /usr/sbin


用法:Usage: -i device -d dest_IP -s src_IP -t target_MAC -r src_MAC [-a] [-w time between packets] [-n number to send]


示例:
arpoison -i eth0 -d 172.16.18.254 -s 172.16.18.19 -t ff:ff:ff:ff:ff:ff -r 00:11:09:E8:78:DD
-i eth0 指定发送arp包的网卡接口eth0 -d 172.16.18.254 指定目的ip为172.16.18.254 -s 172.16.18.19 指定源ip为172.16.18.19 -t ff:ff:ff:ff:ff:ff 指定目的mac地址为ff:ff:ff:ff:ff:ff(arp广播地址) -r 00:11:09:E8:C8:ED 指定源mac地址为00:11:09:E8:C8:ED
wireshark截图如下:

写了一个小脚本,根据注释,相信聪明智慧的各位可以搞定linux下的arp***了:

#!/bin/bash
#arpDefend.sh
#######
#yk103#
#######

#网关mac地址
GATEWAY_MAC=00:D0:F8:FF:4A:23
#目的mac地址
DEST_MAC=ff:ff:ff:ff:ff:ff
#目的ip地址
DEST_IP=172.16.18.254
#本地网卡接口
INTERFACE=eth0
#$INTERFACE的mac地址
MY_MAC=00:11:09:E8:78:DD
#$INTERFACE的ip地址
MY_IP=172.16.18.19

#在本机建立静态ip/mac入口 $DEST_IP--$GATEWAY_MAC
arp -s $DEST_IP $GATEWAY_MAC

#发送arp reply ,使$DEST_IP更新$MY_IP的mac地址为$MY_MAC
arpoison -i $INTERFACE -d $DEST_IP -s $MY_IP -t $DEST_MAC -r $MY_MAC 1>/dev/null &



结束语:
arpoison需要root权限运行
arpoison需要libnet的支持
arpoison很好的解决了arp***的问题

题外话:
其实arpoison本身是可以作为arp***工具使用(看名字就可以知道 "poison" 毒),我们这方法可谓以毒攻毒。 至于如何用arpoison进行arp***,相信冰雪聪明的各位用不着我说了(嘿嘿~~)

最后送大家一个好网站 Spam War: The Complete Toolsbox
© yk103 转载请标明原文地址


linux下arp***的解决方案[转]
http://hi.baidu.com/yk103/blog/item/ede09a2fc5fcba391e3089f2.html

x下arp***的解决方案[原]2007年05月10日 星期四 00:58

最近我们这栋宿舍楼的ARP病毒又爆发了,Windows下的用户可以使用antiArp防火墙, 基本上能解决问题,可是喜欢linux的兄弟姐妹们怎么办呢,我今天就遇到这个档子烦心事。

我用的是fedora core 6,我先把几个镜像文件挂上,用关键字 arp 一搜,就搜到了arptables,和arpwatcher 首先是arpwatcher了,它好像只能监控本机ip/arp地址的改变之类的,好像不能防止arp***。 再一看arptables,立马想到了iptables,装上一看,果然,命令行都一模一样。 可是问题来了,保持本机不受arp***很简单(用静态arp绑定就可以了),但是人家网关也还是要受到***, 俺们又不是网络管理员,网关我只能 “远观而不能亵玩“!

此路不通,俺们改道,上网搜去! 找了几个“轮回”,arping这个东西映入我的眼帘,回到shell,发现已经安装拉:

“arping - send ARP REQUEST to a neighbour host“

arping [ -AbDfhqUV] [ -c count] [ -w deadline] [ -s source] -I
interface destination

-U Unsolicited ARP mode to update neighbours’ ARP caches. No
replies are expected.

关键命令:

arping -U -I 发送包的网卡接口 -s 源ip 目的ip
实例:
假设你的eth0接口对应的ip为192.168.1.1,网关为192.168.1.255你就可以使用

arping -U -I eth0 -s 192.168.1.1 192.168.1.255
-s src_ip 指定源ip为src_ip -I ethi 指定使用ethi网卡 相关命令参数表 -c n 发送n个数据报数目后退出程序 -w sec sec秒后退出程序 -f 收到一个回复包就退出程序 -q quiet安静模式 -V 显示版本

总结:
Fedora Core 6第一张盘里有arping,安装/Fedora/RPMS/iputils-20020927-41.fc6.i386.rpm包就可以
arping貌似没有antiarp厉害,但是也基本上够用了。
arping需要root权限运行



相关资料:
结合arping和tcpdump详解arp协议(EN)
arp***的原理及解决方法(中文)

© yk103 转载请标明原文地址