ubuntu下arp攻击防御和反击
1,简单绑定办法
1 2 3 4 5 6 7 | #查看网关地址 arp -nv 地址 类型 硬件地址 标志 Mask 接口 192.168.1.1 ether 00:14:78:67:cf:00 CM wlan0 <wbr><span style="color: #666666; font-style: italic;">#绑定方法一</span> arp <span style="color: #660033;">-s</span> 192.168.1.1 00:<span style="color: #000000;">14</span>:<span style="color: #000000;">78</span>:<span style="color: #000000;">67</span>:cf:00 </wbr> |
#绑定方法二
sudo vi /etc/ethers
添加下面这行内容并保存
192.168.1.1 00:14:78:67:cf:00
2,使用arpison
#arpison是个简单arp工具,可以自定义arp包的发送方式和内容
1 2 3 4 5 6 7 8 9 10 11 | #安装libnet sudo apt-get install libnet1-dev <wbr><span style="color: #666666; font-style: italic;">#下载arpison</span> <span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>www.arpoison.net<span style="color: #000000; font-weight: bold;">/</span>arpoison-<span style="color: #000000;">0.6</span>.tar.gz <wbr><span style="color: #666666; font-style: italic;">#解压并编译arpison</span> <span style="color: #c20cb9; font-weight: bold;">tar</span> zxvf arpoison-<span style="color: #000000;">0.6</span>.tar.gz <span style="color: #7a0874; font-weight: bold;">cd</span> arpoison <span style="color: #c20cb9; font-weight: bold;">gcc</span> arpoison.c <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>libnet.a <span style="color: #660033;">-o</span> arpoison <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">cp</span> arpoison <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin </wbr></wbr> |
#简要命令帮助
Usage: -i -d -s -t -r
-i 网卡接口,比如eth0
-d 目的IP
-s 源IP
-t 目的IP对应的MAC地址
-r 源IP对应的MAC地址
#举例(反击就是把源IP改成被攻击者的ip,mac地址填写错误的)
arpoison -i wlan0 -d 192.168.1.1 -s 192.168.1.251 -t 00:14:78:67:cf:00 -r 00:1f:3c:6d:a3:c7
3,arpison使用脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | #/bin/bash #pw.sh #网关mac地址 GATEWAY_MAC=00:14:78:67:cf:00 <wbr><span style="color: #666666; font-style: italic;">#目的mac地址</span> <span style="color: #007800;">DEST_MAC</span>=00:<span style="color: #000000;">14</span>:<span style="color: #000000;">78</span>:<span style="color: #000000;">67</span>:cf:00 <wbr><span style="color: #666666; font-style: italic;">#目的ip地址(网段广播地址)</span> <span style="color: #007800;">DEST_IP</span>=192.168.1.1 <wbr><span style="color: #666666; font-style: italic;">#本地网卡接口</span> <span style="color: #007800;">INTERFACE</span>=wlan0 <wbr><span style="color: #666666; font-style: italic;">#$INTERFACE的mac地址</span> <span style="color: #007800;">MY_MAC</span>=00:1f:3c:6d:a3:c7 <wbr><span style="color: #666666; font-style: italic;">#$INTERFACE的ip地址</span> <span style="color: #007800;">MY_IP</span>=192.168.1.251 <wbr><span style="color: #666666; font-style: italic;">#在本机建立静态ip/mac入口 $DEST_IP--$GATEWAY_MAC</span> arp <span style="color: #660033;">-s</span> <span style="color: #007800;">$DEST_IP</span> <span style="color: #007800;">$GATEWAY_MAC</span> <wbr><span style="color: #666666; font-style: italic;">#发送arp reply ,使$DEST_IP更新$MY_IP的mac地址为$MY_MAC</span> arpoison <span style="color: #660033;">-i</span> <span style="color: #007800;">$INTERFACE</span> <span style="color: #660033;">-d</span> <span style="color: #007800;">$DEST_IP</span> <span style="color: #660033;">-s</span> <span style="color: #007800;">$MY_IP</span> <span style="color: #660033;">-t</span> <span style="color: #007800;">$DEST_MAC</span> <span style="color: #660033;">-r</span> <span style="color: #007800;">$MY_MAC</span> <span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">>/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null <span style="color: #000000; font-weight: bold;">&</span> </wbr></wbr></wbr></wbr></wbr></wbr></wbr> |
#执行脚本
sudo ./pw.sh
也可以安装shada arpfirewall
http://code.google.com/p/shadaarp/downloads/list
(软件下载)
安装后提示:
代码:
没有找到驱动,请执行以下命令后再次启动程序:
cd /usr/local/lib/shada-arpfirewall
sudo make
cd /usr/local/lib/shada-arpfirewall
sudo make
代码:
may@may-desktop:~$ cd /usr/local/lib/shada-arpfirewall
may@may-desktop:/usr/local/lib/shada-arpfirewall$ sudo make clean
[sudo] password for may:
rm *.o;rm *.ko
rm: 无法删除 “*.o”: 没有该文件或目录
rm: 无法删除 “*.ko”: 没有该文件或目录
make: *** [clean] 错误 1
may@may-desktop:/usr/local/lib/shada-arpfirewall$ sudo make
make -C /lib/modules/2.6.27-14-generic/build M=/usr/local/lib/shada-arpfirewall modules
make[1]: 正在进入目录 `/usr/src/linux-headers-2.6.27-14-generic'
<wbr> CC [M]<wbr> /usr/local/lib/shada-arpfirewall/shadaarp.o<br><wbr> Building modules, stage 2.<br><wbr> MODPOST 1 modules<br><wbr> CC<wbr><wbr><wbr> /usr/local/lib/shada-arpfirewall/shadaarp.mod.o<br><wbr> LD [M]<wbr> /usr/local/lib/shada-arpfirewall/shadaarp.ko<br> make[1]:正在离开目录 `/usr/src/linux-headers-2.6.27-14-generic'<br> may@may-desktop:/usr/local/lib/shada-arpfirewall$</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
may@may-desktop:/usr/local/lib/shada-arpfirewall$ sudo make clean
[sudo] password for may:
rm *.o;rm *.ko
rm: 无法删除 “*.o”: 没有该文件或目录
rm: 无法删除 “*.ko”: 没有该文件或目录
make: *** [clean] 错误 1
may@may-desktop:/usr/local/lib/shada-arpfirewall$ sudo make
make -C /lib/modules/2.6.27-14-generic/build M=/usr/local/lib/shada-arpfirewall modules
make[1]: 正在进入目录 `/usr/src/linux-headers-2.6.27-14-generic'
<wbr> CC [M]<wbr> /usr/local/lib/shada-arpfirewall/shadaarp.o<br><wbr> Building modules, stage 2.<br><wbr> MODPOST 1 modules<br><wbr> CC<wbr><wbr><wbr> /usr/local/lib/shada-arpfirewall/shadaarp.mod.o<br><wbr> LD [M]<wbr> /usr/local/lib/shada-arpfirewall/shadaarp.ko<br> make[1]:正在离开目录 `/usr/src/linux-headers-2.6.27-14-generic'<br> may@may-desktop:/usr/local/lib/shada-arpfirewall$</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
代码:
常见问题解答
1.提示:“加载驱动失败”
这可能是你的系统升级了内核,驱动需要重编,解决办法是:
$cd /usr/local/lib/shada-arpfirewall
$sudo make clean
$sudo make
以上命令是重编驱动。
2.提示“没有找到驱动”
按照1的解决办法执行。
3.为什么在64位系统下无法运行
目前没有提供64位版本,一段时间后会提供。
4.为什么从svn中代码编译出来的版本和deb包安装的界面不同
svn中是旧版本,基本QT开发,仅能抓取到arp包,不能拦截,新版代码基于Gtkmm开发,带拦截功能,代码尚未上传,目前仅提供二进制包。
1.提示:“加载驱动失败”
这可能是你的系统升级了内核,驱动需要重编,解决办法是:
$cd /usr/local/lib/shada-arpfirewall
$sudo make clean
$sudo make
以上命令是重编驱动。
2.提示“没有找到驱动”
按照1的解决办法执行。
3.为什么在64位系统下无法运行
目前没有提供64位版本,一段时间后会提供。
4.为什么从svn中代码编译出来的版本和deb包安装的界面不同
svn中是旧版本,基本QT开发,仅能抓取到arp包,不能拦截,新版代码基于Gtkmm开发,带拦截功能,代码尚未上传,目前仅提供二进制包。