[Gfoss] Come "estorcere" un servizio WMS?
Niccolo Rigacci
rigacci at faunalia.it
Sun Oct 28 19:35:02 CET 2007
> Mi spiego. Consulto abitualmente un webgis che richiede autenticazione, e mi
> chiedevo se fosse possibile in qualche maniera riuscire ad attingere ai
> layer dello stesso e tramite WMS caricarli in un client desktop qualunque.
In generale direi di si, tutto sta nel vedere come funziona il
protocollo.
Mi spiego: se l'immagine la vedi dentro un browser ci sono buone
probabilita' che siano arrivate via http. Si tratta di scoprire
l'algoritmo che data la bounding box costruisce la richiesta http
giusta.
L'esperimento fatto da me funziona piu' o meno cosi:
1 La richiesta WMS contiene la bounding box e la dimensione in
pixel dell'immagine richiesta.
2 L'algoritmo calcola quali mattonelle VirtualEarth (256x256
pixel) servono a coprire la bbox richiesta e le preleva via
http.
3 Le mattonelle vengono composte e ritagliate per restituire
esattamente l'immagine richiesta.
Il passaggio 2 sarebbe stato difficile senza la documentazione
del protocollo VE. Non e' intuitivo scoprire che la mattonella
alle coordinate (x, y) e allo zoom z viene restituita da un URL
del tipo:
http://r2.ortho.tiles.virtualearth.net/tiles/r03022332.png?g=22
In generale e' sempre possibile fare reverse engineering: mentre
con il PC accedi al webgis, con uno sniffer controlli le
richieste TCP/IP che partono dal PC stesso e cerchi di capire il
protocollo.
--
Niccolo Rigacci
Firenze - Italy
More information about the Gfoss
mailing list