[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