Modificare i numeri di sequenza TCP per la riproduzione dei pacchetti?


3

Prima di tutto, sto usando WireShark per la cattura e Colasoft per la riproduzione. Sto tentando di riprodurre un gruppo di pacchetti catturati, ripetuti in loop per essere ripetuti più volte (lo scopo di questo è solo quello di inviare un replay di una battaglia da un gioco online alla fattoria per ottenere ricompense, nel caso ti stia chiedendo) .

Ho letto qui che TCP / IP ignora i pacchetti con numeri di sequenza ripetuti. Quindi, sono sulla buona strada nel pensare che vengano creati nuovi numeri di sequenza ogni volta che viene inviato il primo pacchetto SYN in questo gruppo di pacchetti e il resto dei pacchetti viene ignorato a causa sua? Come posso ora questi nuovi numeri di sequenza e riprodurli di conseguenza?

Se sono fuori base, fammi sapere. Ho riprodotto il pacchetto così com'è e si riproduce bene, ma non sto ottenendo oggetti / xp, quindi immagino che i pacchetti debbano essere ignorati dal server.


È necessario utilizzare un proxy MITM e riprodurre i dati, non i pacchetti. Non è garantito che la riproduzione dei pacchetti funzionerà con il protocollo utilizzato. Se non vengono ignorati, è molto probabile che la connessione venga chiusa per dati non validi.
Darth Android

Ho provato a scaricare mitm proxy, ma le uniche istruzioni di installazione sono tramite pip. Ho provato per circa 45 minuti a installare pip, ma non riesco a capirlo. Ho già scaricato gli strumenti di installazione. La riga ($ sudo easy_install pip) che mi è stato detto di usare nel tutorial ritorna come sintassi non valida.
Grace,

L'ho scaricato, finalmente. Mitmproxy installato. Non riesco a capire come aprirlo.
Grace,

Errr, un proxy è un tipo generico di applicazione, non stavo raccomandando un software specifico.
Darth Android

Risposte:


3

Certamente è necessario modificare i numeri di sequenza del peer almeno in base alla sua prima risposta. All'inizio della connessione TCP (stretta di mano TCP) ciascuna delle parti di comunicazione genera il proprio numero di sequenza iniziale pseudo-casuale. I numeri di sequenza aumentano quindi in base al numero di byte di dati trasmessi e in realtà i pacchetti vengono rifiutati se il numero di sequenza è errato.

Esistono strumenti esistenti che eseguiranno la conversione / rigenerazione del numero di sequenza per te e riprodurranno la singola parte laterale del flusso TCP acquisito.

  • Tcpreplay è un insieme di strumenti molto utili per modificare e riprodurre il traffico acquisito. Lo strumento per la riproduzione di TCP è tcpliveplay
  • Wireplay è un altro strumento più semplice.

Ulteriori informazioni su TCP: Transmission Control Protocol - Operation


In realtà ho provato a scaricare tcpreplay prima di colasoft, ma non sono riuscito a installarlo. Lo stesso con bittwist. Ho scaricato cygwin1.dll e l'ho inserito nella directory system32 come da istruzioni, ma viene comunque restituito che il file mancava dal mio computer. Esistono equivalenti di Windows a tcpreplay che non richiedono Cygwin?
Grace,

Mi scusi, non sapevo che lo strumento dovrebbe essere per Windows. Temo che bittwist non possa tradurre i numeri di sequenza TCP. Non conosco uno strumento simile per Windows. Se si desidera provare tcpreplay di altri strumenti Linux, si consigliano le seguenti opzioni nell'ordine di preferenza: 1: eseguire Linux in una macchina virtuale. 2: avvia Linux live da un'unità flash. 3: esegui un'installazione regolare di Cygwing e compila tcpreplay. Una buona distribuzione Linux per attività simili è BackTrack che dovrebbe già contenere tcpreplay e altri strumenti utili.
pabouk,

1
A proposito c'è un altro strumento Linux in grado di riprodurre TCP con la traduzione del numero di sequenza: tcpcopy . È persino distribuito e può duplicare la sessione TCP in tempo reale! E sono d'accordo con Darth Android sul fatto che spesso è più facile riprodurre solo lo streaming. Invece di acquisirlo su un proxy, è possibile assemblare ed esportare il flusso in Wireshark utilizzando la funzione Segui flusso TCP .
pabouk,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.