Netstat & Co. for Android and Big Brother Google story

Yesterday I pushed net-tools optimized for Android to my github. Main goal was to provide full-featured netstat for Android devices. By the way I succeeded to compile arp, ifconfig, rarp and route utilities. Feel free to clone.

Additionally while playing with netstat compiled that way I noticed that not all connections are listed. It is interesting because the connection I found out to be hidden is something called C2DM or its successor GCM and that connection is started just after establishing Internet connection (so probably Google knows about every wifi and 3g connection you use) and attempt to find application responsible for this failed because of this strange netstat behavior so all I know now is that it is using some kind of custom protocol to send strange, probably compressed or encrypted data straight way to uncle Google.

Due to the fact that it uses mtalk.google.com domain I suspected Talk app for this but uninstalling it didn’t help. The more successful approach was to add this domain to /etc/hosts and the other option is to add iptables rule to block this traffic. It is fairly easy because it is using non-standard port (5228) so we can just do

iptables -A OUTPUT -p tcp --dport 5228 -j DROP

Disadvantage of the second method is that it has to be done after each system reboot. There will also be few FIXMEs from bionic libc but nevertheless it will work.

BTW: If you are interested in looking at that traffic it can be hijacked using tcpdump on your Android device.

Posted in Uncategorized | Tagged , , , , , | Leave a comment

Historia Pojazdu na Androida

Tym razem wyjątkowo piszę po polsku, bo i sprawa jest typowo polska. Wczoraj na Google Play pojawił się mój program umożliwiający proste sprawdzenie historii pojazdu z poziomu urządzenia w systemem Android. Jak zauważył pewnie każdy czytający polskie serwisy o tematyce IT pod koniec czerwca MSW udostępniło serwis umożliwiający sprawdzenie historii pojazdu przez Internet. Serwis ten stanowi interfejs dostępu do części danych zgromadzonych w bazie CEPiK.

Widok programu pokazującego podstawowe dane pojazdu

Widok programu pokazującego podstawowe dane pojazdu

Tuż po tym jak przetestowałem funkcjonalność tego serwisu, zadałem sobie pytanie: dlaczego by nie zrobić czegoś takiego na telefon. I tak po kilku dniach pisania oddaję do użytku wszystkim program przenoszący ową funkcjonalność na Androida. Program ten rzecz jasna komunikuje się z serwisem ministerialnym. Jako taki wymaga on więc do pobrania danych takich samych danych wejściowych, czyli: aktualnego numeru rejestracyjnego, numeru VIN, daty pierwszej rejestracji oraz, chyba już obowiązkowego we wszystkich formularzach, przepisanego kodu CAPTCHA.

Po wprowadzeniu powyższych danych możliwy jest dostęp do takich informacji jak rok produkcji pojazdu, status jego rejestracji, ważność polisy OC oraz badania technicznego czy też, najbardziej przydatnego chyba (przynajmniej dla potencjalnych kupców danego pojazdu), stanu licznika podczas ostatniego przeglądu. Z tym ostatnim haczyk jest taki, że stan licznika diagności zbierają dopiero od tego roku, jeśli więc auto nie przeszło w tym roku jeszcze przeglądu to musicie obejść się smakiem. Oprócz wymienionych baza udostępnia wiele innych mniej lub bardziej przydatnych danych. Można też pobrać raport w formacie PDF, co również jet funkcją dostępną w oryginalnym serwisie.

W (mam nadzieję niedalekiej) przyszłości mam zamiar dodać kilka funkcji sprawiających, że program ten będzie nieco bardziej atrakcyjny (o ile możliwość użycia smartfona lub tabletu komuś nie wystarcza) niż oryginalny serwis. Kod źródłowy programu jest dostępny (jak zawsze) w serwisie GitHub, dokładniej tu. Udostępniłem go w zasadzie robię z dwóch powodów: po pierwsze zawsze staram się dzielić efektami swojej pracy, po drugie  dane, które powierzą mojej aplikacji użytkownicy są jak by nie patrzeć danymi poufnymi. Dlaczego więc ktoś miałby mi ufać na słowo? Wiem, że takich, niestety, znajdzie się wielu, ale dla tych bardziej uświadomionych technologicznie będzie to dowód, że z ich danymi nie dzieje się nic złego.

Na koniec skoro już jesteśmy przy kwestiach prywatności warto wspomnieć wymagania aplikacji jeżeli chodzi o uprawnienia. Program wymaga dostępu do Internetu (co jest raczej oczywiste) i komunikuje się wyłącznie z serwisem historiapojazdu.gov.pl (niedowiarki niech odpalą sobie emulator i Wiresharka) oraz praw do zapisu na karcie pamięci (wymagane tylko do zapisu PDFa).

BTW: dzisiaj mój GIST powiększył się o prosty programik, napisany w C, jako zadanie z przedmiotu Telekomunikacja, do przesyłania plików przez port szeregowy przy użyciu protokołu XMODEM.

Posted in Uncategorized | Tagged , , , | 2 Comments