PDA

Visualizza la versione completa : [C] Id Pacchetto


schumy2000
26-03-2008, 11:24
Sto sviluppando un programma in C e in tal programma è sviluppato in maniera tale che mi arrivano tantissimi pacchetti che poi verranno processati(una specie di sniffing),vorrei sapere se c'è un flag o qlcs identificativo nei segmenti IP e/o TCP ovvero qlcs che identifichi univocamente quel pacchetto.
Grazie x qualsivoglia risposta.

PS il programma gira su piattaforma LINUX.

oregon
26-03-2008, 11:28
Esiste un campo

16-bit identification

nell'header IPv4 ...

Hai studiato il formato di questo header prima di iniziare a scrivere il tuo programma?

schumy2000
26-03-2008, 11:42
Certo che l'ho studiato altrimenti non avrei potuto scrivere il programma e cmq avevo notato anch'io il campo identification solo che girando un pò per il web ho visto questa cosa:

Identification: e' un numero di due byte, impostato da chi invia il pacchetto e che serve al ricevente per ricostruire i dati frammentati.

e se i dati non sono frammentati?? il campo dovrebbe essere nullo, no???

è questo che mi rende scettico ad usare tale campo....

oregon
26-03-2008, 11:46
1) indica allora quali campi hai preso in considerazione e perche' non vanno per quello che vuoi fare tu

2) chiarisci, a questo punto, cosa ci devi fare tu con questa informazione che cerchi ...

3) hai preso in considerazione il "Sequence Number" dell'header TCP ?

schumy2000
26-03-2008, 11:59
1)Allora ho preso in considerazione solo il numero di sequenza del TCP e nn mi ha dato delle risposte soddisfacenti

2) mi serve x differenziare i pacchetti xche il pacchetto precedente può essere lo stesso di quello successivo e in qualche maniera devo differenziarli e quindi nn prendere in considerazione lo stesso pacchetto(questo succede xche uso le pcap library e non posso farne a meno xche nn posso modificare tale parte del programma).

3) ho già risposto al pto 1

A questo pto forse userò in contemporanea i campi id del segmento IP e il seq del TCP e vedo se posso uscirmene così e speriamo vada bene:( ....grazie x le risp.

oregon
26-03-2008, 12:00
Come fanno ad essere uguali due pacchetti ?

schumy2000
26-03-2008, 12:33
hehe sapevo che avrei solleticato la tua curiosità
purtroppo con le librerie PCAP vengono presi tutti i pacchetti che stanno caricando in quel momento e succede una cosa del genere; ti faccio vedere una file di LOG che mi sono creato

5(i): From: ; 1313821268
5(i): From: ; 1313821268
6(r): USR ; 1313821268
6(r): USR ; 1313821268
5(i): From: ; 1313821268
6(r): USR ; 1313821268
5(i): From: ; 1313821268
6(r): USR ; 1313821268
5(i): From: ; 1313821268

il primo numero indica il tipo di protocollo applicativo: http, ftp, etc
(i) ed (r) invio e ricezione poi abbiamo la stringa identificata nel pacchetti che riceviamo o inviamo e infine il num di sequenza.
tutti questi sono pacchetti diversi ma hanno gli stessi numeri di sequenza ..è questa la conseguenza delle pcap library
bye Dario :ciauz:

oregon
26-03-2008, 13:27
Non ho utilizzato direttamente le Pcap, ma dovresti poter ottenere tutte le informazioni degli header IP e TCP per esaminarli ...

Loading