
ngrep è come GNU grep applicato al livello di rete. È uno strumento basato su PCAP che consente di specificare un'espressione regolare estesa o esadecimale da confrontare con i payload dei pacchetti. Comprende molti tipi di protocolli, inclusi IPv4/6, TCP, UDP, ICMPv4/6, IGMP e Raw, su un'ampia varietà di tipi di interfaccia, e comprende la logica dei filtri BPF allo stesso modo dei più comuni strumenti di sniffing di pacchetti, come tcpdump e snoop.
ngrep è come GNU grep applicato al livello di rete. È uno strumento basato su PCAP che consente di specificare un'espressione estesa regolare o esadecimale per confrontare i payload dei pacchetti. Supporta molti tipi di protocolli, inclusi IPv4/6, TCP, UDP, ICMPv4/6, IGMP e Raw, attraverso un'ampia varietà di tipi di interfaccia, e comprende la logica dei filtri BPF allo stesso modo di comuni strumenti di sniffing di pacchetti, come tcpdump e snoop.
-r)-uDLT_ all'interno di libpcap (es. DLT_LINUX_SLL)pcap_lookupdev)./configure --disable-tcpkill-d ora accetta il nome del dispositivo (es. \Device\...)delay_socket in favore di Sleep()build.ps1)Il modo più semplice per eseguire ngrep è tramite Docker:
docker pull ghcr.io/jpr5/ngrep:latest
docker run --rm --net=host --cap-add=NET_RAW ghcr.io/jpr5/ngrep:latest -q 'GET|POST' tcp port 80
Vedi DOCKER per istruzioni dettagliate sull'uso di Docker.
Scarica i binari precompilati dalla pagina Releases.
Vedi INSTALL per le istruzioni di build.
ngrep è stato originariamente sviluppato per:
Inoltre, può essere usato per la raccolta di credenziali in testo semplice, come nel caso dell'autenticazione HTTP Basic, FTP o POP3. Come tutti gli strumenti utili, può essere usato per il bene e per il male.
Visita EXAMPLES per saperne di più su come funziona ngrep e su come può essere sfruttato per vedere ogni sorta di cose interessanti.
ngrep è stato ampiamente portato su una moltitudine di piattaforme, ma col tempo l'accesso ad esse è diminuito. La lista seguente è la lista originale; per un elenco aggiornato delle piattaforme confermate funzionanti, consulta i nostri autobuild, che includono i sistemi operativi, le toolchain di compilazione e le architetture CPU più popolari.
Se hai bisogno di aiuto, hai feedback costruttivo o desideri inviare una patch, visita il progetto ngrep su GitHub e usa gli strumenti online disponibili. Aiuterà l'autore a gestire meglio le varie richieste e patch, così che nulla vada perso o venga trascurato (come è purtroppo accaduto in passato).
Consulta CREDITS per un elenco parziale delle molte persone che hanno contribuito a rendere ngrep ciò che è oggi. Inoltre, tieni presente che ngrep è distribuito sotto una semplice licenza in stile BSD, anche se a seconda della libreria regex contro cui compili, otterrai la GPL (GNU regex) o la BSD (PCRE2).
Nel corso dei decenni (!), ngrep è stato incluso di fatto in molte distribuzioni popolari, diverse delle quali hanno manutentori di pacchetti dedicati. Molti di loro hanno utilmente gestito segnalazioni di bug da parte degli utenti delle loro distribuzioni, e hanno persino creato patch per ngrep -- ma raramente vengo informato. Ogni pochi anni devo andare a caccia dei bug report e delle patch che potrebbero esistere, spesso in oscuri sistemi di tracciamento specifici del vendor, per poterli integrare a beneficio di tutti. E a volte non li trovo tutti.
Se sei un manutentore di pacchetti per un OS o una distribuzione e ti trovi a gestire una segnalazione di bug o a scrivere una patch per ngrep, per favore almeno mettimi in CC così che possa seguire (e possibilmente risolvere) il problema. Idealmente, inviami un link a una patch o a una pull request così che possa revisionarla e integrarla.
Come la vedo io, alla fine è il mio codice, quindi è una mia responsabilità, ma non posso essere ovunque per vedere tutto. Ho bisogno del vostro aiuto per fare un buon lavoro.
Grazie, di cuore, per tutto quello che avete fatto e che farete. 🙏