Tamkovich.com: Телеком/VoIP блог
Современные технологии: Asterisk, SIP, Kamailio, Linux, Cisco, Linksys
Сбой android-приложения SatTrack
11 апреля, 2012 by rius
Android android, SatTrackНедавно я столкнулся с жалобами на андроидное приложение SatTrack. При соединении в обход прокси оно работает нормально, если же был прописан прокси, приложение сбоит. Также сбои были замечены в 3G сетях. Причина оказалась в том, что SatTrack формирует корявый запрос к странице, которая нужна ему для работы. Для выявления пришлось поснифферить трафик wireshark-ом
Имеем два сайта:
- http://www.heavens-above.com/ Его IP 129.247.247.254 (сервер отправляет заголовок Server: Microsoft-IIS/7.5) Этот сайт не имеет страницы/службы http://www.heavens-above.com/satellite/?s=…
- http://n2yo.com/ Его IP 209.172.55.238 (отправляет заголовок Server: nginx/1.0.8) Этот сайт имеет страницу http://n2yo.com/satellite/?s=…
Приложение формирует запрос к сайту n2yo.com (IP 209.172.55.238), но в заголовке Host указывает другой сайт:
POST /satellite/?s=23405 HTTP/1.1 Cache-Control: max-age=0 Connection: keep-alive Host: www.heavens-above.com User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11 Content-Length: 0 |
Умный прокси отдает приоритет этому заголовку и делает запрос на первый сайт (http://www.heavens-above.com), который благополучно присылает 404 Not Found
У страниц http://n2yo.com/satellite/?s=… нашел особенность: в них вставлен NULL символ. Это хорошо заметно в hex-редакторе. Например для страницы http://n2yo.com/satellite/?s=23405 он идет сразу после символов «14.15003577896218». Возможно так хозяева ресурса хотели помешать работе парсеров, которые видирают страничку и игнорируют рекламу. С этим нулевым символом SatTrack успешно справляется.
На данный момент последняя версия SatTrack – 1.3.0 и баг с заголовком Host в ней присутствует.
Android android, SatTrack