December 8, 2019

Еще немного о сниффере

В последней сборке я улучшил логгирование ответов. Добавив временной промежуток между ответами в миллисекундах. Так уж вышло, что высчитывать время в секундах в мире программ нельзя, т.к. очень высока доля округления. 2200 и 2400 это все тот же промежуток в 3 секунды, но вот в настолько чувствительных областях как работа с сетью, не стоит пренебрегать даже долей секунды

Для начала взглянем на временные промежутки в миллисекундах.

=== 02.12.2019, 21:44:17 (1829 ms) [Response] ===
=== 02.12.2019, 21:44:19 (1846 ms) [Response] ===
=== 02.12.2019, 21:44:21 (2141 ms) [Response] ===
=== 02.12.2019, 21:44:23 (1844 ms) [Response] ===
=== 02.12.2019, 21:44:25 (2372 ms) [Response] ===
=== 02.12.2019, 21:44:27 (1729 ms) [Response] ===
=== 02.12.2019, 21:44:29 (2496 ms) [Response] ===

Сравним их с предыдущими

Как видим, промежутки в 2-3 секунды являются отличающимися на самом деле. В среднем промежуток между ответами от 1,7 до 2,5 секунды.

Содержимое самих ответов одинаковое. (см предыдущую статью)

Объект заказа

Помимо сниффинга списка заказов, следует уделить внимание данным, которые передаются при принятии заказа (на экране на месте/в пути)

{
  "user_id": id заказа,
  "point": "0",
  "timestamp": 1575315692,
  "order_data": {
    "FPDATE": null,
    "FOTID": 66770656,
    "FDIAL_T": 1575323459,
    "FLIGHT": "000",
    "FDIAL_S": "2000000010",
    "FTEL": "номер телефона клиента",
    "FA": null,
    "FSTATUS": 21,
    "FDIAL_O": "ORDER_DRI",
    "FAD_ROUTE": [
      "место заказа"
    ],
    "FCOST": цена заказа,
    "FAD_STR": "адрес заказа",
    "FCLI": null,
    "FAD_PO": null,
    "FAD_H": null,
    "FDIS": "i",
    "FDRI_TAXI": "служба такси",
    "FDRI_ID": позывной водителя,
    "FCOST_DATA": {
      "distance": "4161(0) + 0(0)",
      "cost_s": "сумма заказа грн.",
      "Coord": [
        [
          широта,
          долгота
        ],
        [
          широта (точно),
          долгота (точно)
        ]
      ],
      "area": "район заказа"
    },
    "FOT": "служба такси",
    "FOPR": "ID",
    "FID": еще какой-то ID,
    "FDATE": время принятия заказа,
    "FOTW": 1,
    "F0": еще какя-то дата,
    "UHASH": "53",
    "FAD_NOTE": null,
    "FLOCK": null,
    "FDRI": "???"
  },
  "session": "ID сессии",
  "order": номер заказа
}

Из этого можно выбрать данные для навигации c исп FakeGPS. Осталось только придумать, как это реализовать...