Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
tcpflow — Demultiplexer di pacchetti TCP/IP. Scarica da: | Kitploit
Strumenti/GitHubGitHub/simsong/tcpflow
Sniffing e Analisi dei PacchettiNetwork ForensicsInformatica ForenseDigital Forensics
GitHubsimsong/tcpflow

tcpflow

Demultiplexer di pacchetti TCP/IP. Scarica da:

Vedi RepositorySito web
1.8k2456 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 →
Condividi

TCPFLOW CI (c++14)

TCPFLOW 1.5.0

Directory di download: http://digitalcorpora.org/downloads/tcpflow/

Installazione

La maggior parte delle distribuzioni GNU/Linux più comuni includono tcpflow nei propri repository. Quindi su Debian/Ubuntu/etc puoi eseguire

root@kitploit:~
sudo apt-get install tcpflow

e su Fedora/RedHat/CentOS/etc puoi eseguire

root@kitploit:~
sudo dnf install tcpflow

E questo è tutto. Se per qualsiasi motivo questo non è sufficiente, puoi compilare dai sorgenti:

Compilazione dai sorgenti

Per compilare per Linux

Assicurati di avere i prerequisiti necessari. Nella directory principale ci sono file che lo faranno per te, a seconda del sistema operativo host:

CONFIGURE_ARCH_17_8.sh CONFIGURE_FEDORA_18.sh CONFIGURE_FEDORA_26.sh CONFIGURE_UBUNTU_16_04.sh

A seconda del tuo sistema operativo, esegui semplicemente:

root@kitploit:~
# sudo bash CONFIGURE_<TUOS>.sh

Una volta configurato il sistema operativo, compila e installa con:

root@kitploit:~
./configure
make
sudo make install

Se vuoi scaricare l'albero di sviluppo con git, assicurati di fare un checkout completo con --recursive e poi esegui bootstrap.sh, configure e make:

root@kitploit:~
git clone --recursive https://github.com/simsong/tcpflow.git
cd tcpflow
bash bootstrap.sh
./configure
make
sudo make install  

Per scaricare e compilare per Amazon AMI:

root@kitploit:~
ssh ec2-user@<la tua istanza ec2>
sudo bash yum -y install git make gcc-c++ automake autoconf boost-devel cairo-devel libpcap-devel openssl-devel zlib-devel
git clone --recursive https://github.com/simsong/tcpflow.git
sh bootstrap.sh

Per compilare per Windows con mingw su Fedora Core:

root@kitploit:~
yum -y install mingw64-gcc mingw64-gcc-c++ mingw64-boost mingw64-cairo mingw64-zlib
mingw64-configure
make

Per usare CMake, consulta le istruzioni dettagliate: cmake/README.md

Creazione del pacchetto RPM

Da un repository pulito come utente normale (non root):

root@kitploit:~
./bootstrap.sh     # Genera il file ./configure
./configure        # Genera il file tcpflow.spec
rpmbuild -bb tcpflow.spec --build-in-place

Controlla lo specfile e l'RPM risultante:

root@kitploit:~
rpmlint tcpflow.spec
rpmlint ~/rpmbuild/RPMS/x86_64/tcpflow-....rpm

Installa:

root@kitploit:~
sudo dnf install ~/rpmbuild/RPMS/x86_64/tcpflow-....rpm

Introduzione a tcpflow

tcpflow è un programma che cattura i dati trasmessi come parte delle connessioni TCP (flussi) e li memorizza in modo comodo per l'analisi dei protocolli e il debugging. Ogni flusso TCP viene memorizzato in un proprio file. Pertanto, il tipico flusso TCP sarà memorizzato in due file, uno per ogni direzione. tcpflow può anche elaborare flussi di pacchetti 'tcpdump' memorizzati.

tcpflow memorizza tutti i dati catturati in file con nomi della forma:

root@kitploit:~
   [timestampT]sourceip.sourceport-destip.destport[--VLAN][cNNNN]

dove: timestamp è un timestamp opzionale del momento in cui è stato visto il primo pacchetto T è un delimitatore che indica che è stato fornito un timestamp sourceip è l'indirizzo IP sorgente sourceport è la porta sorgente destip è l'indirizzo IP di destinazione destport è la porta di destinazione VLAN è la porta VLAN c è un delimitatore che indica che sono presenti più connessioni NNNN è un contatore di connessioni, quando ci sono più connessioni con la stessa combinazione [tempo]/sourceip/sourceport/destip/destport. Si noti che il conteggio delle connessioni avviene raramente quando viene eseguito il prefisso del timestamp.

ECCO alcuni esempi:

root@kitploit:~
   128.129.130.131.02345-010.011.012.013.45103

Il contenuto del file sopra sarebbero dati trasmessi dall'host 128.129.131.131 porta 2345, all'host 10.11.12.13 porta 45103.

root@kitploit:~
   128.129.130.131.02345-010.011.012.013.45103c0005

La sesta connessione da 128.129.131.131 porta 2345, all'host 10.11.12.13 porta 45103.

root@kitploit:~
   1325542703T128.129.130.131.02345-010.011.012.013.45103

Una connessione da 128.129.131.131 porta 2345, all'host 10.11.12.13 porta 45103, iniziata alle 17:19 (-0500) il 2 gennaio 2012

root@kitploit:~
   128.129.130.131.02345-010.011.012.013.45103--3

Una connessione da 128.129.131.131 porta 2345, all'host 10.11.12.13 porta 45103 vista sulla porta VLAN 3.

Puoi modificare il template utilizzato per creare i nomi dei file con le opzioni -F e -T. Se nel template appare una directory, questa verrà creata automaticamente.

Se usi l'opzione -a, tcpflow interpreterà automaticamente le risposte HTTP.

root@kitploit:~
   Se il file di output è
      208.111.153.175.00080-192.168.001.064.37314,

   La post-elaborazione creerà i file:
      208.111.153.175.00080-192.168.001.064.37314-HTTP
      208.111.153.175.00080-192.168.001.064.37314-HTTPBODY

   Se HTTPBODY era compresso con GZIP, potresti ottenere anche un
   terzo file:

      208.111.153.175.00080-192.168.001.064.37314-HTTPBODY-GZIP

   Informazioni aggiuntive su questi flussi, come il loro valore
   hash MD5, vengono anche scritte nel file DFXML.

tcpflow è simile a 'tcpdump', in quanto entrambi elaborano pacchetti dalla rete o da un file memorizzato. Ma è diverso perché ricostruisce i flussi di dati effettivi e memorizza ogni flusso in un file separato per un'analisi successiva.

tcpflow comprende i numeri di sequenza e ricostruirà correttamente i flussi di dati indipendentemente da ritrasmissioni o consegne fuori ordine. Tuttavia, tcpflow attualmente non gestisce i frammenti IP; i flussi contenenti frammenti IP non verranno registrati correttamente.

tcpflow può produrre un file di report riassuntivo in formato DFXML. Questo file include informazioni sul sistema su cui è stato compilato il programma tcpflow, dove è stato eseguito, e ogni flusso TCP, inclusi indirizzi IP e porte sorgente e destinazione, numero di byte, numero di pacchetti e (opzionalmente) l'hash MD5 di ogni flusso di byte.

tcpflow utilizza la LBL Packet Capture Library (disponibile su ftp://ftp.ee.lbl.gov/libpcap.tar.Z) e quindi supporta le stesse ricche espressioni di filtro supportate da programmi come 'tcpdump'. Dovrebbe compilare sotto la maggior parte delle versioni popolari di UNIX; vedi il file INSTALL per dettagli.

A cosa serve?

tcpflow è uno strumento utile per comprendere i flussi di pacchetti di rete e per eseguire analisi forensi di rete. A differenza di programmi come WireShark, che mostrano molti pacchetti o una singola connessione TCP, tcpflow può mostrare centinaia, migliaia o centinaia di migliaia di connessioni TCP in contesto.

Un uso comune di tcpflow è rivelare il contenuto delle sessioni HTTP. Usando tcpflow puoi ricostruire pagine web scaricate tramite HTTP. Puoi persino estrarre malware distribuiti come 'drive-by downloads.'

Jeremy Elson ha originariamente scritto questo programma per catturare i dati inviati da vari programmi che utilizzano protocolli di rete non documentati nel tentativo di fare reverse engineering di questi protocolli. RealPlayer (e la maggior parte degli altri lettori multimediali in streaming), ICQ e AOL IM sono buoni esempi di questo tipo di applicazione. Successivamente è stato utilizzato per l'analisi del protocollo HTTP.

Simson Garfinkel ha fondato Sandstorm Enterprises nel 1998. Sandstorm ha creato un programma simile a tcpflow chiamato TCPDEMUX e un'altra versione del programma chiamata NetIntercept. Quei programmi sono commerciali. Dopo che Simson ha lasciato Sandstorm, ha avuto bisogno di un programma per riassemblare flussi TCP. Ha trovato tcpflow e ne ha preso in carico la manutenzione.

Bug

Segnala i bug sul tracker dei problemi di github

Attualmente tcpflow non gestisce i frammenti IP. I flussi contenenti frammenti IP non verranno registrati correttamente. La frammentazione IP è un evento sempre più raro, quindi questo non sembra essere un problema significativo.

CITAZIONE RACCOMANDATA

Se stai scrivendo un articolo su tcpflow, per favore cita il nostro rapporto tecnico:

  • Passive TCP Reconstruction and Forensic Analysis with tcpflow, Simson Garfinkel and Michael Shick, Naval Postgraduate School Technical Report NPS-CS-13-003, September 2013. https://calhoun.nps.edu/handle/10945/36026

MANUTENTORE

Simson L. Garfinkel [email protected]

RAPPORTO DI STATO TCPFLOW 1.6

Continuo a portare bulk_extractor, tcpflow, be13_api e dfxml al C++ moderno. Dopo aver esaminato gli standard, ho deciso di passare al C++17 e non al C++14, poiché il supporto per il 17 è ora diffuso. (Probabilmente non ho bisogno del 20). Resto con autotools, anche se sembra esserci una forte ragione per passare a CMake. Mantengo be13_api e dfxml come moduli inclusi, in stile Python, piuttosto che renderli librerie autonome collegate. Non sono sicuro al 100% che sia la decisione corretta, comunque.

Il progetto sta richiedendo più tempo del previsto perché sto anche facendo un refactoring generale del codice. La cosa principale che richiede tempo è capire come districare tutti gli oggetti C++ relativi alle opzioni del parser e alla configurazione.

Dato che sia tcpflow che bulk_extractor usano be13_api, la mia attenzione si è spostata sull'uso di tcpflow per rendere operativo be13_api, poiché è un programma più semplice. Sono circa a tre quarti del lavoro. Prevedo di avere qualcosa di finito entro la fine del 2020.

--- Simson Garfinkel, 18 ottobre 2020

RINGRAZIAMENTI

Grazie a:

  • Jeffrey Pang, per l'implementazione radiotap
  • Doug Madory, per il parser Wifi
  • Jeremy Elson, per l'idea originale e l'implementazione iniziale di tcp/ip
Scarica lo strumento