Benutzer-Werkzeuge

Webseiten-Werkzeuge


ne:scapy

Dies ist eine alte Version des Dokuments!


Einführung

Overview: ls() lists all available protocols and protocol options, lsc() shows available scapy commands.

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()

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

Generieren von Tunnelpaketen

Fehlende Protokolle

Fragmentierung

Dokumentation

Verschiedenes

  • Das Capturing/Decoding ist langsam (cf) bei Problemen kann zusätzlich pypcap benutzt werden (cf)
  • Für feste und wiederkehrende Test-Abläufe ist scapytain praktisch. Es erlaubt die Definition vieler Tests (mit ja/nein-Resultaten) mit Gruppierungen und Abhängigkeiten.
  • anderes penetration test tool auf Scapy-Basis: http://inguma.eu/projects/inguma
  • Scapy-Pakete haben (undokumentiert) auch Zeitstempel. Alle Pakete haben das Attribut time für den Zeitpunkt der Erstellung (d.h. Instanziierung von Packet()). – Beim Senden wird zudem das Attribut sent_time gesetzt. Bsp.:
     >>> res,unans = srloop(IP(dst=server)/UDP()/DNS(rd=1, id=1, qd=DNSQR(qname=name, qtype=0xff, qclass="IN")), count = 3)
     >>> [res[x][0].time for x in range(len(res))]
     [1323265992.993212, 1323265992.993212, 1323265992.993212]
     >>> [res[x][0].sent_time for x in range(len(res))]
     [1323265993.054496, 1323265994.0183351, 1323265995.0216329]

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

  • Mit den stopper*-Argumenten lässt sich die Funktion sniff auch in Threads benutzen und 'von außen' beenden (Beispiel/Doku). Alternative Implementierung: mit multiprocessing.Event

Installation

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
ne/scapy.1609210696.txt.gz · Zuletzt geändert: 2020/12/29 02:58 von admin