TramBus

Moderatorzy: Tyrystor, Dantte

px33
Posty: 1587
Rejestracja: 07 lut 2011, 17:43

Post autor: px33 » 23 lis 2016, 2:54

To ja dam tylko trochę naciąganą korzyść dla pasażera - jeśli na krańcu stoi kilka wozów tej samej linii, pasażer może się z aplikacji dowiedzieć, w który powinien wsiąść.

Awatar użytkownika
Nordyk110
Posty: 1622
Rejestracja: 06 sty 2006, 21:32

Post autor: Nordyk110 » 03 gru 2016, 12:40

:-k Arriwa nieobecna
Przegubowce ,to sól tej ziemi .

Paweł D.
Posty: 5271
Rejestracja: 21 sie 2006, 23:50
Lokalizacja: Warszawa

Post autor: Paweł D. » 03 gru 2016, 12:50

Autorzy dogadali się tylko z MZA i TW, więc trudno aby coś innego się w tej aplikacji pokazało.
A na marginesie, to rozwój aplikacji się zatrzymał jakby na tej becie...

Awatar użytkownika
MilosnikKomunikacji
Posty: 1246
Rejestracja: 01 wrz 2015, 20:26
Lokalizacja: Bródno-Podgrodzie
Kontakt:

Post autor: MilosnikKomunikacji » 03 gru 2016, 13:39

Nordyk110 pisze::-k Arriwa nieobecna
Bo to nie jest aplikacja ZTMu, tylko MZA...

Awatar użytkownika
Wiliam
Posty: 4765
Rejestracja: 01 kwie 2012, 21:30
Lokalizacja: Saska Kępa

Post autor: Wiliam » 03 gru 2016, 14:31

A powinna być ZTMu. No i ZTM też ją reklamował.
Obrazek

Paweł D.
Posty: 5271
Rejestracja: 21 sie 2006, 23:50
Lokalizacja: Warszawa

Post autor: Paweł D. » 03 gru 2016, 15:40

MilosnikKomunikacji pisze:Bo to nie jest aplikacja ZTMu, tylko MZA...
Naprawdę? Może warto najpierw to sprawdzić?
Wiliam pisze:A powinna być ZTMu. No i ZTM też ją reklamował.
Owszem, powinna. Ale ZTM swój system nadzoru ruchu dopiero tworzy. I czy będzie chciał posiadane dane upowszechnić publicznie to się okaże. Obawiam się, że dla świętego spokoju swojej aplikacji nie stworzą. Po co pretensje, że coś działa nie tak, że autobusu nie było choć w aplikacji był, a tramwaj przyjechał choć w aplikacji go nie było....

Awatar użytkownika
Wiliam
Posty: 4765
Rejestracja: 01 kwie 2012, 21:30
Lokalizacja: Saska Kępa

Post autor: Wiliam » 03 gru 2016, 15:55

Z takim podejściem to się w ogóle nie powinno nic robić.
Obrazek

Paweł D.
Posty: 5271
Rejestracja: 21 sie 2006, 23:50
Lokalizacja: Warszawa

Post autor: Paweł D. » 03 gru 2016, 16:23

Jakieś dwa (albo i 3) lata temu ZTM deklarował udostępnienie położenia pojazdów i cisza.
TW udostępniło położenia pojazdów w ramach programu otwartych danych. Potem obcięto numery taborowe, zaś sama lokalizacja jest podawana z opóźnieniem i to nie wszystkich pojazdów.
Genesis mobo dogadał się z TW i MZA i w swojej aplikacji mają dane w czasie rzeczywistym.
Ale to wszystko za mało na planowanie podróży wg rzeczywistego położenia pojazdów. Taki stan rzeczy na dzień dzisiejszy.

wincenty
Posty: 1325
Rejestracja: 04 lis 2014, 21:25
Lokalizacja: Miasteczko Kabaty

Post autor: wincenty » 06 gru 2016, 13:54

aaa pisze:Podejrzałem metodą odwróconej inżynierii API tej aplikacji i przesyłany jest numer boczny pojazdu bez numeru brygady.
Zdradzisz, jak uzyskać tę informację:)?
Po co spieszyć, przecież do końca życia mamy na to czas.

SU89
Posty: 421
Rejestracja: 14 wrz 2016, 14:48
Lokalizacja: 400 metrów od R-5

Post autor: SU89 » 07 gru 2016, 8:01

Pozwolę sobie napisać ;)
Do tego sposobu potrzebujemy telefon z Androidem (ja korzystam z wersji 6.0.1). Do podglądania danych potrzebna jest aplikacja "Packet Capture".
Podejrzenie danych jest bardzo proste:
:arrow: Otwieramy aplikację Packet Capture (do jej działania potrzebne jest zainstalowanie certyfikatów bezpieczeństwa, więc jeśli dostaniemy komunikat o potrzebie instalacji, to akceptujemy).
Obrazek
:arrow: Klikamy przycisk zielonej strzałki na górnym pasku aplikacji. Wychodzimy do ekranu głównego androida, zostawiając aplikację otwartą w tle. Na belce systemowej obok ikonek WiFi, sieci itp. powinien pokazać się znak klucza.
Obrazek
:arrow: Otwieramy aplikację TramBus. Wybieramy interesujący nas przystanek, wchodzimy w niego i kiedy mamy pokazane odjazdy live, możemy przejść do aplikacji Packet Capture.
Obrazek
:arrow: W aplikacji klikamy czerwony kwadrat i mamy przed sobą dane, które zebrała aplikacja w czasie jej działania. Zostały one zebrane w "katalogu", który tworzy się za każdym razem, gdy włączymy przechwytywanie danych. Wchodzimy w katalog.
Obrazek
:arrow: Mamy przed sobą każde zapytanie wykonane przez aplikacje zainstalowane w telefonie. Wyszukujemy naszą aplikację TramBus i wchodzimy w każde zapytanie szukając u samej góry zapytania na niebieskim tle ciągu:
GET /c/departures/4/*****
Obrazek Obrazek
Gdzie zamiast gwiazdek mamy numer przystanku w aplikacji (nie rzeczywisty). Jeśli nie znaleźliśmy to szukamy w innych zapytaniach z aplikacji. Jeśli znaleźliśmy to poniżej powinny nam się pokazać odjazdy autobusów z danego przystanku około godziny do tyłu i dwóch godzin do przodu. Dane są przesyłane w formacie JSON, więc ludzkim okiem ciężko się to czyta, ale przy wprawie można szybko sobie znaleźć interesujące informacje.
{"stop":490,"line_name":null,"time":null,"departures":[{"trip":10649894,"trip_element":22,"line":"397","direction":"Metro Stare Bielany","leave_time":1481089740,"plan_time":"06:49","minutes":-57,"status":1,"vehicle_status":1,"vehicle_info":{"name":"1814","poj_id":649,"lon":20.9416571,"lat":52.246753},"is_real":true,"leaveTimeMode":3,"stop_type":1,"contractor":1}
,{"trip":10657068,"trip_element":38,"line":"103","direction":"Metro Młociny","leave_time":1481090100,"plan_time":"06:55","minutes":-51,"status":1,"vehicle_status":0,"vehicle_info":{"name":na tej brygadzie (linii) jest ajent i nie ma danych rzeczywistych:"","poj_id":0,"lon":0.0,"lat":0.0},"is_real":false,"leaveTimeMode":0,"stop_type":1,"contractor":0}
legenda:
Numer przystanku w aplikacji, np. 490 - Obrońców Tobruku 03 w kier. Kochanowskiego, potrzebny do sposobu nr 2.
Numer linii i kierunek
Godzina odjazdu
Minuty do odjazdu (lub po odjeździe)
Numer pojazdu
Pozycja GPS pojazdu


Jeśli chcemy nie bawić się w każdorazowe sprawdzanie danych w Packet Capture, to jest inny, prostszy sposób, poprzez przeglądarkę internetową. W tym celu należy posiadać numer przystanku w aplikacji (nie jest to numer rzeczywisty, jaki można znaleźć na rozkładzie jazdy, czy na stronie ZTM!). Należy wejść pod adres:
Gdzie w miejsce gwiazdek wpisujemy numer przystanku z TramBusa, np.
http://api2.livebus.pl:62000/c/departures/4/490 Obrońców Tobruku 03 (103,122,180,197,397)
http://api2.livebus.pl:62000/c/departures/4/6259 Pl. Niemena 02 (103,180,221)
http://api2.livebus.pl:62000/c/departures/4/178 Chomiczówka 01 (114,121,409)
http://api2.livebus.pl:62000/c/departures/4/5482 Monte Cassino 02 (109,154,171,184,190,197)
Dane podawane na stronie są identyczne z danymi z Packet Capture, ale aby poznać numer przystanku trzeba użyć do tego aplikacji. Jeśli ktoś by chciał, to może zrobić rozpiskę z przystankami, albo zrobić stronę z odjazdami na żywo z numerami pojazdów ;) Dużą wadą tych sposobów jest brak numerów brygad, ale niestety nie znajdziemy tutaj tych danych :(

wincenty
Posty: 1325
Rejestracja: 04 lis 2014, 21:25
Lokalizacja: Miasteczko Kabaty

Post autor: wincenty » 07 gru 2016, 12:10

Podziękował, choć trochę to skomplikowane :)
Po co spieszyć, przecież do końca życia mamy na to czas.

SU89
Posty: 421
Rejestracja: 14 wrz 2016, 14:48
Lokalizacja: 400 metrów od R-5

Post autor: SU89 » 07 gru 2016, 18:49

Zaktualizowałem post, jeśli macie jakieś uwagi, to proszę o zgłaszanie :)

Paweł D.
Posty: 5271
Rejestracja: 21 sie 2006, 23:50
Lokalizacja: Warszawa

Post autor: Paweł D. » 07 gru 2016, 21:55

Pomysł z mapką jest najciekawszy :)
A dodanie kierunku jazdy na podstawie nr tab. to szczyt marzeń ;)
I nawet można stworzyć rozkład brygad (bez przypisania do konkretnego nr) jeśli dorobi się skrypt zapisujący odjazdy w ciągu dnia.

Awatar użytkownika
Thompson04
Posty: 202
Rejestracja: 27 maja 2009, 19:36
Lokalizacja: Bemowo Jelonki

Post autor: Thompson04 » 07 gru 2016, 22:46

Czyli w takim razie można równie dobrze sobie zainstalować emulator BlueStack na komputerze, uruchomić tytułową aplikację, uruchomić cokolwiek do przechwytywania ruchu HTTP (np. Fiddler Web Debugger) i w ten sposób znając adres serwera API z ścieżkami do tego metod można wysyłać własne żądania tworząc nawet własną aplikację na telefony czy komputer. Ciekawe czy autorzy tej aplikacji są tego świadomi :)

@SU89, a sprawdzałeś czy nie przechwyciłeś też żądania dla listy nazw przystanków? Może nie są zaszyte na stałe w aplikacji tylko są pobierane jako "słownik" też przez API (bo te dane się zmieniają dosyć często chyba).

BTW. To co opisał SU89 to jak dla mnie nie jest inżyniera odwrotna jeśli @aaa pisał o tej samej metodzie na uzyskanie numeru pojazdu.
10 26 28 105 109 122 149 154 189 190 714 719 729 N42 N45 N95 Obrazek LAZUROWA
Zobacz mój kanał YouTube :)

Łukasz
Posty: 10591
Rejestracja: 15 gru 2005, 15:48
Lokalizacja: Warszawa
Kontakt:

Post autor: Łukasz » 07 gru 2016, 23:10

Dane są pobierane na początku działania aplikacji, zapewne też z jakiegoś api - też to można pewnie podejrzeć. Szkoda, że nazwy przystanków nie są zgodne z ZTMowymi - ale spodziewam się, że na początku działania aplikacji przychodzi paczka wszystkiego, łącznie z pozycjami gps przystanków.

I dla mnie też to nie jest reserved engineering tylko raczej packet sniffing - może zrobią jakież zabezpieczenia, ale też i po co.
ŁK

ODPOWIEDZ