Ninj4 Pubblicato: 18 Ottobre 2008 Segnalazione Share Pubblicato: 18 Ottobre 2008 Salve ragazzi .. ho controllato un pò in giro in questa sezione ma non ho trovato nulla a riguardo.. sto progettando un programmino per la rilevazione della posizione del cellulare senza modulo gps ( è da decidere ancora il linguaggio di programmazione da usare .. penso che opterò per qualcosa ad alto livello come python o mshell .. ). Molti di voi conosceranno l'applicazione google maps per dispositivi mobili. Tra le sue funzioni troviamo "la mia posizione" che si basa sulla rilevazione della posizione geografica della cella alla quale è collegato il cellulare in quel momento. A me servirebbe sapere quale è il meccanismo che usa questo programma per rilevare la posizione ( approssimativa ). Non penso che il programma abbia al suo interno un database che contiene le posizioni geografiche delle celle quindi suppongo che vengano inviate informazioni ( tipo l'id della cella ) a qualche server di google che rimanda le posizioni geografiche della cella che il programma processerà per far comparire il pallino sulla mappa. Per il momento a me interessa sapere se qualcuno di voi sa che tipo di informazioni vengono inviate e ricevute ( o magari mi indica il meccanismo per "sniffare" il traffico generato e ricevuto su dispositivi mobili ) così da poter continuare Ringrazio anticipamente! Link to comment Condividi su altri siti More sharing options...
Nyarlathotep Pubblicato: 18 Ottobre 2008 Segnalazione Share Pubblicato: 18 Ottobre 2008 io ho fatto 2 programmini in mshell. Il primo ti avvisa ogni volta che cambi una cella (ti stampa a vide ID della cella - Livello Segnale - e info net cioè: mcc Mobile Country Code (MCC) mnc Mobile Network Code (MNC) short Short Network Name long Long Network Name lac Location Area Code (LAC) Il secondo crea 2 file txt su cui logga Data e ora, ID cella, livello segnale e info net... sull'altro solo l'id cella (più ordinato). Cmq penso che per fare quello che vuoi bisogna avere un database con tutte le celle d'Italia. C'era una comunity che lo stava facendo (con celltrack). Se vuoi la cerco e ti faccio sapere Link to comment Condividi su altri siti More sharing options...
Ninj4 Pubblicato: 18 Ottobre 2008 Autore Segnalazione Share Pubblicato: 18 Ottobre 2008 (modificato) si la tenevo anche io sott'occhio ma era qualcosa a livello di amatoriale.. mi chiedevo come accedere alle informazioni che usa il sistema di google maps ( innanzitutto bisognerebbe vedere se tali informazioni sono in chiaro o arrivano crittate .. ) .. mi basterebbe anche avere il nome di qualche programma per monitorare il traffico generato e ricevuto cmq se qualcuno ha qualche info in più la postasse ! cmq grazie della risposta Nyarlathotep ;) Modificato 18 Ottobre 2008 da Ninj4 Link to comment Condividi su altri siti More sharing options...
Ninj4 Pubblicato: 18 Ottobre 2008 Autore Segnalazione Share Pubblicato: 18 Ottobre 2008 (modificato) Allora... dopo circa un giorno di ricerche sono arrivato a queste conclusioni Ho trovato un codice scritto in python che fa esattamente quello che cercavo! ( o almeno dovrebbe perchè a me non funziona ! ) Posto il codice di seguito from httplib import HTTP import location latitude = 0 longitude = 0 def doLookup(cellId, lac, host = "www.google.com", port = 80): from string import replace from struct import unpack page = "/glm/mmap" http = HTTP(host, port) result = None errorCode = 0 content_type, body = encode_request(cellId, lac) http.putrequest('POST', page) http.putheader('Content-Type', content_type) http.putheader('Content-Length', str(len(body))) http.endheaders() http.send(body) errcode, errmsg, headers = http.getreply() result = http.file.read() # could need some modification to get the answer: here I just need # to get the 5 first characters if (errcode == 200): (a, b,errorCode, latitude, longitude, c, d, e) = unpack(">hBiiiiih",result) latitude = latitude / 1000000.0 longitude = longitude / 1000000.0 return latitude, longitude def encode_request(cellId, lac): from struct import pack content_type = 'application/binary' body = pack('>hqh2sh13sh5sh3sBiiihiiiiii', 21, 0, 2, 'in', 13, "Nokia N95 8Gb", 5,"1.3.1", 3, "Web", 27, 0, 0, 3, 0, cellId, lac, 0, 0, 0, 0) return content_type, body (mcc, mnc, lac, cellId) = location.gsm_location() (latitude, longitude) = doLookup(cellId, lac, "www.google.com", 80) print latitude print longitude Purtroppo quando lo avvio mi da il seguente errore: error: unpack str size does not match format sulla linea 26 --> (a, b,errorCode, latitude, longitude, c, d, e) = unpack(">hBiiiiih",result) tuttavia ho letto che ad alcune persone funziona senza problemi.. (la shell python che ho è certificata quindi non penso che l'errore sia riconducibile a questo) qualche suggerimento ? Modificato 18 Ottobre 2008 da Ninj4 Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 19 Ottobre 2008 Segnalazione Share Pubblicato: 19 Ottobre 2008 Google Maps ha un db delle celle... Il cell. non fa nessun calcolo, comunica i dati della cella e Google Maps ne restituisce la posizione. Link to comment Condividi su altri siti More sharing options...
JumpJack_ Pubblicato: 20 Ottobre 2008 Segnalazione Share Pubblicato: 20 Ottobre 2008 Google Maps ha un db delle celle... Il cell. non fa nessun calcolo, comunica i dati della cella e Google Maps ne restituisce la posizione. e come si interroga? ho cercato di capire l'URL dal sorgente ma non ci sono riuscito... Cmq c'e' anche opencellid: http://www.opencellid.org/ Link to comment Condividi su altri siti More sharing options...
Nyarlathotep Pubblicato: 20 Ottobre 2008 Segnalazione Share Pubblicato: 20 Ottobre 2008 scusate ma a questo punto non è meglio utilizzare il db di google maps??? anche se secondo me è impossibile che conosca TUTTE le celle del mondo :| Link to comment Condividi su altri siti More sharing options...
JumpJack_ Pubblicato: 20 Ottobre 2008 Segnalazione Share Pubblicato: 20 Ottobre 2008 scusate ma a questo punto non è meglio utilizzare il db di google maps??? anche se secondo me è impossibile che conosca TUTTE le celle del mondo :| google sa tutto. Link to comment Condividi su altri siti More sharing options...
Nyarlathotep Pubblicato: 20 Ottobre 2008 Segnalazione Share Pubblicato: 20 Ottobre 2008 bhe allora mi servirebbe anche a me il cd di tutte le celle del mio paese Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 20 Ottobre 2008 Segnalazione Share Pubblicato: 20 Ottobre 2008 e come si interroga? ho cercato di capire l'URL dal sorgente ma non ci sono riuscito...Cmq c'e' anche opencellid: http://www.opencellid.org/ Tempo fa avevo fatto un programma in c# per interrogarlo, ma al momento non lo trovo Link to comment Condividi su altri siti More sharing options...
JumpJack_ Pubblicato: 21 Ottobre 2008 Segnalazione Share Pubblicato: 21 Ottobre 2008 Tempo fa avevo fatto un programma in c# per interrogarlo, ma al momento non lo trovo cerca meglio... Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 21 Ottobre 2008 Segnalazione Share Pubblicato: 21 Ottobre 2008 Nell'attesa, qui puoi trovare un codice funzionante... http://forum.openhandsetdevelopers.com/goo...cation-t19.html Il problema e' la gestione delle celle 3G che ancora non si sa come devono essere trattate. Inoltre, non sono certo che servano i campi MCC ed MNC... A suo tempo mi ero messo a decompilare l'applet java di google maps, ma dopo un po' avevo lasciato perdere per mancanza di tempo... Se ti va potremmo smontarla insieme un po' alla volta per arrivare a determinare con esattezza i vari campi necessari ed il loro scopo. Link to comment Condividi su altri siti More sharing options...
JumpJack_ Pubblicato: 22 Ottobre 2008 Segnalazione Share Pubblicato: 22 Ottobre 2008 Nell'attesa, qui puoi trovare un codice funzionante... http://forum.openhandsetdevelopers.com/goo...cation-t19.html Il problema e' la gestione delle celle 3G che ancora non si sa come devono essere trattate. Inoltre, non sono certo che servano i campi MCC ed MNC... A suo tempo mi ero messo a decompilare l'applet java di google maps, ma dopo un po' avevo lasciato perdere per mancanza di tempo... Se ti va potremmo smontarla insieme un po' alla volta per arrivare a determinare con esattezza i vari campi necessari ed il loro scopo. no grazie, non ho nè tempo nè voglia. Tanto di sicuro l'ha gia' fatto piu d'una persona in rete, cosi' come piu' d'una persona ha postato il codice per scaricare le "tile" di GoogleEarth! Bisogna solo trovarle, queste persone... Link to comment Condividi su altri siti More sharing options...
JumpJack_ Pubblicato: 22 Ottobre 2008 Segnalazione Share Pubblicato: 22 Ottobre 2008 (modificato) Cercando "http://www.google.com/glm/mmap" o "http://www.google.com/glmm/mmap" (una M in piu') si trovano un sacco di sorgenti... ma nemmeno uno che abbia nei commenti un esempio di URL??? Questo invece è l'URL di query per opencellid.org: http://www.opencellid.org/cell/get?mcc=250...29513&lac=0 Modificato 22 Ottobre 2008 da JumpJack_ Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 22 Ottobre 2008 Segnalazione Share Pubblicato: 22 Ottobre 2008 Vedi il link che ti ho indicato prima per i sorgenti. Per google maps bisogna effettuare una POST al webserver, per questo non troverai mai una URL di esempio... Link to comment Condividi su altri siti More sharing options...
Ninj4 Pubblicato: 23 Ottobre 2008 Autore Segnalazione Share Pubblicato: 23 Ottobre 2008 Allora .. ho compilato il codice in c# e funziona ( dà lo stesso punto che mi da google maps sul cellulare ) ... interrogando invece opencellid lo scarto è troppo alto ! ( basti pensare che mi da un punto in MARE APERTO ! :D ) Link to comment Condividi su altri siti More sharing options...
madhacker Pubblicato: 3 Gennaio 2009 Segnalazione Share Pubblicato: 3 Gennaio 2009 https://www.nokioteca.net/home/forum/index....howtopic=141389 date un'occhiata qui Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 11 Febbraio 2009 Segnalazione Share Pubblicato: 11 Febbraio 2009 (modificato) Tempo fa avevo fatto un programma in c# per interrogarlo, ma al momento non lo trovo Ultimamente ho recuperato il programmino, ed ho pensato bene di integrare anche il supporto per OpenCellId.org e per CellDB.org Alla fine ho preso il tutto e l'ho messo accessibile in via sperimentale sul web: http://www.guardian-mobile.com/map.aspx Devo ancora ottimizzare la pagina per una resa adeguata su mobile, ma per ora fa il suo sporco lavoro P.S. Se siete a conoscenza di altri DB delle celle oltre a googlemaps, opencellid e celldb, segnalateli, che li aggiungo! Modificato 11 Febbraio 2009 da Il.Socio Link to comment Condividi su altri siti More sharing options...
madhacker Pubblicato: 11 Febbraio 2009 Segnalazione Share Pubblicato: 11 Febbraio 2009 mi hai colto nel segno... stavo lavorando ad un sito web per integrarlo al mio programmino Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 11 Febbraio 2009 Segnalazione Share Pubblicato: 11 Febbraio 2009 (modificato) Veramente, intendo una cosa differente... Non intendo integrare il sito all'interno di un programma, ma adattare la pagina web affinche' si possa consultare agevolmente dal browser standard del cellulare. Non dovrei metterci molto, e' giusto una questione di presentare la pagina come si deve... Cosi' facendo, non c'e' bisogno di installare nessun programmino e si puo' consultare da qualsiasi cell. anche non Symbian. P.S. Se si disponesse di un database di celle aggiornato da utilizzare offline, varrebbe la pena realizzare una applicazione dedicata che funzioni completamente offline... Ma poi ci sarebbero da gestire i problemi di aggiornamento del database e sicuramente non sarebbe applicabile a livello globale. Modificato 11 Febbraio 2009 da Il.Socio Link to comment Condividi su altri siti More sharing options...
madhacker Pubblicato: 11 Febbraio 2009 Segnalazione Share Pubblicato: 11 Febbraio 2009 è ciò che intendevo dire anche io. ora rileggendo mi sono accorto di aver scritto di volerlo integrare, ma in realtà vorrei "associarlo", ovvero, far girare l'applicazione sui dispositivi symbian e, dare la possibilità anche a chi non ha un symbian, di poter conoscere le posizioni delle celle. l'idea del programma offline non sarebbe affatto male, però andrebbe scaricato l'intero database online, e ciò può causare diversi inconvenienti, quali i copyright. in questi giorni sono stato poco a lavoro del progetto quindi non sono andato molto oltre, ma una pagina gestibile tramite cellulare (quindi wap) non è molto difficile da costruire. Link to comment Condividi su altri siti More sharing options...
madhacker Pubblicato: 12 Febbraio 2009 Segnalazione Share Pubblicato: 12 Febbraio 2009 (modificato) posto nel thread perchè necessito di un aiutino; in pratica sto cercando di far eseguire uno script php che consenta lo stesso funzionamento del programma per symbian (cellID) siccome lo script del programma è in python capirete che ci sono delle divergenze col php ecco la parte di script che mi servirebbe in php: pack('>BBBBBBBBBBBBBBBBBLLLHLLLLLL', 0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,var1, var2, var3, 0, var4, var5, var6, var7, 0, 0) io l'ho tradotto così: pack('CCCCCCCCCCCCCCCCCLLLSLLLLLL', 0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,$var1, $var2, $var3, 0, $var4, $var5, $var6, $var7, 0, 0); ma mi sa che c'è divergenza. già noterete che manca il simbolo '>'; non ho trovato alcuna corrispondenza dal python al php per quel simbolo. ringrazio tutti anticipatamente per l'aiuto PS: Scusate il doppio post Modificato 12 Febbraio 2009 da madhacker Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 12 Febbraio 2009 Segnalazione Share Pubblicato: 12 Febbraio 2009 Purtroppo non ti so aiutare... Pero' segnalo la presenza di quest'altro database che puo' essere utilizzato per le interrogazioni: http://cellid.telin.nl/wasp/jsp/CellStats.jsp Per domani dovrei riuscire ad integrarlo nella mia paginetta Link to comment Condividi su altri siti More sharing options...
madhacker Pubblicato: 12 Febbraio 2009 Segnalazione Share Pubblicato: 12 Febbraio 2009 (modificato) dall'esempio in php postato sopra mi ritrovo una risposta del server di soli 7 byte, mentre dal programma in python o un altro in C# ricevo una risposta dal server di 25 bytes. il.socio mi confermi che anche a te la risposta del server di google è di 25bytes?? spero di riuscire ad avere la risposta positiva dal server ... farò altre prove e vi terrò aggiornati. grazie della disponibilità Modificato 12 Febbraio 2009 da madhacker Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 12 Febbraio 2009 Segnalazione Share Pubblicato: 12 Febbraio 2009 (modificato) Ho controllato il codice (c#), ed io le risposte di 7byte le ottengo quando interrogo ma la cella non e' presente... Se invece la cella c'e', non ho idea di quanto sia lunga la risposta, ma di sicuro e' almeno di 15bytes. Modificato 13 Febbraio 2009 da Il.Socio Link to comment Condividi su altri siti More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Accedi Ora