Python-basierte interaktive Bibliothek zur Paketmanipulation zum Erzeugen, Dekodieren, Senden, Erfassen und Analysieren von Netzwerkpaketen über eine breite Palette von Protokollen, mit Unterstützung für Scanning, Tracerouting, Angriffe und Netzwerkentdeckung.
ScapyScapy ist ein leistungsstarkes, auf Python basierendes interaktives Paketmanipulationsprogramm und eine Bibliothek.
Es kann Pakete einer Vielzahl von Protokollen erstellen oder decodieren, sie auf das Netzwerk senden, erfassen, in pcap-Dateien speichern oder daraus lesen, Anfragen und Antworten abgleichen und vieles mehr. Es ist darauf ausgelegt, schnelles Paket-Prototyping durch die Verwendung von Standardwerten zu ermöglichen, die funktionieren.
Es kann problemlos die meisten klassischen Aufgaben wie Scannen, Tracerouting, Sondieren, Unit-Tests, Angriffe oder Netzwerkerkennung bewältigen (es kann hping, 85 % von nmap, arpspoof, arp-sk, arping, tcpdump, wireshark, p0f etc. ersetzen). Es eignet sich auch hervorragend für viele andere spezifische Aufgaben, die die meisten anderen Tools nicht bewältigen können, wie das Senden ungültiger Frames, das Injizieren eigener 802.11-Frames, das Kombinieren von Techniken (VLAN-Hopping+ARP-Cache-Vergiftung, VoIP-Decodierung auf WEP-geschützten Kanälen, ...) usw.
Scapy unterstützt Python 3.7+. Es ist plattformübergreifend konzipiert und läuft auf vielen verschiedenen Plattformen (Linux, OSX, *BSD und Windows).
Scapy kann entweder als Shell oder als Bibliothek verwendet werden. Weitere Details finden Sie unter Erste Schritte mit Scapy, einem Teil der Dokumentation.
Scapy kann einfach als interaktive Shell zur Interaktion mit dem Netzwerk verwendet werden.
Das folgende Beispiel zeigt, wie eine ICMP-Echo-Request-Nachricht an github.com gesendet und dann die Quell-IP-Adresse der Antwort angezeigt wird:
sudo ./run_scapy
Welcome to Scapy
>>> p = IP(dst="github.com")/ICMP()
>>> r = sr1(p)
Begin emission:
.Finished to send 1 packets.
*
Received 2 packets, got 1 answers, remaining 0 packets
>>> r[IP].src
'192.30.253.113'
Die Dokumentation enthält fortgeschrittenere Anwendungsfälle und Beispiele.
Weitere nützliche Ressourcen:
Scapy funktioniert ohne externe Python-Module auf Linux- und BSD-ähnlichen Betriebssystemen. Unter Windows müssen Sie einige zwingende Abhängigkeiten installieren, wie in der Dokumentation beschrieben.
Auf den meisten Systemen ist die Verwendung von Scapy so einfach wie das Ausführen der folgenden Befehle:
git clone https://github.com/secdev/scapy
cd scapy
./run_scapy
Um alle Funktionen von Scapy wie z. B. das Plotten zu nutzen, müssen Sie möglicherweise Python-Module wie matplotlib oder cryptography installieren. Siehe die Dokumentation und befolgen Sie die Anweisungen zur Installation.
Der Code, die Tests und die Werkzeuge von Scapy sind unter GPL v2 lizenziert.
Die Dokumentation (alles, sofern nicht anders in doc/ gekennzeichnet, und mit Ausnahme des Logos) ist unter CC BY-NC-SA 2.5 lizenziert.
Sie möchten mitwirken? Großartig! Bitte nehmen Sie sich ein paar Minuten Zeit, um dies zu lesen!