Benutzer-Werkzeuge

Webseiten-Werkzeuge


scapy

improve

Scapy ist eine Python Bibliothek um Pakete einer Vielzahl von Protokollen zu fälschen oder zu decodieren, sie über die Leitung zu senden, sie zu erfassen, Anfragen und Antworten abzugleichen und vieles mehr. Es kann die meisten klassischen Aufgaben wie Scannen, Tracerouting, Sondieren, Komponententests, Angriffe oder Netzwerkerkennung problemlos bewältigen (es kann hping, 85% von nmap, arpspoof, arp-sk, arping, tcpdump, tshark, p0f usw. ersetzen).

from scapy.all import *
 
IFACES // show interfaces
 
// interactive
eth=Ether()
eth.src="aa:bb:cc:dd:ee:ff"
eth.dst="11:22:33:44:55:66"
ip=IP()
ip.src="1.1.1.1"
ip.dst="2.2.2.2"
tcp=TCP()
tcp.sport=22
tcp.dport=33
pkt=(eth/ip/tcp)
 
pkt.show()
 
send(pkt)
answer = sr1(pkt)
 
// 1 liner
send(IP(dst="1.1.1.1"),ICMP())
pkt=IP(dst="8.8.8.8")/UDP(dport=53)/DNS(rd=1,qd=DNSQR(qname="zarat.ml", qtype="A"))

Analyze

packet = IP(dst="192.168.0.1")/TCP(dport=80)
response = sr1(packet)
print(response[TCP].payload)

Packet handler

from scapy.all import *
 
def packet_handler(packet):
    if ICMP in packet:
        print(packet[IP].src, " --> ", packet[IP].dst)
 
sniff(filter="icmp", prn=packet_handler)

Alter

packet = IP(dst="192.168.0.1")/ICMP()
packet[IP].dst = "10.0.0.1"
send(packet)

DNS tracert

ans,unans=traceroute("8.8.8.8",l4=UDP(sport=RandShort())/DNS(qd=DNSQR(qname="mbcdn.lima-city.de")))
scapy.txt · Zuletzt geändert: 2024/03/28 14:13 (Externe Bearbeitung)