Inhaltsverzeichnis

Scapy

Einführung

Scapy benutzen

Übersicht: ls() listet alle verfügbaren Protokolle und Protokoll-Optionen,
lsc() zeigt alle verfügbaren Scapy Kommandos.

Man kann ls() auch auf ein generiertes Paket anwenden und zeigt die aktuellen sowie die Default-Werte der einzelnen Felder an:

 pkt = Ether()/IP()/UDP()
 ls(pkt)

The summary() method provides a quick look at the packet’s layers:

 pkt.summary()

The show() and show2() methods provide a deeper look into the packet structure:

 pkt.show()  # hierarchische Ansicht
 pkt.show2() # fügt auch dynamisch berechnete Werte ein (Prüfsummen, etc.)

The command() method returns a string with the commands necessary to recreate that packet:

 pkt.command()

haslayer() and getlayer() test for the existence of a layer and return this layer.

Paketgenerierung

i = IP()
t = UDP() # or TCP()
t.sport = t.dport = 50000
d = "some data to send"
p = i/t/d
send(p) # sends at IP level
sendp(Ether()/p) # sends at Ethernet level

Auf die Felder der einzelnen Layer kann auch direkt zugegriffen werden:

>>> p=IP()/UDP()
>>> p[UDP].sport = 123

Scapy-GUI

git remote add oldrepo https://github.com/tscheffl/scapy-gui-old.git
git remote update
git log --all --oneline --graph --decorate
git cherry-pick f5e460e
git remote remove oldrepo
git remote

Generieren von Tunnelpaketen

Fehlende Protokolle

Fragmentierung

Dokumentation

WLAN

Verschiedenes

Aarghh… das ganze funktioniert allerdings nur für einzelne Pakete und nicht für Listen… m.E. ein Bug.

Installation