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

kali不能使用arpspoof命令_kali不能使用arpspoof命令_ARP欺骗工具arpspoof的用法「建议收藏」arpspoof是一个好用的ARP欺骗工具,Kalilinux中自带了该工具,在ubuntu中,安装它只需运行命令:sudoapt-getinstalldsniff安装完成后,输入命令:manarpspoof可以查看使用手册,2.4版本的手册内容如下(自己翻译的,非官方):名字arpspoof-截获交换局域网中的数据包用法arpspoof[-iinterface][-cow…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

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.net/185153.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 版本号命名规则简述「建议收藏」

    版本号命名规则简述「建议收藏」GNU风格的版本号管理策略主版本号.次版本号.修正版本号1.新建项目初版,版本号为1.0.0。1.0.02.当项目在进行了局部修改或bug修正时,主版本号和子版本号都不变,修正版本号加1;1.0.13.当项目在原有的基础上增加了部分功能时,主版本号不变,子版本号加1,修正版本号复位为0,因而可以被忽略掉;1.1.04.当项目在进行了重大修改或局部修正累积较多,而导致项目整体发

    2025年10月18日
    3
  • X.509数字证书的结构与解析

    X.509数字证书的结构与解析1、什么叫数字签名数字签名:将报文按双方约定的HASH算法计算得到一个固定位数的报文摘要。在数学上保证:只要改动报文中任何一位,重新计算出的报文摘要值就会与原先的值不相符。这样就保证了报文的不可更改性。将该报文摘要值用发送者的私人密钥加密,然后连同原报文一起发送给接收者,而产生的报文即称数字签名2、什么叫数字证书数字证书:数字证书就是互联网通讯中标志通讯各方身份信息的一系列数据,提供了一种在In

    2022年5月12日
    38
  • pytest指定用例_测试用例怎么编写

    pytest指定用例_测试用例怎么编写前言测试用例在设计的时候,我们一般要求不要有先后顺序,用例是可以打乱了执行的,这样才能达到测试的效果.有些同学在写用例的时候,用例写了先后顺序,有先后顺序后,后面还会有新的问题(如:上个用例返回

    2022年7月28日
    3
  • Java中compareTo()方法比较字符串详解

    Java中compareTo()方法比较字符串详解中心:String是字符串,它的比较用compareTo方法,它从第一位开始比较,如果遇到不同的字符,则马上返回这两个字符的ascii值差值.返回值是int类型1.当两个比较的字符串是英文且长度不等时,1)长度短的与长度长的字符一样,则返回的结果是两个长度相减的值a=”hello”;b=”hell”;num=1;或者a=”h”;b=”hello”;num=4;2)…

    2022年7月13日
    18
  • 阿里云疯狂促销 公有云之战刚鸣枪

    阿里云疯狂促销 公有云之战刚鸣枪

    2021年9月3日
    67
  • Git 工具 – 高级合并「建议收藏」

    高级合并在Git中合并是相当容易的。因为Git使多次合并另一个分支变得很容易,这意味着你可以有一个始终保持最新的长期分支,经常解决小的冲突,比在一系列提交后解决一个巨大的冲突要好。然而,有时也会有棘手的冲突。不像其他的版本控制系统,Git并不会尝试过于聪明的合并冲突解决方案。Git的哲学是聪明地决定无歧义的合并方案,但是如果有冲突,它不会尝试智能地自动解决它。因此,如果很久之后才合并两个分叉的分支,你可能会撞上一些问题。在本节中,我们将会仔细查看那些问题是什么以及Git

    2022年4月6日
    75

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号