Ich versuche, ICMP-Pakete in meinem Netzwerk mit Python abzuhören, habe aber eine Einschränkung festgestellt. Wenn ich mein Skript verwende, kann ich nur Pakete abhören, die Antworten erhalten (z. B. Echo-Antwort). Bei Offline-Hosts, die nicht existieren (z. B. ein Ping an 192.168.15.201 im selben Subnetz), kann ich die ICMP-Echoanfragen jedoch nicht erfassen.
Ich interessiere mich für Sniffing ICMP-Echoanfragen werden sowohl an vorhandene als auch an nicht vorhandene Hosts gesendet. Dies ist besonders nützlich bei Penetrationstests, beispielsweise bei der Erkennung von Ping-Sweeps. Mein Ziel ist es, diese ICMP-Echoanfragen auch dann zu identifizieren, wenn der Zielhost offline ist.
Hier ist ein Beispiel meiner Ausgabe beim Sniffing eines Online-Hosts:
[12/22/24]x@VM:~/.../practice$ sudo ./sniff.py
Ether / IP / ICMP 192.168.15.1 > 192.168.15.195 echo-reply 0 / Raw
Ether / IP / ICMP 192.168.15.195 > 192.168.15.1 echo-request 0 / Raw
Ether / IP / ICMP 192.168.15.1 > 192.168.15.195 echo-reply 0 / Raw
Ether / IP / ICMP 192.168.15.195 > 192.168.15.1 echo-request 0 / Raw
Ether / IP / ICMP 192.168.15.1 > 192.168.15.195 echo-reply 0 / Raw
Ether / IP / ICMP 192.168.15.195 > 192.168.15.1 echo-request 0 / Raw
Ether / IP / ICMP 192.168.15.1 > 192.168.15.195 echo-reply 0 / Raw
Ether / IP / ICMP 192.168.15.195 > 192.168.15.1 echo-request 0 / Raw
Ether / IP / ICMP 192.168.15.1 > 192.168.15.195 echo-reply 0 / Raw
Ether / IP / ICMP 192.168.15.195 > 192.168.15.1 echo-request 0 / Raw
Wenn ich jedoch einen Offline-Host anpinge (z. B. 192.168.15.201), sehe ich keine Pakete.
Hier ist der Code I Ich verwende
#!/usr/bin/python3
from scapy.all import *
def print_pkt(pkt):
print(pkt.summary())
# Corrected sniff call
pkts = sniff(iface='x', filter='icmp', prn=print_pkt)
Wie kann ich mit Python ICMP-Anfragen an Offline-Hosts abhören? ⇐ Python
-
- Similar Topics
- Replies
- Views
- Last post