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.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
tcpcopy — Uno strumento di replica delle richieste online e di riproduzione del flusso TCP, ideale per test reali, test delle prestazioni, test di stabilità, test di stress, test di carico, test di fumo e altro ancora. | Kitploit
Strumenti/GitHubGitHub/session-replay-tools/tcpcopy
Scripting e AutomazioneSicurezza di RetePenetration TestingUtilità e Framework
GitHubsession-replay-tools/tcpcopy

tcpcopy

Uno strumento di replica delle richieste online e di riproduzione del flusso TCP, ideale per test reali, test delle prestazioni, test di stabilità, test di stress, test di carico, test di fumo e altro ancora.

Vedi Repository
Sito web
4.7k1.0k201 anno 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

TCPCopy - Uno strumento di replay di flussi TCP

TCPCopy è uno strumento di replay di flussi TCP per test realistici di applicazioni server Internet.

Conoscere TCPCopy

Una panoramica di TCPCopy per principianti

Una panoramica generale dell'architettura di TCPCopy

Casi d'uso di test con TCPCopy

Esempi di pre-riscaldamento con TCPCopy

Descrizione

Sebbene il traffico reale dal vivo sia cruciale per testare le applicazioni server Internet, simularlo accuratamente è difficile a causa della complessità degli ambienti online. Per consentire test più realistici, TCPCopy è stato sviluppato come strumento di riproduzione del flusso dal vivo che genera carichi di lavoro di test simili a quelli di produzione. TCPCopy è ampiamente utilizzato da aziende in Cina.

TCPCopy ha un impatto minimo sul sistema di produzione, consumando solo CPU, memoria e larghezza di banda aggiuntive. Il carico di lavoro riprodotto rispecchia l'ambiente di produzione in termini di diversità delle richieste, latenza di rete e utilizzo delle risorse.

Casi d'uso

  • Test di stress distribuito
    • Utilizza TCPCopy per replicare il traffico del mondo reale per testare sotto stress il tuo software server, scoprendo bug che appaiono solo in condizioni di alto stress.
  • Test dal vivo
    • Valida la stabilità di nuovi sistemi e identifica bug che si manifestano solo in scenari reali.
  • Test di regressione
    • Assicurati che modifiche recenti non abbiano introdotto nuovi problemi.
  • Confronto delle prestazioni
    • Confronta le prestazioni del sistema tra diverse versioni o configurazioni.

Architettura

tcpcopy

Figura 1. Panoramica dell'architettura di TCPCopy.

Come mostrato in Figura 1, TCPCopy è composto da due componenti: tcpcopy e intercept. Il componente tcpcopy viene eseguito sul server online, catturando le richieste dal vivo, mentre intercept opera sul server assistente, eseguendo compiti come il passaggio delle informazioni di risposta a tcpcopy. L'applicazione di test stessa viene eseguita sul server di destinazione.

Per impostazione predefinita, tcpcopy utilizza socket raw per catturare i pacchetti a livello di rete (rappresentati dalle frecce arancioni nella figura). Gestisce processi come la simulazione dell'interazione TCP, il controllo della latenza di rete e la simulazione dell'interazione a livello superiore. Invia quindi i pacchetti al server di destinazione utilizzando socket raw per l'output (mostrato dalle frecce rosso chiaro nella figura).

L'unico compito richiesto sul server di destinazione è configurare le regole di routing per indirizzare i pacchetti di risposta (mostrati dalle frecce verde chiaro nella figura) al server assistente.

Il ruolo del componente intercept è inoltrare l'intestazione della risposta (per impostazione predefinita) a tcpcopy. Cattura i pacchetti di risposta, estrae le informazioni dell'intestazione e invia queste informazioni a tcpcopy tramite un canale dedicato (rappresentato dalle frecce azzurre nella figura). Al ricevimento dell'intestazione della risposta, tcpcopy utilizza le informazioni per modificare gli attributi dei pacchetti online e procede all'invio dei pacchetti successivi.

È importante notare che le risposte dal server di destinazione vengono instradate al server assistente, che funge da buco nero.

Avvio rapido

Per intercept, hai due opzioni:

  • Scarica l'ultima release di intercept.
  • Clona il repository: git clone git://github.com/session-replay-tools/intercept.git.

Per tcpcopy, hai anche due opzioni:

  • Scarica l'ultima release di tcpcopy.
  • Clona il repository: git clone git://github.com/session-replay-tools/tcpcopy.git.

Installazione di intercept sul server assistente

  1. Vai nella directory intercept:
    cd intercept
  2. Esegui lo script di configurazione:
    ./configure
    Opzionalmente, specifica le opzioni di configurazione necessarie.
  3. Compila il codice sorgente:
    make
  4. Installa lo strumento intercept:
    make install

Opzioni di configurazione per intercept

  • --single Esegue intercept in modalità non distribuita.

  • --with-pfring=PATH Specifica il percorso delle librerie PF_RING.

  • --with-debug Compila intercept con supporto al debug, con log salvati su file.

Installazione di tcpcopy sul server online

  1. Vai nella directory tcpcopy:
    cd tcpcopy
  2. Esegui lo script di configurazione:
    ./configure
    Includi tutte le opzioni di configurazione necessarie.
  3. Compila il codice sorgente:
    make
  4. Installa lo strumento tcpcopy:
    make install

Opzioni di configurazione per tcpcopy

  • --offline Riproduce flussi TCP da un file pcap.

  • --pcap-capture Cattura pacchetti a livello di collegamento dati.

  • --pcap-send Invia pacchetti a livello di collegamento dati invece che a livello IP.

  • --with-pfring=PATH Specifica il percorso delle librerie PF_RING.

  • --set-protocol-module=PATH Imposta tcpcopy per funzionare con un modulo di protocollo esterno.

  • --single Se sia intercept che tcpcopy sono configurati con l'opzione --single, solo un'istanza di tcpcopy funzionerà con intercept, portando a prestazioni migliori.

  • --with-tcmalloc Usa tcmalloc invece di malloc.

  • --with-debug Compila tcpcopy con supporto al debug, con log salvati su file.

Esecuzione di TCPCopy

Supponiamo che sia tcpcopy che intercept siano configurati usando ./configure.

  1. Sul server di destinazione che esegue le applicazioni server:

    Configura le regole di routing per indirizzare i pacchetti di risposta al server assistente. Ad esempio, se 61.135.233.161 è l'indirizzo IP del server assistente, usa il seguente comando di route per indirizzare tutte le risposte dai client nell'intervallo 62.135.200.x al server assistente:

    route add -net 62.135.200.0 netmask 255.255.255.0 gw 61.135.233.161

  2. Sul server assistente che esegue intercept (privilegio di root o capacità CAP_NET_RAW richiesta):

    ./intercept -F <filtro> -i <dispositivo>

    Nota che il formato del filtro è lo stesso del filtro pcap. Ad esempio:

    ./intercept -i eth0 -F 'tcp and src port 8080' -d

    In questo esempio, intercept catturerà i pacchetti di risposta da un'applicazione basata su TCP in ascolto sulla porta 8080, utilizzando il dispositivo di rete eth0.

    Tieni presente che ip_forward non è abilitato sul server assistente.

  3. Sul server sorgente online (privilegio di root o capacità CAP_NET_RAW richiesta):

    ./tcpcopy -x portaServerLocale-IPServerDestinazione:portaServerDestinazione -s <server intercept> [-c <intervallo IP>]

    Ad esempio (assumendo che 61.135.233.160 sia l'indirizzo IP del server di destinazione):

    ./tcpcopy -x 80-61.135.233.160:8080 -s 61.135.233.161 -c 62.135.200.x

    In questo esempio, tcpcopy cattura i pacchetti sulla porta 80 dal server corrente, modifica l'indirizzo IP del client in uno dell'intervallo 62.135.200.x e invia questi pacchetti alla porta 8080 sul server di destinazione (61.135.233.160). Si connette anche a 61.135.233.161 per richiedere a intercept di inoltrare i pacchetti di risposta. Sebbene il parametro -c sia opzionale, viene utilizzato qui per semplificare le regole di routing.

Nota

Scarica lo strumento