Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
passer — Localizzatore passivo di servizi, uno sniffer Python che identifica server, client, nomi e molto altro | Kitploit
Strumenti/GitHubGitHub/activecm/passer
Strumenti DifensiviSniffing e Analisi dei PacchettiRicognizioneMappatura della ReteNetwork ForensicsRaccolta InformazioniSicurezza di ReteSpoofing dell'Impronta DigitaleAnalisi DNS
GitHubactivecm/passer

passer

Localizzatore passivo di servizi, uno sniffer Python che identifica server, client, nomi e molto altro

26653168 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Vedi Repository
Condividi

passer

Localizzatore di servizi passivo, uno sniffer python che identifica server, client, nomi e molto altro

Introduzione

Note rapide per iniziare con passer, lo sniffer passivo di servizi. Sei responsabile di ottenere il permesso per sniffare.

Passer può funzionare da una cattura di pacchetti live o da un file pcap (parametro da riga di comando, vedi gli esempi sotto). Riporta i servizi e i client live, le schede ethernet sulla lan, le voci dns, i sistemi operativi e i router - tutto in modo passivo!

Se stai usando windows o i tuoi percorsi ai file di supporto non corrispondono ai miei per qualche altro motivo, fammi sapere dove sono e sarò lieto di aggiornare lo script.

Installazione

Requisiti

  • Python >=2.4 e <3.0
  • Librerie Python (vedi requirements.txt)
    • ipaddress
    • pytz
    • scapy>=2.4.0

Opzionale (ma consigliato)

  • nmap
    • per i produttori Ethernet e le stringhe dei servizi
  • ettercap, wireshark e/o arp-scan
    • per ulteriori produttori Ethernet
  • p0f versione 2
    • per il file di fingerprint del sistema operativo

Ubuntu/Debian e distribuzioni basate su deb

# Install system dependencies
sudo apt-get install arp-scan ettercap-text-only nmap wireshark 
# Install python dependencies
sudo pip install -r requirements.txt
# Prevent Scapy from performing DNS lookups
echo 'noenum = [ Resolve(), TCP_SERVICES, UDP_SERVICES ]' >> ~/.scapy_startup.py

Redhat/CentOS/Fedora e distribuzioni basate su rpm

# Install system dependencies
sudo yum install arp-scan ettercap nmap wireshark
# Install python dependencies
sudo pip install -r requirements.txt
# Prevent Scapy from performing DNS lookups
echo 'noenum = [ Resolve(), TCP_SERVICES, UDP_SERVICES ]' >> ~/.scapy_startup.py

Windows (incompleto)

Per installare scapy, consulta la guida all'installazione.

Docker

Passer è disponibile anche come immagine Docker. Se non hai già Docker, ecco un modo rapido e semplice per installarlo su Linux:

curl -fsSL https://get.docker.com | sh -

Altrimenti, segui le istruzioni di installazione per il tuo sistema operativo.

Per la maggior parte degli utilizzi, consigliamo lo script passer incluso in questo repository. Questo script gestirà tutte le

wget https://raw.githubusercontent.com/activecm/passer/master/passer
chmod +x passer

Puoi quindi usare questo script esattamente come faresti in uno qualsiasi degli esempi seguenti. Ad esempio:

./passer -i eth0
# The equivalent without using the included script would be:
docker run --rm --name=passer -i --init --net=host --cap-add=net_raw activecm/passer -i eth0

Per fermare l'esecuzione del passer:

docker stop passer

Esempi

Sniffing in tempo reale come root

/path/to/passer.py

Questo intercetta il traffico da tutte le interfacce di rete e invia tutte le righe di output alla tua console.

Intercettare il traffico in tempo reale come utente non-root

sudo /path/to/passer.py

o

su - -c '/path/to/passer.py'

Sniff in tempo reale come root, ma solo da una singola interfaccia

/path/to/passer.py -i IfaceName

L'esecuzione di route dovrebbe mostrare alcune interfacce attive che potresti utilizzare.

❕ -i è incompatibile con -r.

Leggi i pacchetti da un file pcap; non sono necessari privilegi di root

/path/to/passer.py -r /path/to/packets.pcap

❕ -r è incompatibile con -i.

Accetta dati pcap grezzi su stdin

cat packetdata.pcap | ./passer.py -r /proc/self/fd/0
zcat packetdata.pcap.gz | ./passer.py -r /proc/self/fd/0
bzcat packetdata.pcap.bz2 | ./passer.py -r /proc/self/fd/0
tcpdump -i eth0 -qtnp -w - | ./passer.py -r /proc/self/fd/0
# etc...

Questo ti permette di catturare pacchetti con qualsiasi strumento in grado di salvare i pacchetti in un file pcap, e successivamente elaborarli con passer su un sistema diverso.

Salva le righe di output in un file di testo per un'elaborazione successiva

/path/to/passer.py -l /path/to/networkinfo.txt

Sopprimere gli avvisi e altre informazioni di debug

/path/to/passer.py 2>/dev/null

Mostra la schermata di aiuto

/path/to/passer.py -h

Salva i pacchetti "strani"/non gestiti in un file pcap

/path/to/passer.py -u /path/to/oddpackets.pcap

Questo è generalmente destinato al processo di sviluppo; i pacchetti salvati in questo file sono quelli per cui è necessario scrivere le firme. Contributi di pacchetti insoliti, descrizioni di servizi e patch al programma sono accolti con gratitudine.

Applicare un filtro BPF per limitare quali pacchetti vengono elaborati

Questo dovrebbe essere semplice come inserire il filtro BPF tra virgolette singole alla fine della riga di comando. A partire dalla versione 1.16, la libreria sottostante non sembra utilizzare con successo il filtro fornito, ma esiste una soluzione alternativa. Usa tcpdump per eseguire il filtraggio, e passa l'insieme ridotto di pacchetti a passer su stdin, come sopra:

tcpdump -r packets.pcap -w - 'icmp or arp' | ./passer.py -r /proc/self/fd/0

Consulta la sezione "Sample filters" riportata di seguito per alcuni suggerimenti sui filtri da utilizzare sia per la cattura anticipata dei pacchetti sia per lo sniffing in tempo reale.

Risoluzione dei problemi

socket.error: (1, 'Operation not permitted')

Probabilmente stai cercando di sniffare in tempo reale come utente non-root. Accedi come root, usa sudo/su, oppure lavora con file pcap.

Se passer va in crash o non funziona sul tuo sistema, apri una issue che includa il messaggio di errore, se presente, e qualsiasi dettaglio sul tuo sistema operativo.

Formato di output

L'output di Passer va su stdout e, se fornisci il parametro da riga di comando -l /path/to/logfile, anche su quel file. Ecco il formato:

TypeIPAddrProtoStateOptional description (may be empty)
'IP'IPaddr'IP'dead or livep0f OS description
'MA'IPaddr'Ethernet'MacAddrManufDescription
'TC'IPaddr'TCP_'Portclosed or openclient description
'TS'IPaddr'TCP_'Portclosed or listeningserver description
'UC'IPaddr'UDP_'Portopen or closedudp client port description
'US'IPaddr'UDP_'Portopen or closedudp server port description
'DN'IPaddr'A' or 'PTR'hostnamepossible extra info
'RO'IPaddr'TTLEx'routerpossible extra info
  • Colonna 1: Un codice di 2 lettere per il tipo di record
  • Colonna 2: L'indirizzo IP caratterizzato.
  • Colonna 3: Il protocollo coinvolto, oppure "come lo sappiamo?"
  • Colonna 4: lo stato dell'oggetto descritto
  • Colonna 5: informazioni aggiuntive sull'oggetto

Le righe sono separate da virgole per un facile caricamento in un foglio di calcolo o per l'importazione SQL. Nessuno dei campi dovrebbe contenere virgole. C'è un file di output di esempio su http://www.stearns.org/passer/passer-sample-log.txt .

Ecco alcuni esempi di come ottenere i dati desiderati da queste righe:

  1. Rimuovere le righe duplicate:
cat /var/tmp/passer-log | sort -u | less
  1. Rimuovi le righe duplicate e raggruppa tutti i record relativi a un determinato IP:
cat /var/tmp/passer-log | sort -t, -k2 -u | less
  1. Estrai solo i record DNS e Router:
cat /var/tmp/passer-log | sort -u | egrep '(^DN|^RO)' | less
  1. Visualizza tutti i record per un determinato indirizzo IP:
cat /var/tmp/passer-log | sort -u | grep ',192\.168\.0\.17,' | less
Scarica lo strumento