Gå til innhold

[Worklog] - GSM-cellesniffekoffert


Anbefalte innlegg

Hva er dette?

Ganske enkelt driver jeg og bygger en koffert som skal forsøke å logge nettverkstopografien til GSM nettverkene som finnes. Resultatet blir kontinuerlig publisert på www.gsmcellspotting.com.

 

Historikk

Jeg har i 10 år vært interesert i GSM teknologi. Allerede for mange mange år siden begynte jeg å utforske nettverket til Telenor og Netcom ved hjelp av Netmonitor menyen man kunne aktivere på enkelte Nokia telefoner. Den gangen gikk det i papir og blyant. Etterhvert som jeg fikk min første Symbiantelefon fikk jeg nå muligheten til å gjøre litt mer. Jeg fikk tak i programvare som kunne logge informasjon om nettverket. Samtidig logget jeg mine "spor" med en GPS. Deretter skrev jeg et program som satte disse loggene sammen, slik at jeg kunne måle hvilke celler man var koblet til hvor, og hvor sterkt signal man hadde. Alt dette ble lagret i en database.

 

For en stund siden laget jeg et webgrensesnitt som bruker google maps mot denne databasen. Denne ligger nå på www.gsmcellspotting.com. Ta en kikk der.

 

Ulempen med systemet jeg brukte var at man fikk bare logget det ene nettverket man var koblet til, samtidig som man bare fikk logget de cellene man til enhver tid var koblet til. Jeg bestemte meg for å lage et system bygget i en koffert som kunne logge 3 nettverk samtidig ved at man hadde en laptop koblet til 3 telefoner og 1 GPS. Dermed fikk man logget inntil 3 nettverk, samtidig som man hentet ut GPS-posisjonen i sanntid. (Altså ikke noe behov for å kjøre sammen logger i etterkant, noe som går treigt, og kan være litt unøyaktig). Jeg satte meg da ned og skrev programvaren. Programvaren fungerte fint, og jeg bestemte meg for å kjøpe en koffert for å få testet dette i feltet. Uheldigvis skjedde det noe katastrofalt før jeg fikk testet systemet. To av telefonene jeg brukte (gamle telefoner jeg hadde liggende) ble fuktskadet. Her var jeg i ferd med å gi opp hele prosjektet.

 

Men så kom jeg over et produkt som satte tankene i sving. Jeg kom over et GSM modem som bl. a. kunne hente ut informasjon om alle nettverk, helt uavhengig av om man var koblet til nettverket eller ikke. I tillegg hadde det mulighet for å hente ut informasjon som ikke er tilgjengelig med en vanlig telefon. Ideen om loggekofferten var født.

 

Om kofferten

Kofferten består ganske enkelt av noen få ting (se bilder):

- En liten laptop

- Et 12V blybatteri (som forsyner modemet med strøm)

- Et GSM-modem

- En GPS (for øyeblikket utvendig)

- En GSM-antenne

 

Hvordan fungerer dette?

GSM-modemet har som sagt mulighet for å scanne alle GSM-nettverk i nærheten. Den rapporterer tilbake alle cellene den finner på alle nettverk. Fordelen med dette er at man finner alle celler, uavhengig av hvor sterkt eller svakt signal man finner. (På en telefon finner man bare cellen for nettverket man er logget på som har sterkest signal). Dermed kan man identifisere alle celler i nærheten, også de som man av en eller annen grunn ikke har tilgang til (lukket nett, celler som er operative, men ikke i drift, etc.)

I bunn og grunn fungerer systemet slik at det hele tiden skanner nettet etter celler. Hver gang den finner en celle, logges div. informasjon om denne cellen, deriblant styrken på signalet. Hver gang informasjon om en celle logges, vil det også logges posisjonen denne infomasjonen er innhentet på, ved hjelp av GPSen.

 

I tillegg har jeg skrevet et python script som kjører på telefonen min og overvåker statusen til kofferten. Scriptet integrere seg på skrivebordet (se bilde nedenfor) og viser følgende informasjon:

- Antall observasjoner

- Antall unike celler observert

- Antall operatører observert

- GPS status

Telefonen blir oppdattert hver 5. sekund. Oppdatteringene skjer via bluetooth.

 

Hva som gjennstår å gjøre?

1) Uheldigvis har GPS-en jeg bruker for øyeblikket ikke mulighet for ekstern antenne, derfor er den montert utenpå kofferten. Jeg ønsker etterhvert å bytte ut denne med en intern GPS med ekstern antenne.

2) USB-tilkobling. Modemet og GPSen blir tildelt /dev/ttyUSB0 og /dev/ttyUSB1 om hverandre. Jeg ønsker om mulig å låse enhetene til en bestemt device, slik at jeg slipper å manuelt redigere koden hver gang systemet settes i drift.

3) PC-ens strømforbruk skal optimaliseres

4) Kofferten skal bygges ut slik at den kan drives (både modem og PC) fra 12V uttak i bil.

5) LEDs på utsiden av kofferten som indikerer batteristyrke, GPS fix og modemdrift.

6) Bedre bærerem som ikke knirker.

7) Bluetoothalarm. Alarm i kofferten utløses dersom den mister kontakt med mobilen i min lomme.

8) Teste at silikonet rundt ledningene faktisk holder vann ute

9) Finne ut om blybatteriet blir et problem når jeg skal ut og fly

10) Få batteristatus på 12V blybatteri tilgjengelig

11) Muligens implementere at jeg kan ta bilde av en mast med telefonen, og den lastet opp automatisk ved hjelp av scriptet over.

12) Regner med at jeg skriver om programvaren slik at den logger til en mysql database, i stedet for en flat fil. Dermed blir oppdattering av hoveddatabasen lettere.

 

I tillegg har jeg følgende ideer som jeg muligens vil implementere etterhvert:

1) Modemet kan kjøre interne python script, og jeg spekulerer i muligheten for å lage et "standalone" system hvor alt man trenger er modemet og et batteri, problemet er sannsynligvis størrelsen på internt lagringsminne.

2) GSM peiler. Det er mulig å finne ut retningen en GSM celle sender i ut fra dens ID. Man kan også bruke TA (Timing advance) for å beregne hvor langt unna cellen man befinner seg. Dermed har jeg mulighet for å skrive peileprogramvare som låser modemet til en celle, og lar en peile seg inn til hvor cellen fysisk befinner seg. Problemet er at TA får man kun tilgang til under aktiv samtale eller datatrafikk. Dette kan fort bli dyrt om man ikke benytter fri familie e.l. Dette er en funksjon jeg nok ikke kommer til å ha stor nytte av, men jeg har likevell lyst å lage den, bare for å bevise at det fungerer.

3) Jamming. Modemet kan detecte jamming av nettverket. Jeg har lyst å test ut dette, men siden slikt utstyr er dyrt og dessuten ulovlig blir nok ikke dette testet med det første.

4) Mulighet for å logge rekkevidden av enkeltkanaler for en celle. Jeg har muligheten, men tviler på at jeg kommer til å bruke tid på dette med det første.

 

Status quo

I skrivende stund er følgende gjort:

- Første versjon av kofferten er bygget

- Første felt-test av kofferten er gjennomført. Denne avslørte en feil i GPS funksjonen som nå er blitt rettet. En annen ukjent feil ble oppdaget hvor systemet sluttet å logge etter ca. 25 minutter. Dermed ble det lagt til en debug log i programvaren, som kanskje kan avsløre feilen.

- Andre felt-test av kofferten er gjennomført. GPS funksjonen fungerer nå slik den skal. Den ukjente feilen ble observert på ny. Denne har nå muligens blitt rettet, noe som neste felt-test vil avsløre.

 

Oppdattering (17.12.07): Det store batteri dilemaet

Når det nå snart blir jul, og endel reising så har jeg en ypperlig mulighet for å få testet kofferten i "produksjon". Men i dag oppdaget jeg noe som kunne blitt et problem. Jeg sjekket SAS sine baggasjeregler, og der oppdaget jeg at man ikke kunne ta med batterier som kunne lekke på et fly. Dette er jo trist siden blybatterier jo er kjent for å kunne lekke. Jeg sjekket ørten steder på nettet for å se om jeg kunne finne et alternativt batteri. Jeg fant noen jeg kunne brukt, og særlig en utepekte seg. 14V Li Mh batteri med 3,8 Ah. Problemet var bare at jeg ikke fant noen lader som passet.

Plutselig dukket det opp en idé i hodet mitt; jeg har jo en batteridrevet drill. Jeg sjekket batteriene tilhørende drillen, og jovisst 12V 1,3 Ah. Ergo ikke noe problem å fly med. Testet et av dem, og joda, det fungerte utmerket, i tillegg til å veie en lite brøkdel av hva blybatteriet veier.

Så da sitter jeg her da, og irriterer meg over å ha kastet 600 kr ut av vinduet for et blybatteri samt lader som jeg egentlig ikke trenger i det hele tatt. Vell. Jeg har i hvertfall lært at man bør undersøke alternativer til alt, før man bygger.

 

Oppdattering (12.06.08):v2.0 prosjektet er i gang

I dag var endelig eksamen over, og det er sommerferie. For å feire dette skal jeg nå lage v2.0 av kofferten. I den forbindelse er prosjektet omdøpt til GSM BlackBox v2.0

 

For det første skal den nye versjonen ikke bygges i en koffert men i en "boks" på størrelse med et A4 ark. Dette mest av praktiske årsaker. Den blir mindre, lettere å dra med seg, samt at den vil få ekstern strømforsyning. Så nå blir det lett å bare slenge "boksen" og batteriet i en ryggsekk når jeg er til fots eller på sykkel, og plugge rett i 12V når jeg er i bil.

 

I tillegg er følgende nye componenter bestillt (og kommer forhåpentligvis i posten snart):

-Laptop skal byttes ut med en Aleutia E2 Mini Computer. Denne er langt mindre, har ingen vifte, og kjører på 5V.

-Boksen får en Matrox orbital lcd skjerm for å vise status. Denne har også mulighet for å tilkobles GPI/O. Dermed kan jeg ha knapper på boksen for å gjøre ulike saker, samt koble til LEDS og lignende.

-Inn med en 12V-5V converter slik at både PC og GSM-modem kan suge strøm fra samme strømforsyning.

 

Jeg kommer til å prøve å holde tråden løpende oppdattert.

 

Oppdattering (15.06.08):Første v2.0 oppdattering

Nå har jeg gjort en del endringer i programvaren til boksen.

- Jeg har lagt til alle funksjonene for styring av LCD skjermen (se bilder nedenfor)

- Lagt til funksjoner for å skifte visningsmodus

- Scriptet autodetecter nå GSM-modem og LCD-skjerm, og gjetter at siste porten er GPS slik at programmet kan autostartes ved boot. Jeg kommer til å legge til autodetect av GPS også etterhvert.

 

Pythonscriptet som kjører på mobilen og serveren for denne er skrevet helt på ny:

 

- Tidligere fungerte telefon som server og pc som klient. Det er ganske teit og er endret.

- Serveren er inkludert i samme program som logger. Dette gir sanntidsinformasjon på telefonen og gir også mulighet for styring av boksen fra telefonen.

- Serveren startes som en egen tråd

- Mulighet for å velge mellom de tre ulike visningsformatene direkte fra telefonen

- Mulighet for å koble telefonen fra og til serveren uten å måtte restarte serveren

 

img7331ev0.jpg

Bootscreen

img7333ct8.jpg

Eksempel på feilmelding

img7334xf9.jpg

Default visningsmodus. Informasjon på skjermen: ØTV: GPS-fiksindikator, antall satelitter og GSM-nettverksindikator. Resten: Antall nettverk observert, antall unike celler observert, antall obervasjoner totalt, siste observasjon.

img7335je7.jpg

Latlong visningsmodus. Informasjon på skjermen: Samme som Default, men GPS lokasjon i stedet for siste observasjon.

img7336mn5.jpg

Continues visningsmodus. Informasjon på skjermen. Løpende siste observasjon.

screenshot0011nu1.png

Valg av visningsmodus fra telefon.

screenshot0008vx4.png

Visningsmodus default. Informasjon på telefon: ØTV: GPS-fiksindikator, antall satelitter, GSM-nettverksindikator. ØTH: Navn på bluetoothenheten vi er tilkoblet. Ellers: Antall nettverk observert, antall unike celler observert, totalt antall observasjoner, siste observasjon.

screenshot0009gg0.png

Visningsmodus Latlong. Iformasjon på telefonen: Samme som default, men GPS-lokasjon i stedet for siste observasjon.

screenshot0010vt2.png

Visningsmodus continues. Informasjon på telefonen: Løpende siste observasjoner.

 

Da er egentlig v2.0 av programvaren så og si ferdig. Det eneste som mangler er funksjoner for fysiske knapper jeg skal ha på boksen, samt funksjoner for lysdioder jeg skal ha på boksen. Har også planer om å kunne vise batteristatus på skjermen, men jeg har ikke funnet hardware for den funksjonen enda.

 

Jeg har også en 12V Lilliput touchskjerm liggende som jeg bruker som fjernkontroll til min PVR. Leker med tanken på å lage et grafisk grensesnitt til scriptet slik at jeg kan koble til Lilliput skjermen for bedre styring og visning når man er i bil.

 

Så nå venter jeg bare på minipcen slik at jeg kan sette i gang å bygge selve boksen. Bestillte PCen den 11.06 og den er fortsatt ikke sendt. Shipping and handling til Norge skulle være 3-5 dager, så nå syns jeg jammen de må få ut fingern.

 

Oppsummering

Skal prøve å komme med løpende oppdatteringer. Kommer også til å skrive mer konkret om prosjektet etterhvert som jeg har tid. PS bildene er tatt med et dårlig kamera som var nesten tomt for strøm. Jeg legger ut nye bilder snart.

 

All ære for dette prosjektet går til min kjære samboer som har vært så tolmodig med meg mens jeg har jobbet med dette.

 

PS! Kommenter gjerne i denne tråden, selv om det er en worklog. Jeg kommer til å holde førsteposten oppdattert.

post-10183-1196367622_thumb.jpg

post-10183-1196367641_thumb.jpg

post-10183-1196367652_thumb.jpg

post-10183-1196367664_thumb.jpg

post-10183-1196368022_thumb.png

post-10183-1196368028_thumb.png

post-10183-1196734983_thumb.png

Endret av cyclo
Lenke til kommentar
Videoannonse
Annonse

Oppdattering 30.11.07

 

Kjørte en ny testrunde med kofferten i dag. Problemet med at programmet sluttet å logge etter en periode ser ut til å være løst. I tillegg kom jeg mens jeg var ute og tuslet med kofferten på følgende saker jeg skal legge til i todo listen:

- Jeg skal skrive et python script på min mobil som kobler seg til kofferten enten via BT eller WLAN som skal vise løpende statistikk over antall celler logget, GPS-status, etc. Slik at jeg får følgt med på hva som skjer inne i kofferten.

- Muligens implementere at jeg kan ta bilde av en mast med telefonen, og den lastet opp automatisk ved hjelp av scriptet over.

- Regner med at jeg skriver om programvaren slik at den logger til en mysql database, i stedet for en flat fil. Dermed blir oppdattering av hoveddatabasen lettere.

Endret av cyclo
Lenke til kommentar

Oppdattering 02.06.07

 

Nå er endelig pythonscriptet til telefonen ferdig. Det fungerer slik at telefonen min blir oppdattert med følgende:

- Antall observasjoner

- Antall unike celler observert

- Antall operatører observert

- GPS status

Telefonen blir oppdattert hver 5. sekund og statusen vises på "skrivebordet" (se vedlagt screenshot). Oppdatteringene skjer via bluetooth.

 

Jeg skal også etterhvert inkludere batteristatus.

post-10183-1196667695_thumb.png

Endret av cyclo
Lenke til kommentar

Tror ikke det er noen lur ide nei. Ikke minst med tanke på hvor dyrt utstyr dette her er snakk om. Jeg vurderer å kjøpe håndjern å feste kofferten med ;) Om ikke annet tror jeg at jeg må ta ut egen forsikring på den.

 

Forøvrig lurer jeg på hva som skjer første gang jeg går forbi den amerikanske ambasaden ;)

Lenke til kommentar
Gjest Slettet-376f9
Tror ikke det er noen lur ide nei. Ikke minst med tanke på hvor dyrt utstyr dette her er snakk om. Jeg vurderer å kjøpe håndjern å feste kofferten med ;) Om ikke annet tror jeg at jeg må ta ut egen forsikring på den.

 

Forøvrig lurer jeg på hva som skjer første gang jeg går forbi den amerikanske ambasaden ;)

Å gå med en koffert er vel ikke så farlig, men jeg tror du gjør deg mindre mistenksom/attraktiv hvis du legger igjen håndjernene hjemme.

 

Jeg hadde det mye verre. Å gå rundt med kikkert i ambassadestrøk og på badestrender er vel noen hakk mer mistenkelig...

Lenke til kommentar

Oppdattering 04.12.07

 

Har nå fått inkludert laptop-batteristatus på python scriptet på mobilen.

 

Men jeg skulle gjerne hatt status på 12V blybatteriet i tillegg, og dermed trenger jeg hjelp av noen kloke hoder. Er det noen som har noe forslag til en krets man kan bruke for å måle styrken på et blybatteri og enten sende det til en USB port, eller på en GPIO på modemet?

post-10183-1196735272_thumb.png

Endret av cyclo
Lenke til kommentar
  • 2 uker senere...

Oppdattering 17.12.07: Det store batteri dilemaet

 

Når det nå snart blir jul, og endel reising så har jeg en ypperlig mulighet for å få testet kofferten i "produksjon". Men i dag oppdaget jeg noe som kunne blitt et problem. Jeg sjekket SAS sine baggasjeregler, og der oppdaget jeg at man ikke kunne ta med batterier som kunne lekke på et fly. Dette er jo trist siden blybatterier jo er kjent for å kunne lekke. Jeg sjekket ørten steder på nettet for å se om jeg kunne finne et alternativt batteri. Jeg fant noen jeg kunne brukt, og særlig en utepekte seg. 14V Li Mh batteri med 3,8 Ah. Problemet var bare at jeg ikke fant noen lader som passet.

Plutselig dukket det opp en idé i hodet mitt; jeg har jo en batteridrevet drill. Jeg sjekket batteriene tilhørende drillen, og jovisst 12V 1,3 Ah. Ergo ikke noe problem å fly med. Testet et av dem, og joda, det fungerte utmerket, i tillegg til å veie en lite brøkdel av hva blybatteriet veier.

Så da sitter jeg her da, og irriterer meg over å ha kastet 600 kr ut av vinduet for et blybatteri samt lader som jeg egentlig ikke trenger i det hele tatt. Vell. Jeg har i hvertfall lært at man bør undersøke alternativer til alt, før man bygger.

Endret av cyclo
Lenke til kommentar
Men et spm, var er disse cellene godt for? Altså, hva er grunnen til å vite om de?

Hmm. Ingen grunn. Det blir det samme som planespotting, trainspotting, etc. Altså folk som tar samler på observasjoner av ulike flytyper, togmateriell, etc. Eller folk som samler på bilskilt for den saks skyld.

Eneste forskjellen er at jeg som dataingeniør bruker og lærer meg teknikker jeg kan ha bruk for i fremtidig arbeid.

Lenke til kommentar

Ikke annet underliggende grunn enn at jeg har vært sykemeldt en periode, og de norske myndighetene har bestemt at når man er sykemeldt så skal man være hjemme og stirre i veggen. Man får ikke gjøre noe fornuftig sånn som å ta noen fag på universitetet e.l. :)

Lenke til kommentar
Gjest Slettet-376f9

Cyclo har overtatt etter meg. På nittitallet leste jeg NetComs dekningsnytt som en viss mann leser en viss bok, beintråkka Oslo og lette opp basestasjoner, markerte dem i kartbok og plaget vettet av dekningssjefen i NetCom når det var noen jeg ikke fant.

 

Det var en sær, men veldig artig hobby så lenge jeg holdt på. Det er godt å se at noen fører tradisjonen videre. :thumbup:

Lenke til kommentar

Jupp. Stemmer nok det ja :) Forskjellen på meg og Tom er vell at mens han etter som jeg har forstått levde og åndet for selve observasjonene, er det teknologien jeg bruker for å gjøre observasjonene som er viktigst for meg.

Tom var vell opptatt av å fysisk se masten, mens jeg er opptatt av å klare å komme nærmest mulig den fysiske plasseringen av masten ved hjelp av kalkulasjoner.

Lenke til kommentar
Jupp. Stemmer nok det ja :) Forskjellen på meg og Tom er vell at mens han etter som jeg har forstått levde og åndet for selve observasjonene, er det teknologien jeg bruker for å gjøre observasjonene som er viktigst for meg.

Tom var vell opptatt av å fysisk se masten, mens jeg er opptatt av å klare å komme nærmest mulig den fysiske plasseringen av masten ved hjelp av kalkulasjoner.

 

Hva med bilder Tom?

 

Jeg er også sykelig opptatt med å finne celler. Men har ikke kartlagt det andre steder enn i hodet midt.

 

Mateo

Lenke til kommentar
Gjest Slettet-376f9

Har ingen bilder, dessverre. Dels fordi jeg ikke hadde noe ordentlig kamera på den tiden, og dessuten fordi antennene ikke er noe spennende motiv. Men en gang var jeg på besøk på Raufoss ammunisjonsfabrikk og fant en repeater nede i en underjordisk gang. Jeg tok et bilde av meg selv ved siden av elektronikken, og sendte det til dekningssjefen i NetCom. Jeg tror hun ble glad for det. Det var forresten den eneste MMSen jeg sendte i 2006.

 

Og: La det være kjent for alt folket at jeg aldri har tatt på utsyret til NetCom.

Lenke til kommentar

Nå skulle jeg vært i Stavanger og brukt kofferten min. Men siden de idiotiske politikerene plent måtte bygge Norges hovedflyplass på tåkehovedstaden Gardermoen sitter jeg fortsatt her i Oslo.

 

Bilder er vell i utgangspunktet ganske vanskelig å få til. I hvertfall i byen. Antennnene er jo gjerne høyt oppe, uten fri sikt, og når man prøver å komme langt nok unna er det plutselig byggninger i veien. :)

Lenke til kommentar
Gjest Slettet-376f9
Bilder er vell i utgangspunktet ganske vanskelig å få til. I hvertfall i byen. Antennnene er jo gjerne høyt oppe, uten fri sikt, og når man prøver å komme langt nok unna er det plutselig byggninger i veien. :)

 

Ikke noe problem å få bilder av antennene, men det krevr et realt teleobjektiv, og at du unngår motlys. Men fy f..n for noen kjedelige motiver. Dessuten synes jeg at fotografering grenser opp til industrispionasje.

 

Men, du. Når/hvis du kommer til Stavanger: sjekk om det er kommet opp noen nye mobilnett i det siste. Hint, hint...

Endret av Slettet-376f9
Lenke til kommentar
Ikke noe problem å få bilder av antennene, men det krevr et realt teleobjektiv, og at du unngår motlys. Men fy f..n for noen kjedelige motiver. Dessuten synes jeg at fotografering grenser opp til industrispionasje.

Hmmm. Problemet blir vell at antennen ofte havner i dødvinkelen mellom hjørnet på bygningen. Noen er nok ikke noe problem å fotografere, andre vil være tilnærmet umulig.

Og angående industrispionasje er jeg egentlig litt i tvil. Det virker jo kanskje litt snuskete å farte rundt og ta bilder av antenner, men samtidig er det jo ikke noen forskjell på det og å ta bilder av tog, t-banevogner, etc. etc.

Men, du. Når/hvis du kommer til Stavanger: sjekk om det er kommet opp noen nye mobilnett i det siste. Hint, hint...

Planen min var å flekke opp kofferten så fort jeg var på Sola, men jeg tørr ikke ta sjansen på å bli stående på Gardermoen i tett tåke (uten at noen gidder å informere om noe som helst) en gang til, så jeg tar toget på lørdag i stedet. (Selvfølgelig komfort bilett, sånn at jeg har strøm til laptop, sånn at jeg kan logge alle cellene underveis :thumbup:) Så da hopper jeg av toget i Egersund i stedet. Jeg blir vell likevell nødt for å ta en tur innom Stavanger for å sjekke ;)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...