Ho passato gli ultimi giorni a leggere le pagine man, i documenti e qualsiasi altra cosa su Google, ma suppongo di essere ancora più confuso adesso di quanto lo fossi all'inizio.Accesso all'interfaccia wireless (802.11) al livello MAC (Linux)
Ecco cosa voglio fare: Desidero inviare e ricevere pacchetti di dati con il mio livello 3-x protocol (s) tramite un'interfaccia wireless (802.11) su sistemi Linux con C/C++. Finora, tutto bene. Non sono necessari beacons, associazioni o materiale correlato all'AP/SSID. Tuttavia, per le trasmissioni di dati, vorrei che il livello MAC si comportasse "come al solito", nel senso che i pacchetti unicast sono ACK, ritrasmissioni, backoff ecc. Mi piacerebbe anche godere dei capabiliti QoS estesi (802.11e con 4 code e diverse categorie di accesso). La modalità promiscua, d'altra parte, non è un problema, io richiedo solo pacchetti e pacchetti trasmessi alla stazione specifica.
Quale sarebbe la strada giusta da fare? La maggior parte della documentazione disponibile sull'accesso raw socket sembra focalizzata sullo sniffing della rete e questo non aiuta. Ho giocato con la modalità monitor per un po 'di tempo, ma da quello che ho letto finora, i pacchetti ricevuti non sono ACK in modalità monitor ecc. Senza la modalità monitor, quale sarebbe l'alternativa? Utilizzando la modalità ad hoc e unix raw socket? O devo giocherellare con i piloti?
Non sto cercando una soluzione completa, solo alcune buone idee, da dove cominciare. Ho letto le pagine man per socket (2), socket (7) e packet (7), ma ciò non mi ha aiutato riguardo al comportamento del livello MAC in diverse modalità.
Grazie in anticipo.
È possibile visualizzare e verificare se esiste una soluzione * software * open source per generare traffico di prova, ovvero un insieme di pacchetti validi e non validi per vedere come l'apparecchiatura dall'altra parte gestisce tale. Presumibilmente, questo avrebbe la capacità di eseguire entrambe le normali operazioni, ma anche variazioni arbitrarie (al fine di introdurre gli errori desiderati). Se esiste, potresti essere in grado di usarlo o imparare da esso. –