19 Giugno 2007
13.00 - 13.30 ( 0.30 h)
Il roaming per reti wireless viene definito come un servizio che l'AP offre ad una stazione per permettere ad essa di passare da un'area di coperture di un AP ad un altra rimanedo sempre collegata alla rete; e' altresi' importante sapere che il numero massimo di AP che possono offrire roaming in una determinata area e' di 250.
Piccola nota trovata su
Packet Data Roaming:
per supportare il roaming in una rete 802.11b una stazione deve effettuare
periodicamente una scansione di tutti gli AP vicini e lei e associarsi a quello
con il segnale di intensita' maggiore. Se ci sono piu' AP su uno stesso canale
il roaming non puo' funzionare bene, in quanto le interferenze dovute
alla sovrapposizione di essi causeranno un derado consistente delle prestazioni.
Per evitare cio' ogni AP deve essere su un canale diverso.
15.30 - 17.00 ( 1.30 h)
Da quanto detto da zeratul il roaming non fa parte di nessuno standard, ma e'
lasciato come implementazione facoltativa ai produttori di AP. Si puo' andare a
vedere se l'implementazione e' unica o se ogni produttore ne implementa una sua,
fermo restando che c'e' la possibilita' di trovarsi di fronte ad una moltitudine
di soluzioni che non possono essere unificate.Nei prossimi giorni si iniziera'
lo studio di alcune soluzioni per vedere eventuali peculiarita' tra le diverse
implementazioni.
Un ulteriore problema e' il fatto che per una stazione non e' possibile
stabilire a priori se si trova in un'area dove gli AP presenti forniscono il
servizio di roaming.La guida definitiva offre una prima idea su come gli
implementatori di schede affrontino l'idea del roaming.Una prima idea e' fare
probing a tutti gli AP presenti e controllare il loro ESSID.Se sono uguali
allora e' possibile che il roaming sia implementato ( e attivo ); la nota
dolente e' che non e' detto che se una serie di AP implementa tale servizio esso
sia attivo.
N.B. Lavoro svolto in coppia ( roma e zeratul )
20 Giugno 2007
9.30 - 12.10 ( 2.40 h)
Da scartare l'ipotesi di guardare le diverse implementazioni del servizio di roaming da parte dei produttori di AP.Quasi tutto cio'che e'legato a tale realta' e' protetto da patenti statunitensi che possono essere visibili solo a pagamento.
Uno degli aspetti che molto probabilmente e'comune a tutte le implementazioni
e'che la gestione del passaggio di una stazione da un AP ad un altro ( azione
detta proprio di roam) e'controllata da un server esterno: vi sono un numero
arbitrario di AP tutti facenti parte dello stesso ESS e, nella gran parte dei casi, interconnessi via cavo.Essi fanno riferimento ad un server esterno
( normalmente RADIUS) che gestisce e velocizza le azioni di roam; ovvero quando
una stazione vuole passare da un AP ad un altro essa chiede una riassociaizone
all'AP di destinazione, il quale gira la richiesta al server e il server risponde alla stazione passandogli tutti i nuovi parametri.Come dicevo sopra tale strategia e' il punto cruciale dell'implementazione del roaming ed e'anche l'unica parte della quale se ne ha notizia certa.
Un esempio e'descritto nella pagina http://cdg.org/news/events/CDMASeminar/05_LatinAm/op_roam_meeting/Packet%20Data%20Roaming.pdf.
Molto probabilmente molte delle divergenze tra le varie implementazioni saranno risolte quando ieee riconoscera'come standard a tutti gli effetti il lavoro chiamato 802.11r. Questo lavoro si prefigge l'obiettivo di realizzare veloci transizioni di dati fra BSS, specialmente tra stazioni mobili, utilizzando il roaming e definendo particolari metodologie che consentano ad una stazione che passa da un AP ad un altro di avere garanzie sul QoS del nuovo nodo. Naturalmente questo lavoro e' ancora in fase di allestimento e bisognera' aspettare ancora prima di vederlo ultimato. Per concludere 802.11r si appoggia per quanto riguarda la trasmissione dei dati allo standard 802.11F che verra'analizzato prossimamente.
22 Giugno 2007
11.00 - 13.40 ( 2.40 h)
Come fa una stazione a sapere se il servizio di roaming in una data rete? il
documento Network Selection and Discovery of Service Information in Public WLAN Hotspots
descrive lo scenario esistente per il servizio di roaming offerto ad diversi WISP ( Wireless Internet
Service Provider): l'idea e' quella di poter avere non un'unica rete che
fornisce roaming ma avere piu' reti ( con diversi provider) tutte interconnesse
tra loro in maniera tale che se una stazione mobile vuole muoversi da un AP di
una rete ad un altro AP ( di una rete diversa) puo' farlo sfruttando proprio il
roaming. Per fare cio' ogni provider mantiene al suo interno delle tabelle
statiche dove sono salvate tutte le reti ( controllate da altri provider)
raggiungibili attraverso il servizio di roaming e invia alla STA il proprio
SSID; ogni STA deve avere all'interno le medesime tabelle e puo' passare da un
AP ad un altro basandosi proprio su suddette tabelle dove sono salvate tutte le
reti facenti parte dello stesso "Roaming Organization".
Uno dei problemi di questa soluzione e' dato dalla grandezza delle tabelle, in
quanto tabelle con molte reti salvate occupano molto spazio in memoria; il
documento quindi suggerisce di utilizzare questo metodo solo se il numero delle
reti non e' molto alto ( si parla nell'ordine del centinaio).Un altro problema
nasce dall'aggiornamento delle tabelle delle STA in quanto questo lavoro dovra'
essere svolto dal provider al quale le STA fanno riferimento, aggiungendo cosi'
altro carico alla rete e aumentando il lavoro degli AP. Un ulteriore problema
consiste nel fatto che ogni volta una STA vuole passare da un AP ad un altro
posti in differenti reti essa deve si avvalersi delle tabelle di roaming
statiche salvate al suo interno ma deve comunque notificare il cambio al suo
provider, il quale le passera' i parametri del nuovo provider e del nuovo
AP.
Un'ulteriore soluzione e' definita nel modo seguente: ogni provider che fa
parte di una Roaming Organization non invia alle STA il proprio SSID ma invia
l'SSID della propria organizzazione. In questa maniera una STA potra' usufruire
di tutti gli AP di tutte le reti come se facessero parte di una unica rete. Il
problema sorge quando un providere fa parte di piu' di una "Roaming
Organization"; la soluzione consiste nel dotare ogni AP di piu' VAP ognuno dei
quali mantiene il proprio BSSID e SSID dell'organizzazione. Quando una STA
chiedera' l'associazione bastera' utilizzare l'AP virtuale che ha come SSID il
medesimo della rete dove si trova la STA richiedente.
14.20 - 16.30 ( 2.10 h)
Come riportato in ORiNOCO WDS
per avere un distribution system tra due AP e' sufficiente che nei frame siano presenti quattro indirizzi MAC: indirizzo MAC della stazione che invia i pacchetti,indirizzo MAC della stazione ricevente, indirizzo MAC dell'AP al quale il trasmettitore e' associato e indirizzo MAC dell'AP al quale e' associato il ricevitore. Tale AP e' connesso tramite WDS all'AP del trasmettitore.
Infatti se una stazione vuole trasmettere dei dati ad un'altra che si trova
associata ad un diverso AP puo'farlo sfruttando proprio il concetto del
passamano dei dati da lei che li invia, all'AP al quale e' associata, l'AP della
STA ricevente alla destinazione. Insieme a questo vincolo devono comunque
apparire asseriti i campi "To/From? Ds" in quanto essi danno notizie significanti
al fine di sapere se esiste realmente un distribution system. Non a caso quando
i due campi sono entrambi asseriti significa che i dati stanno viaggiando da un
AP all'altro.
Inoltre come cita Roaming with ORiNOCO/IEEE 802.11 un metodo per accertasi se l'eventuale servizio di roaming e' attivo basta controllare la presenza di pacchetti dove
sia presente la richiesta di ri-associazione da parte di una STA. Molto
probabilmente tale richiesta e' inviata perche' la stazione si sta muovendo in
direzione di un AP e sta perdendo il segnale dell' AP al quale e'associata. Tali
richieste sono prima precedute da una scansione della rete da parte della STA al
fine di trovare il migliore AP disponibile al quale associarsi. La scansione in
questione consiste nell'invio di probe request ai vari AP al fine di ottenere
dei probe response con i quali la STA valutera' la bonta' degli access
point.
25 Giugno 2007
11.00 - 13.20 ( 2.20 h)
Sembra che l'unico modo per capire se in una rete wireless sia presente un
distribution system e' quello di analizzare i pacchetti e vedere se vi sono
contenuti quattro indirizzi MAC. Per il momento non si e' trovato nessun metodo
alternativo a questo e quindi tale soluzione rimane per il momento l'unica
percorribile; si vedra' in seguito se vi sono alte soluzioni ( sia quelle gia'
sperimentate sia quelle supposte solo in via teorica).
Per quanto riguarda l'esistenza di roaming indotto ( o meglio dire forzato da un
AP) e' possibile in tutte quelle situazioni ( come un elevato numero di STA
collegate ad un AP con conseguente diminuzione delle prestazioni) definite in
IEEE 802.11 del 1999. Per mia deduzione penso che un AP possa decidere di
disassociare una stazione per un qualsiasi motivo e questa sara' costretta ad
associarsi presso un altro AP dando cosi' origine al fenomeno del roaming ( in
quanto la STA disassociata dovra' attivare tutte le procedure atte a trovare un
nuovo AP a cui "collegarsi").
Fatte queste due considerazioni bisogna vedere se effettiavmente la realta' dei
fatti e' sempre cosi' o se vi sono casi particolari che introducono a scenari
differenti.
15.20 - 16.00 ( 0.40 h)
Appurato il concetto che si puo' rilevare la presenza dei quattro indirizzi MAC
al fine di sapere se c'e' un distribution system. Il problema rimane se e'
possibile individuare tali indirizzi stando in ascolto del traffico di rete; a
tal fine sarebbe bene fare opportuni test.
28 Giugno 2007
10.50 - 13.50 ( 3 h)
Ieri e' stato effettuato un incontro chiarificatore con Ghini ( 1 h). Quello che e'
emerso e' che il professore vuole sapere se una STA riesce a capire,
effettuiando scansioni della rete alla quale si vuole associare, se il servizio
di roaming e' presente. Il problema e' che al momento tutte le pubblicazioni e
gli artuicoli letti fin'ora riportano sempre il medesimo metodo. Dopo il
briefing con la squadra si andra' alla ricerca di altre possibili soluzioni per
ottenere cio' che il professore vuole.
La ricerca di altre fonti per ora non ha prodotto niente e le informazioni sono
sempre le stesse. Da qui si puo' presumere che per avere roaming devono
comparire determinate condizioni, le quali sono gia' state riportate nei giorni
precedenti. Il problema rimane aperto.
14.30 - 17.00 ( 2.30 h)
Dai test effettuati e pubblicati su
Is Wi-Fi Roaming Really Seamless?
si riesce a intravedere cosa succede ad una STA quando decide di utilizzare il roaming;
dalla pubblicazione si capisce che effettivamente per avere roaming devono esserci frame di diassociazione e
associazione inviati dalla STA agli AP, insieme ai gia'citati probe. Se durante
una scansione di rete si riescono a "sentire" questi tipi di frame le
possiblita' sull'esistenza del roaming diventano consistenti. Inoltre si e'
capita fino in fondo l'utilita' dei probe: grazie a questi frame una STA,
durante la scansione per ricercare nuovi AP, riesce a rilevare quali AP fanno
parte della rete alla quale lei e' gia' partecipante. Un dato fondamentale da
sapere e' se il nuovo AP fa parte di un ESS; al momento una STA non puo'
conoscere a priori l'ESSID di un AP, almeno che questo non lo inserisca
all'interno dei beacon che invia; un altra maniera sarebbe utilizzare
un'intrusione sfruttando una STA gia' connessa ma cio' non serve per il nostro
studio.
29 Giugno 2007
10.10 - 12.10 ( 2 h)
Dalla moltitudine di informazioni ricercate sul web e' emerso che l'ESSID di una
rete e' facilmente reperibile da una STA attraverso l'invio dei famigerati probe
request. Quindi si puo' ipotizzare che se una stazione vuole migrare verso un AP
differente da quello a cui e' gia' associata, essa si mettera' alla ricerca e
controllera', via probe request/response, anche che il nuovo AP faccia parte
dello stesso ESS di quello vecchio. Quindi, se ne trova uno o piu' che
soddisfano tale requisito, puo' migrare e questo vuol dire che il roaming e'
effettivamente attivo e presente. Naturalmente se un AP nasconde il proprio
ESSID non si puo' sapere se esso fa parte del medesimo ESS e percio' non si puo'
sapere se esiste roaming.
Un ottimo esempio di come faccia una STA ad associarsi ad un nuovo AP e' mostrato in A Reliable Active Scanning Scheme for the IEEE e , come gia' detto, ogni qualvolta c'e'il cambio di access point la STA deve attivare tutte le procedure di autenticazione/associazione notificando anche la dissociazione al vecchio AP. Se i frame di ri-associazione fossero realmente utilizzati si potrebbere avere delle informazioni in piu', infatti questi frame contengono anche l'indirizzo MAC del dell'AP al quale la STA era collegata e il nuovo AP potrebbe ricevere dal vecchio eventuali dati bufferizzati indirazzita alla stazione in considerazione.
12.45 - 14.30 ( 1.45 h)
Punti per abbozzo alla scaletta utile per la relazione:
1) Definizione di roaming 2) Descrivere lo scenario attuale e come fa una STA a migrare da un AP ad un altro 3) Presentare le condizioni necessarie affinche' il roaming possa venire rilevato 4) Dare una valutazione delle possibili configurazioni utili alla rilevazione a) vedere quali pacchetti vengono trasmessi b) in base ai pacchetti rilevati stabilire se essi possono dare informazioni certe al fine dell'obiettivo c) dare una stima sulla presenza o meno del roaming 5) Discutere quanto i dati rilevati e le supposizioni fatte siano veritieri 6) Roaming indotto? 7) Parlare del fatto che non c'e' nessuna regolamentazione da standard e che ogni produttore applica le regole che piu' gli fanno comodo 8) Accenno a 802.11r? quali scenari potrebbe aprire?
Naturalmente questi sono solo punti preliminari; dopo aver fatto un incontro con
zeratul questi verranno espansi e migliorati al fine di produrre una scaletta
consistente.
2 Luglio 2007
11.45 - 13.10 ( 1.25 h)
Niente di nuovo per quanto riguarda l'esistenza del roaming indotto. Purtroppo
tutto cio' che potrebbe parlarne e' protetto da copyright e si puo' leggere solo
gli abstract di questi documenti.
14.00 - 16.30 ( 2.30 h)
Primi conti di tutto cio' che si e' riuscito a capire nei giorni precedenti (
analisi utile al fine della stesura della relazione):
1 Fattore caratterizzante --> distribution system Perche' --> se e' presente allora il roaming e' presente Come --> ascolto della linea; se si ricevono frame contenenti 4 indirizzi MAC, campi from/to ds asseriti. 2 Fattore caratterizzante --> piu' AP appartenenti al medesimo ESS Perche' --> se esiste allora gli AP sono tutti interconnessi tra loro con possibile esistenza del roaming Come --> ascolto della linea e rilevamento di probe request/response inviati e ricevuti da una stessa STA e contenenti ESSID. 3 Fattore caratterizzante --> altre maniere per individuare la presenza o meno del roaming Perche' --> scopo dello studio Come --> ascolto della linea e rilevazione di probe request/response da e per una stessa STA, frame di dissociazione/associazione da parte di una stessa STA verso due diversi AP 4 Fattore caratterizzante --> server a monte degli AP Perche' --> se esiste un server allora tutti gli AP sono interconnessi e c'e' una buona probabilita' che ci sia roaming Come --> ascolto della linea e rilevazione di frame conteneti richieste di autenticazione ad alto livello insieme a richieste di autenticazione di tipo open system che le STA utilizzano per pre-autenticarsi con uno degli AP
Da qui si puo' dedurre che il rilevamento del roaming e' composto da tutto
questo insieme di fattori; quindi bisognera' impiegare un discreto lasso di
tempo atto all'individuazione di tutti, o almeno di una buona parte, di questi
frame. Per capire se il roaming esiste si puo' adottare il seguente schema: se
durante il rilevamento si nota la presenza dei punti 1, 2, 3 allora il roaming
e' presente in quanto abbiamo un ESS con distribution system e quindi e'
naturale il fatto che se una STA vuole migrare essa lo puo' fare muovendosi tra
tutti gli AP presenti e facenti parte della stessa rete estesa. Nei casi che
siano presenti tutti e 4 i punti allora questa e' la soluzione otimale in quanto
si puo' sfruttare anche l'autenticazione ad alto livello e il romaing puo'
essere velocizzato. La sola presenza dei punti 1, 2 non assicura che il roaming
sia attivo in quanto si hanno poche notizie sulle attivita' della stazioni,
cosi' come quando si rileva solamente il punto 3 in quanto si sa quello che una
STA sta facendo ma non si sa le sue azioni possono essere considerate come
azioni di roaming. Naturalmente la rilevazione di uno solo dei punti o la totale
assenza di essi fa si che il roaming non esista, cosi' come se gli AP non
mostrano il loro ESSID.
3 Luglio 2007
10.30 - 12.30 ( 2 h)
Raffinamento ulteriore della scaletta in vista della relazione:
1) Definizione di roaming 2) Descrivere lo scenario attuale, motivazioni sull'uso, pro e contro: a) spiegare la meccanica di migrazione di una STA da un AP ad un altro b) dire perche' e' utile utilizzare il roaming ( associazione di una STA in movimento all'AP migliore senza dover interrompere la connessione alla rete) e spiegare il perche' l'individuazione di tale servizio e' utile per i fini del nostro studio ( se una stazione riesce a vedere che alcuni AP intorno a lei utilizzano anche il roaming questi avranno una maggiore possibilita' di essere scelti) c) spiegare il fatto che non esiste nessuno standard che regolamenti il meccanismo e quindi ogni produttore di AP utilizza le regole che vuole; infatti e' molto probabile che access point di produttori diversi non si parlino e non possano fornire il servizio di roaming anche se fanno parte del medesimo ESS d) spiegare anche i difetti del roaming in quanto ogni qualvolta una STA si associa ad un nuovo AP essa deve rifare tutte le procedure di autenticazionie/associazione e dissociazione con conseguente degrado delle prestazioni della rete ( stessa cosa vale per i momenti in cui una STA cerca il migliore AP attraverso l'invio di probe su tutti i canali della rete). Una possibile soluzione sarebbe utilizzare la pre-autenticazione ma in questo momento questa e' poco sfruttata 3/4) Presentare le condizioni necessarie affinche' il roaming possa venire rilevato e dare una valutazione delle possibili configurazioni utili alla rilevazione: a) descrivere tutti gli elementi utili per individuare la presenza del roaming ( distribution system, ESS, azione della STA, autenticazione ad alto livello per il fast roaming) e dire perche' tali elementi sono utili per gli scopi del progetto b) descrivere come potrebbe venire eseguita una rilevazione ( stare in ascolto sul canale per un buon lasso di tempo e riconoscere i frame) c) dare uno specchio di tutte le combinazioni possibili ( in base ai pacchetti rilevati) e, per ognuna, dare una stima sulla presenza o meno del roaming ( vedi prospetto del 2 Luglio) 5) Discutere quanto i dati rilevati e le supposizioni fatte siano veritieri a) precisare che tutte le supposizioni fatte sono frutto di un lavoro teorico e non di test in quanto non abbiamo potuto sperimentare le nostre conoscenze direttamente sul campo; precisare comunque che alcune gruppi di lavoro hannno veramente effettuato dei test e che tutto quello che si e' detto precedentemente ha comunque una buonissima percentuale di verita' 6) Roaming indotto? 7) Accenno a 802.11r: a) dire che e' un draft che dovra' diventare uno standard per il fast roaming b) finalmente potrebbe dare un punto di riferimento ai produttori in quanto darebbe regole standard per l'implementazione del roaming introducendo anche informazioni utili che viaggerebbero attraverso i beacon
IEEE 802.11r quando verra'
approvato diventera' lo standard per il fast roaming; il progetto si prefigge
l'obiettivo di rendere molto piu' efficace e veloce il passaggio di una STA da
un AP ad un altro mantenedo comunque tutte le proprieta' di sicurezza e qualita'
del servizio che gia' offrono gli standard 802.11 b/g. Inoltre 802.11r dovrebbe
riuscire a porre un rimedio alla miriade di implementazioni proprietarie del
roaming riuscendo cosi' a definire linee guida utili a tutti gli AP presenti sul
mercato. Attualmente la squadra e' al lavoro per risolvere i problemi legati
alle perdita di tempo causate dagli intervalli troppo lunghi che intercorrono
per permettere ad una STA di associarsi al nuovo AP e di dissociarsi al vecchio;
tali perdite non possono essere concesse in quelle connessioni dove si
utilizzanno programmi per la telefonia su internet (VoIP) in quanto eccessivi
ritardi andrebbero a degradare la qualita' delle comunicazioni.
4 Luglio 2007
15.50 - 18.30 ( 2.40 h)
Inizio stesura della relazione.
5 Luglio 2007
11.20 - 17.30 ( 6.10 h)
Relazione.
6 Luglio 2007
10.45 - 14.20 ( 3.35 h)
Relazione piu' correzione con zeratul.
9 Luglio 2007
15.20 - 17.30 ( 2.20 h)
Relazione piu' correzione con zeratul.
10 Luglio 2007
10.30 - 16.00 ( 5.30 h)
Relazione.
12 Luglio 2007
11.30 - 16.10 ( 4.40 h)
Briefing con la squadra piu' correzione della relazione.
18 Luglio 2007
16.30 - 19.00 ( 2.30 h)
Inizio stesura dell'algoritmo per acquisire punteggi sulla bonta' dei
supportial roaming rilevati.
FATTORI DA TENERE PRESENTE: - Presenza di ESS o AAL o di entrambi - Presenza DS (se si trova anche ESS ==> supporto ottimale) - Numero di AP facenti parte delle varie reti PUNTEGGI:- 2 punti se sono presenti ESS o AAL - 1 punto se si individua un DS (bisogna stare in ascolto per vedere a quale ESS fanno parte le STA che trasmettono i dati) - 1 punto se e' presente solo il BSS- 1 punto per ogni AP facente parte di una delle reti trovate
19 Luglio 2007
11.00 - 15.55 ( 4.55 h)
Algoritmo con punteggi rivisti:
PUNTEGGI: - 10 punti per ogni ESS trovato - +5 punti per ogni AAL trovata - 3 punti se e' presente solo il BSS - +1 punto per ongni AP facente parte di una delle reti trovate Da qui si puo' gia' notare come l'algoritmo tendera' a favorire quelle reti che presentano autenticazione ad alto livello (meccanismo di roaming piu' veloce).Nel caso in cui un ESS senza AAL abbia piu' AP connesi (e rilevati) di un ESS con AAL ==> +10 punti ALGORITMO PER LA RICERCA DI UN ESS Si pensi di avere a disposizioni delle liste di dati. list ESS, AP, punti, n_AP int i scan() se (frame = probe_response) allora E = ESSID M = MAC_AP se (ESSID non e' presente) allora esci e torna a scan altrimenti cicla la lista ESS se (E e' presente nella lista) allora prelevo il suo indice j altrimenti ESS [i] = E inserisco E nella lista punti [i] = 10 j = i prelevo il suo indice i = i + 1 fine ciclo ciclo sulla lista AP se (M non compare nella lista alla posizione j) allora aggiungi M alla lista di indirizzi MAC alla posizione j punti [j] = punti [j] + 1 n_AP [j] = n_AP [j] + 1 altrimenti non faccio nulla fine ciclo fine ramo fine algoritmo
23 Luglio 2007
14.00 - 18.00 ( 4 h)
Inzio stesura algoritmo per rintracciare eventuali ESS con autenticazione ad alto livello.Questa parte verra' poi integrata nei prossimi giorni con il resto dell'algoritmo gia' prodotto.
24 Luglio 2007
10.00 - 14.00 ( 4 h)
ALGORITMO PER LA RICERCA DI AUTENTICAZIONE AD ALTO LIVELLO L'idea e' quella di trovare una STA che scambia frame EAP e che utilizza, una volta autenticata presso il RADIUS, probe_request per migrare verso AP del medesimo ESS protetto dal server esterno. Purtroppo questo algoritmo non assicura che tutto vada a buon fine in quanto possono insorgere problemi durante la rilevazione dei frame come ad esempio la non rilevazione dei frame EAP o dei probe_request. Piu' avanti si cerchera' di trovare una soluzione migliore di questa. list AAL //lista booleana per indicare in quale ESS e' presente Autenticzione ad alto livello: 1 = presente 0 = assente list STA //lista contenente gli indirizzi MAC delle stazioni che hanno scambiato frame EAP int k se ( frame = EAP) allora STA[ k ] = MAC_STA k = k + 1 se ( frame = probe_request ) allora MS = MAC_STA ES = ESSID ciclo la lista STA se ( MS presente ) allora 1 ciclo la lista ESS se ( ES presente ) allora ritorno il suo indice j altrimenti attendo di ricevere dei probe_response contenenti ESSID cercato quando mi sveglio rieseguo 1 fine ciclo fine ramo fine ciclo AAL [ j ] = 1 PUNTI [ j ] += 5 fine ramo fine algoritmo Come di puo'notare qualora un particolare ESSID cercato non fosse stato ancora inserito nella lista (in quanto non si sono ricevuti degli ipotetici probe_response da parte degli AP interessati) il processo che sta eseguendo l'analisi si sospende in attesa delle informazioni richieste. Al suo risveglio se l'ESSID sara'presente potra' andare avanti altrimenti si riaddormentera'. Qualora il programma terminasse con il processo ancora bloccato esso verra'terminato e le sue informazioni verranno perse. ALGORITMO PER LA RILEVAZIONE DI UN BSS list BSS //lista contenete l'indirizzo MAC dell'AP e i punti int w se ( frame contiene solo BSSID) allora ciclo la lista BSS se ( BSSID presente) allora esco altrimenti inserisco BSSID alla posizione j BSS [ w ].punti = 3 w = w + 1 fine ramo fine ciclo fine algoritmo
17 Ottobre 2007
(6 h)
list ESS, AP, punti, GRAT_ARP int i while(true){ send probe_request() scan() se (frame = probe_response) allora E = ESSID M = MAC_AP se (ESSID non e' presente) allora esci e torna a scan altrimenti cicla la lista ESS se (E e' presente nella lista) allora prelevo il suo indice j altrimenti ESS [i] = E inserisco E nella lista punti [i] = 10 j = i prelevo il suo indice i = i + 1 fine ciclo ciclo sulla lista AP se (M non compare nella lista alla posizione j) allora aggiungi M alla lista di indirizzi MAC alla posizione j punti [j] = punti [j] + 1 altrimenti non faccio nulla fine ciclo fine ramo se (frame = arp) allora se (ip_source = ip_dest) allora //gratuitous_arp MA = mac_address source ciclo la lista ESS controllando gli AP salvati se ( MA non compare) allora aggiungi MA alla lista GRAT_ARP altrimenti preleva indice k dell'ESS punti [k] = punti [k] + 50 fine ramo fine ramo fine ciclo fine ramo ciclo la lista GRAT_ARP C = mac address i-esimo ciclo la lista ESS se (C compare) allora prelevo indice k dell'ESS punti [k] = punti [k] + 50 fine ramo fine ciclo fine ciclo }