快速入门 SCAPY 和 WIRESHARK(包括驱动程序)(自定义 WIFI 数据包)

Quick start with SCAPY and WIRESHARK (Including drivers) (Custom WIFI Packets)

带 WIFI 的 Scapy - 从设置到使用

本教程旨在帮助您完成本教程中使用的 scapy 和 wifi dongle 的设置和安装。

WIRESHARK、PYTHON 和 SCAPY

我花了一些时间在 scapy 上,想分享我的知识,因为有很多地方可能会出错。我使用的是 TP-Link wifi dongle TL-WN722N V2.

操作系统:

我发现首先你需要安装自己的驱动程序才能使用帧注入和监控模式。 Windows 在这里不是一个选项,因为监控模式在早期版本中已被贬低。接下来我尝试了 linux。 由于我自己是 linux 的新手,所以我玩了一会儿,发现大多数关于 WIFI 监控模式的教程只适用于 kali linux,如果你想用它来进行黑客攻击,这很好。我可以确认驱动程序工作的另一个操作系统是 Ubuntu(当前版本 20.04.2)。我还尝试在 raspbian 上安装驱动程序。它不起作用,但是 ubuntu 服务器版本可以安装在 raspberry pi 上。希望这能为您省去一些麻烦。

=> 使用 Kali 或 Ubuntu(桌面版和服务器版都适用于 ubuntu)


正在安装驱动程序

阅读以上段落后,这应该很容易,因为所有为 kali linux 制作的教程也适用于 ubuntu。以下是我安装所有内容所采取的步骤:

sudo apt update
sudo apt install bc make gcc
sudo rmmod r8188eu.ko
git clone -b v5.2.20 https://github.com/aircrack-ng/rtl8812au.git
cd rtl8812au
sudo -i
echo "blacklist r8188eu" > "/etc/modprobe.d/realtek.conf"
exit
make
sudo make install
sudo modprobe 8188eu

对我来说最常见的错误出现在调用 make 之后。这通常是由于内核错误,可以通过切换到 ubuntu 或 kali 来解决,因为这与操作系统有关。 在接下来的步骤之前不要忘记重新启动。


开启监控模式

这也有点难,因为对我来说,即使在rpi和我的台式机上使用相同的操作系统,错误也会出现在不同的地方。我的解决方案是简单地 fiddle 处理代码并尝试随机组合,从而使我取得成功。 请务必使用 iwconfig 来确定您的 wifi 加密狗的名称 使用这些命令

ifconfig wlan0 down
airmon-ng check kill                 //Only useful in some situations
usermod -a -G netdev USERNAME        //In case the operation is not permitted even though you are root
iwconfig wlan0 mode monitor          //On RPi simply use this command without turning wlan0 down
ifconfig wlan0 up
iwconfig                             //Check out whether you have been successful and the mode says 'monitor' now

不知道为什么它并不总是以相同的方式工作,但您很可能会成功执行上述命令。


使用 Scapy

最后,有趣的东西。准备好使用 pip 安装 scapy (python3 -m pip install scapy)。遗憾的是,scapy 仅支持 Python 到 3.8 版,因此请确保安装并激活正确的版本作为默认 python。您可能还需要以 root 身份 运行 脚本。 发送数据包的代码非常简单:

from scapy.all import *

conf.use_pcap = True                   //Not quiet sure if this is optional

send(IP(dst="0.0.0.0")/UDP(dport=123, sport=200)/Raw(load="I am WIFI"), iface="wlan0", loop=1, inter=0.2)

我并不是真的想制作一个关于 scapy 本身如何工作的教程,只是一个大图以及如何设置它。这是一个非常有趣的库,您绝对应该检查它 out

大多数错误将由导入引起,因为使用正确的 python 版本至关重要!另外,send() 和 sendp() 类似的方法也让我很困扰。我无法使用与上述相同的参数使用 sendp() 方法使用 wireshark 获取任何内容。 iface="wlan0" 负责选择发送数据包的接口。它应该与您之前使用 iwconfig 命令找到的接口匹配并设置为监控模式。


使用 Wireshark

Wireshark 是一款非常棒的工具,可用于制作您想做的任何事情的原型。如果某些东西不起作用,您应该先开始寻找那里。您可以使用它来识别您通过 运行ning Wireshark 在传输 wifi 加密狗上发送的内容,或者使用另一个 wifi 加密狗来接收您的数据包。如果您已正确完成所有操作并且 运行 python 脚本,在使用 Wireshark 录制时,您应该会收到许多“我是 WIFI”消息。


感谢您完成所有这些。我希望我能让一些人免于通宵达旦地试图找出内核、驱动程序或版本不匹配的问题。 一定要问我问题。