ascolto dei pacchetti in modalità promiscua

1

Sto lavorando su un'applicazione che ottiene pacchetti che non appartengono al pc, quindi uso la modalità promiscua sulla mia scheda di rete, ho bisogno di leggere il pacchetto e gestirlo.

Poiché non ho alcuna connessione formata e i pacchetti possono usare TCP o UDP (solo uno di essi) ho pensato di usare il socket RAW per leggere i dati.

Se lo faccio otterrei il pacchetto dal livello 3 fino al livello 7 ma ho solo bisogno dei dati al livello 7.

Se è il caso, posso analizzare il pacchetto in base all'intestazione di ogni livello, ma ciò significa che avrei bisogno di implementare alcune delle funzionalità del livello di trasporto.

Ad esempio per TCP avrei bisogno di implementare la costruzione del pacchetto come era prima che fosse diviso nella macchina mittente.

So che l'analisi del layer 3 e 4 è già stata implementata dal sistema operativo. Esiste un modo per usarlo o utilizzare qualsiasi API per questo?

L'uso di socket raw è appropriato qui o esiste in altro modo?

PS. probabilmente userò il linguaggio di programmazione C e lavorerò con Windows OS

    
posta omer12433 04.10.2014 - 14:38
fonte

0 risposte

Leggi altre domande sui tag