Scapy ist ein leistungsstarkes Python-basiertes interaktives Paketmanipulationsprogramm und eine Bibliothek.
Es ist in der Lage, Pakete einer Vielzahl von Protokollen zu fälschen oder zu dekodieren, sie über die Leitung zu senden, sie zu erfassen, sie mithilfe von PCAP-Dateien zu speichern oder zu lesen, Anfragen und Antworten abzugleichen und vieles mehr. Es wurde entwickelt, um ein schnelles Paket-Prototyping zu ermöglichen, indem Standardwerte verwendet werden, die funktionieren.
Es kann die meisten klassischen Aufgaben wie Scannen, Tracerouting, Sondieren, Unit-Tests, Angriffe oder Netzwerkerkennung problemlos bewältigen (es kann hping
, 85 % von nmap
, arpspoof
, arp-sk
, arping
, tcpdump
, wireshark
, p0f
usw. ersetzen). Es funktioniert auch sehr gut bei vielen anderen spezifischen Aufgaben, die die meisten anderen Tools nicht bewältigen können, wie dem Senden ungültiger Frames, dem Einfügen eigener 802.11-Frames, der Kombination von Techniken (VLAN-Hopping + ARP-Cache-Poisoning, VoIP-Dekodierung auf WEP-geschützten Kanälen usw.). ..), 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 Informationen finden Sie im Abschnitt „Erste Schritte mit Scapy“, der Teil der Dokumentation ist.
Scapy kann problemlos als interaktive Shell für die Interaktion mit dem Netzwerk verwendet werden. Das folgende Beispiel zeigt, wie Sie eine ICMP-Echo-Request-Nachricht an github.com
senden und dann die IP-Adresse der Antwortquelle anzeigen:
sudo ./run_scapyWillkommen bei Scapy>>> p = IP(dst="github.com")/ICMP()>>> r = sr1(p)Emission beginnen: .Fertig zum Senden von 1 Paketen.*2 Pakete empfangen, 1 Antworten erhalten, verbleibende 0 Pakete>>> r[IP].src'192.30.253.113'
Die Dokumentation enthält fortgeschrittenere Anwendungsfälle und Beispiele.
Weitere nützliche Ressourcen:
Scapy in 20 Minuten
Interaktives Tutorial (Teil der Dokumentation)
Die schnelle Demo: eine interaktive Sitzung (einige Beispiele sind möglicherweise veraltet)
HTTP/2-Notizbuch
TLS-Notebooks
Scapy funktioniert ohne externe Python-Module auf Linux- und BSD-ähnlichen Betriebssystemen. Unter Windows müssen Sie einige obligatorische 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-Klon https://github.com/secdev/scapycd scapy ./run_scapy
Um von allen Scapy-Funktionen, wie z. B. dem Plotten, zu profitieren, möchten Sie möglicherweise Python-Module wie matplotlib
oder cryptography
installieren. Sehen Sie sich die Dokumentation an und befolgen Sie die Anweisungen zur Installation.
Der Code, die Tests und die Tools von Scapy sind unter der GPL v2 lizenziert. Die Dokumentation (alles, sofern in doc/
nicht anders angegeben, und mit Ausnahme des Logos) ist unter CC BY-NC-SA 2.5 lizenziert.
Möchten Sie einen Beitrag leisten? Großartig! Bitte nehmen Sie sich ein paar Minuten Zeit, um dies zu lesen!