Domanda

Ho avuto una discussione con uno sviluppatore prima di oggi re identificare i pacchetti TCP andando su una particolare interfaccia con lo stesso carico.Mi ha detto che le probabilità di trovare un pacchetto TCP che ha un carico utile pari (anche se gli stessi dati viene inviato più volte) è molto basso a causa del modo in cui i pacchetti TCP sono costruiti a livello di sistema.Ero consapevole che questo può essere il caso a causa di un sistema di impostazioni MTU (di solito 1500 byte) ecc.... ma che tipo di probabilità statistiche sono davvero guardando?Ci sono protocolli specifici che facilitano l'identificazione di corrispondenza payload?

È stato utile?

Soluzione

EDIT:Ci dispiace, la mia idea originale era ridicolo.

Si mi ha interessato così ho googlato un po ' e trovato questo.Se si vuole scrivere il proprio strumento, si sarebbe probabilmente a ispezionare ogni payload, il modo più semplice sarebbe probabilmente essere una sorta di hash/checksum per verificare identici payload.Basta assicurarsi che si sta controllando il carico utile, non l'intero pacchetto.

Come per le statistiche dovrò rimandare a qualcuno con maggiori conoscenze sul funzionamento del TCP.

Altri suggerimenti

È l'esecuzione di un protocollo tcp che definisce l'unicità del payload, non il protocollo tcp stessa.

Per esempio, si potrebbe ingenuamente pensare che le richieste HTTP sono tutti identici quando si richiede una pagina principale del server, ma il referente e l'user agent stringhe di fare il payload diversi.

Allo stesso modo, se la risposta è generato dinamicamente, può avere una data di intestazione:

Data:Fri, 12 Sep 2008 10:44:27 GMT

In modo che renderà la risposta carichi diversi.Tuttavia, i successivi carichi possono essere identici, se il contenuto è statico.

Tenete a mente che l'attuale pacchetti saranno differenti a causa della diversa sequenza di numeri, che sono supposti per essere incrementando e pseudocasuali.

Chris è giusto.Più in particolare, due o tre pezzi di informazioni nell'intestazione del pacchetto dovrebbe essere diverso:

  • il numero di sequenza (che è destinato ad essere imprevedibile) che è aumenta con il numero di i byte trasmessi e ricevuti.
  • il timestamp, in un campo che contiene due timestamp (anche se questo campo è opzionale).
  • il checksum, dal momento che sia il payload e intestazione sono di calcolare il checksum, tra cui il cambiamento del numero di sequenza.

Inviare lo stesso PAYLOAD è probabilmente abbastanza comuni (in particolare se si esegue un qualche tipo di servizio di rete).Se vuoi dire che inviano lo stesso segmento tcp (intestazione e tutti) o l'intero pacchetto di rete (ip e fino), allora la probabilità è notevolmente ridotto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top