We use cookies to ensure you get the best experience on our website.
import pyshark
# Podaj ścieżkę do pliku pcap
pcap_file = 'traffic-analysis-exercise-object (2).pcap'
# Wczytanie pliku
cap = pyshark.FileCapture(pcap_file)
# Zbiory do unikania duplikatów
hosts = set()
hostnames = set()
usernames = set()
# Przechodzimy przez pakiety
for pkt in cap:
try:
# Adresy IP
if 'IP' in pkt:
hosts.add(pkt.ip.src)
hosts.add(pkt.ip.dst)
# DNS - hostname'y
if 'DNS' in pkt and hasattr(pkt.dns, 'qry_name'):
hostnames.add(pkt.dns.qry_name)
# DHCP - hostname'y
if 'DHCP' in pkt and hasattr(pkt.dhcp, 'hostname'):
hostnames.add(pkt.dhcp.hostname)
# NetBIOS - hostname'y
if 'NBNS' in pkt and hasattr(pkt.nbns, 'q_name'):
hostnames.add(pkt.nbns.q_name)
# SMB - nazwa użytkownika
if 'SMB' in pkt and hasattr(pkt.smb, 'user'):
usernames.add(pkt.smb.user)
# FTP - login
if 'FTP' in pkt and 'USER' in pkt.ftp.field_names:
usernames.add(pkt.ftp.request_arg)
# HTTP - autoryzacja basic
if 'HTTP' in pkt and hasattr(pkt.http, 'authorization'):
auth = pkt.http.authorization
if "Basic" in auth:
import base64
encoded = auth.split(" ")[1]
decoded = base64.b64decode(encoded).decode(errors='ignore')
usernames.add(decoded.split(":")[0])
except Exception as e:
continue # Pomijamy błędne pakiety
# Wyniki
print("Adresy hostów:")
for h in sorted(hosts):
print(f" - {h}")
print("\nNazwy hostów:")
for hn in sorted(hostnames):
print(f" - {hn}")
print("\nNazwy użytkowników:")
for u in sorted(usernames):
print(f" - {u}")
Example Output
Nazwy hostów:
Adresy hostów:
Cześć Podróżniku!
Ta strona ma nie być typowym poradnikiem w IT, Głównym jej cel to zapisanie krótkich notatek, które mogą się przydać w codziennym życiu podczas korzystania/konfiguracji różnych urządzeń np. Ustawienia DHCP na Routerze Cisco, Ustawieniu Karty sieciowej na Linuxie itp.
Wszelkie prawa zastrzeżone
Dodaj komentarz