dotomaz

Digitalni bombončki

6 notes

Digitalna sinergija

Na twitterju, forumih in novičarskih straneh, ki pokrivajo digitalno tehniko, smo pogsto priča prepirom med zagovornikim posameznih operacijskih sistemom. Pa naj bo to Windows vs Linux, Windows vs OSX, ali OSX vs Linux. Vsak sistem ima svoje prednosti in slabosti, v katere se v tem članku ne bom spuščal. Namesto tega bom opisal primer, kako sem jaz vse te tri sisteme pripravil do tega, da sodelujejo med sabo.

Moj cilj je bil spraviti internet in TV signal brezžično iz ene stavbe v drugo. Slednja je še “work in progress”, zato še nima komunikacijske povezave s svetom. V prvi pa imam PC z vgrajeno DVB-C kartico, preko katerega je mogoče spremljati digitalne kabelske programe. Na drugi lokaciji pa je prenosnik MacBook Pro, ki ga seveda poganja OSX. Se pravi pred mano sta bila dva izziva. Prvi je bil kako podaljšati brezžično omrežje še v drugo stavbo. Drugi pa kako pripraviti OSX, da bo predvajal video stream, ki ga bo posredoval Windows.

Gremo lepo po vrsti. Moja povezava v splet je kabelski internet. Ker se na splet priklaplja več naprv, poleg dveh PC-jev in MacBook-a, še iPhone, seveda potrebujem usmerjevalnik. Odločil sem se, da bom za to uporabil en stari PC, ki sem ga opremil z velikim diskom in dvema mrežnima karticama, poganja ga pa seveda linux distribucija Fedora. Poleg osnovne naloge kot usmerjevalnik in požarni zid, služi še kot LAMP server, NAS, DHCP server in torrent odjemalec. Ta PC je potem povezan na brezčični usmerjevalnik Linksys WRT54GL, ki seluje kot stikalo za ožičeno LAN omrežje (PC-ja) in tudi kot dostopna točka za WiFi odjemalce (MacBook in iPhone). Funkcija usmerjevalnika je pa onemogočena.

Na linksysu je nameščen odprtokodni firmware Tomato, ki na usmerjevalniku omogoči veliko funkcionalnosti, ki jih originalna programska oprema ne. V mojem primeru sta mi prav prišle dve. Prva je možnost povečanje jakosti oddajnega signala in s tem povečanje radija pokritosti WiFi omrežja. Druga pa je podpora standardu WDS (Wireless Distribution System). To je standard, ki omogoča, da povežemo dva WiFi usmerjevalnika v eno omrežje pod istim SSID. Ojemalec se poveže z usmerjevalnikom, ki je bližje in ima močnejši signal. Ta pa potem posreduje podatke do drugega usmerjevalnika preko brezžičnega omrežja. To seveda pomeni, da morata usmerjevalnika biti v dosegu brezžičnega signala.

Tako sem se odločil, da bom nabavil še en identičen Linksys usmerjevalnik. Nanj sem tudi namestil Tomato. WDS je malo izbirčen glede nastavitev. Tako je potrebno nastaviti, da obe dostopni točki delujeta na isti frekvenci. Frekvenca (kanal) je lahko 1, 6 ali 11. Oba morata uporabljati isti standard (B ali G), nastavljena morata na isti SSID. Če se uporablja zaščita, mora biti na obeh enaka in seveda nastavljeno mora biti enako geslo. Ker deluje WDS na nivoju MAC naslovov, je na obeh potrebno tudi nastaviti MAC naslov od druge dostopne točke.

Tomato nastavitve

Ko sem tako nastavil obe dostopni točki, sem na drugi lokaciji videl domače brezžično omrežje, ki je imelo precej boljši signal. Možen je tud dostop do domačega omrežja in posledično tudi preko usmerjevalnika na internet. Prva naloga je  uspešno zaključena.

Nasledni je bil na vrsti pa TV signal. V domačem PC-ju z Windows 7 imam nameščeno DVB-C kartico z CONAX modulom, ki omogoča tudi ogled zaščitenih kanalov. Za gledanje TV na tem PC-ju uporabljam program MediaPortal. Media portal je super program, ima pa eno slabost, ne deluje na OSX.

MediaPortal je sestavljen iz dveh programov. Strežniški TV Server skrbi za zajem MPEG streama iz DVB kartice, dekodiranje zaščitenih programov, zajem EPG in snemanje programov. Odjemalec pa omogča gledanje filmov z diska ali DVD-ja, poslušanje glasbe in še precej več. Samo funkcionalnost pa lahko še razširimo z uporabo vtičnikov. En izmed teh, ki je že vključen, vtičnik za gledanje TV-ja. 

TV server zajema signal iz TV kartice in ga potem streama naprej v lokalno omrežje preko RTSP protokola. Sam TV server ponavadi krmilimo preko aplikacije MediaPortal, ki pa ne deluje na OSX. Zato je bilo potrebno poiakati alternativo, ki deluje tudi na OSX.  Prva izbira je bil seveda VLC, ki podpira tudi protokol RTSP.

V TV servrju lahko zaženemo stream željenega kanala tudi preko programa za nastavitve.

TV server manual control

TV Server s tem začne streamati video preko RTSP protokola. Sam stream pa je dostopen preko naslova, ki zgleda podobno temu:

rtsp://192.168.1.2/stream2.0

To je moj primer. IP je seveda IP računalnika na katerem je nameščen TV Server. Ime streama se pa tudi lahko razlikuje. Včasih je stream2.1.

Sedaj v VLC-ju odpremo File > Open Network… in vpišemo zgornji naslov. Z malo sreče, če vmes ni kakega požarnega zidu, bi VLC moral začeti predvajati video stream.

Taka rešitev ni idealna, deluje pa. Za prestavljanje kanalov je potrebno uporabiti remote desktop povezavo na PC, kjer v aplikaciji za konfiguriranje TV serverja nastavimo, da se streama drugi kanal. Tudi kvaliteta je precej odvisna od hitrosti WiFi. Precej hitro se pojavijo kocke. Tudi vsi programi niso enaki. Uporabljajo zalo različne bitne hitrosti. Tako na primer program FoxLife, ki je zgoraj na sliki deluje precej tekoče. Kakšni domači programi, kot so TV Slovenija, POP TV, A Kanal, pa imajo višje bitne hitrosti, in precej bolj “kockajo”.

Ker je med brezžičnima točkama precejšnja razdalja in vmes sta še dve steni, bo naslednji korak uporaba usmerjanih anten. S tem upam, da se bo izboljšala kvaliteta brezžične povezave in bo omogočala večje hitrosti.

To je praktični primer sobivanja vseh treh operacijskih sistemov. V veliki meri pa so uporabljene odprtokodne rešitve. Usmerjevalnik poganja Linux, ki je 100% odprtokoden. Na dostopnih točkah deluje Tomato, ki je tudi zgrajen na linuxu. Odprtokodna sta pa tudi MediaPortal in VLC.

Open source FTW.

Filed under wifi WDS MediaPortal VLC windows linux osx

1 note

Uporaba bluetooth na iPhonu za več kot samo poslušanje glasbe

Eden največjih argumentov kritikov i-naprav je bil vedno omejena bluetooth podpora. Bluetooth je standard za brezžičen prenos podatkov med dvema napravama na kratki razdalji. Največja prednost pred konkurenčnim standardom WiFi IEEE 802.11 je v tem da ne potrebuje obstoječe infrastukture v obliki usmerjevalnika oz dostopne točke. Sam standard omogoča  povezavo med dvema napravama brez posrednika. Povežemo lahko telefon in računalnik, telefon in brezžično slušalko, računalnik in miško/tipkovnico, … ali pa dva telefona med sabo.

Ker gre za zelo različne naprave med katerimi se prenašajo različni podatki, je bilo potrebno standardizirati komunikacijski protokol. V ta namen bluetooth standard definira več različnih profilov. Tako poznamo Serial port profile (SPP), ki omogoča uporabo bluetooth kot zamenjavo za serijsko povezavo (RS 232). Object Exchange (OBEX), omogoča prenos datotek. Headset Profile (HSP), ki omogoča uporabo brezžičme slušalke. Personal Area Networking Profile (PAN), ki emulira LAN. in Še mnoge druge.

iPhone ima vgrajen bluetooh čip že od prve generacije naprej. Vendar so se v Cupertinu odločili, da bodo zelo okrnili podprte profile. Prva generacija je tako podpirala samo povezavo z brezžičnimi slušalkami. Ni pa bil podprt protokol OBEX, ki bi omogočal prenos slik na računalnik, ali na kak drug telefon. Skozi posodobitve iOS in nove verzije iPhoneov se je nabor podprtih profilov širil. Tako so trenutno na iOS 4.1 na iPhone 4/3GS podprti naslednji profili:

  • Hands-Free Profile (HFP 1.5)
  • Phone Book Access Profile (PBAP)
  • Advanced Audio Distribution Profile (A2DP)
  • Audio/Video Remote Control Profile (AVRCP)
  • Personal Area Network Profile (PAN)
  • Human Interface Device Profile (HID)

Kot vidimo, še vedno ni na voljo OBEX profil, tako da ne moremo prenašati datotek preko bluetooth. Na voljo je pa Personal Area Network Profile. Ta je v bistvu bolj znan pod drugim imenom, internet tethering.

Internet tethering je funkcija, ki omogoča, da lahko uporabimo iPhonovo 3G povezavo, da povežemo računalnik na internet. Deluje preko USB, ali bluetooth. Pri slednjem se za komunikacijo uporabi ravno PAN bluetooth profil. Kar pomeni, da se med napravama vzpostavi virtualna lokalna mreža. Ker pa LAN deluje v obeh smereh, to pomeni da lahko povezavo uporabimo tudi v obratni smeri. Torej aplikacija na iPhoneu se lahko preko te povezave poveže na računalnik. Teoretično to pomeni, da lahko delamo vse, kar lahko delamo preko WiFI.

V nadaljevanju si bomo ogledali dva primera uporabe. V podanih primerih bomo uporabili povezavo med MacBook Pro in iPhonom. Vendar isti princip deluje tudi na PC-ju z windowsi.

Prvi primer uporabe je oddaljeno namizje. Za to bomo uporabili aplikacijo Mocha VNC Lite, da se bomo povezali na MacBook Pro. Najprej omogočimo Internet Tethering na iPhoneu (Settings > General > Network > Internet Tethering). Če še bluetooth ni aktiven, nas bo vprašal, če ga želimo aktivirati, kar potrdimo.

Naslednje moramo upariti telefon in računalnik preko bluetooth. V bluetooth meniju izberemo “Setup Bluetooth Device …”. In sledimo navodilom.

Ko sta napravi uparjeni, je potrebno kreirati novo mrežno povezavo. Odpremo Network Preferences in pod seznamom povezav na levi kliknemo na + gumb.

S klikom na gumb Connect omogočimo Internet Tethering. Sedaj sta napravi povezani in na MacBooku lahko surfamo preko 3G povezave od iPhonea. Mi pa želimo uporabiti povezavo v obratni smeri, konkretno za VNC oddaljeno namizje. Zato ga moramo najprej omogočiti.

V System Preferences > Sharing omogočimo Screen sharing, nastavimo  da se lahko povežejo vsi uporabniki in nastavimo geslo. Na tem ekranu se izpiše tudi IP preko katerega se bomo povezali, zato si ga moramo zapomniti.

Na iPhoneu zaženemo aplikacijo Mocha VNC Lite in vpišemo IP in geslo, ki smo ga nastavili v prejšnjem koraku.

Drugi primer pa je uporaba iPhonea kot brezžična tipkovnica in track pad. Za to uporabimo aplikacijo Mobil Mouse FREE. Aplikacija za delovanje potrebuje še strežniški del, ki ga je potrebno namestiti na računalnik. Na voljo je različica za OSX in windovs, prenesemo pa si jo lahko s splene strani mobilemouse.com.

Aplikacija Mobile Mouse bo z malo sreče sama našla strežnik in se samodejno povezala nanj. Sedaj lahko uporabljamo iPhone kot brezžični trackpad Preko bluetooth povezave.

To sta le dva primera uporabe. Načeloma lahko na ta način delamo vse, kar lahko preko WiFi. Težave lahko povzročajo edino aplikacije, ki preverjajo, če smo povezani preko WiFi. V tem primeru seveda nismo. Ena takšna, je Applova aplikacija Remote, ki omogoča, da preko iPhona krmilimo iTunes na računalniku. Zato ta na žalost ne deluje.

Filed under iPhone bluetooth wireless mouse vnc

893 notes

Firefox 4.0b1 and SSL renegotiation

Last year a new security vulnerability was discovered that allowed an attacker to use a man in a middle attack over SSL secure connection. SSL renegotiation basically  allows an attacker to send some data over secure line, then request SSL renegotiation using victim’s credentials and forwards the rest of the victims request data. This fools the server to believe that entire request came from the victim.

This is not the fault in software implementation but rather the fault in SSL protocol specification. Basically this leaves a lot of applications that use SSL with renegotiation enabled vulnerable to man in the middle attacks. That’s why Mozilla decided to completely disable SSL renegotiation in the next reincarnation of Firefox browser. When you try to access a site  that has SSL renegotiation enabled, you get the following error:

Renegotiation is not allowed on this SSL socket.
(Error code: ssl_error_renegotiation_not_allowed)

Firefox error

To enable SSL renegotiation you need to point your browser to about:config. After confirming that you know what you are doing, you need to search for:

security.ssl.allow_unrestricted_renego_everywhere__temporarily_available_pref

and set it to true. After this you should be able to access the site.

Filed under firefox ssl renegotiation fault