Друзья сайта

Статистика

133. Получаем от сервера список контактов (13 06)

Отправлено 28.06.2011 23:00 пользователем Эдуард Толмачёв   [ обновлено 26.02.2012 4:09 ]
После отправки на сервер пакета с запросом списка контактов (13 04) или (13 05), в ответ получим пакет содержащий список контактов. Попробуем разобраться в данных этого пакета.
Секции с похожими данными удалены, чтобы сократить разбор пакета!

Разбор пакета от сервера:
2a 
// Ключ пакета
02 
// Номер канала
5683 
// Счетчик пакета (значение: 22147)
0881 
// Длина данных (значение: 2177 байта)
0013 
// Идентификатор группы (13 - группа пакетов для 
операций с контактами и группами контактов
)
0006 
// 
Идентификатор пакета в группе (06 - п
акет со списком контактов
)
00 
// 
Флаг наличия в пакете данных о версии пакета
00 
//
 Флаг наличия в пакете вложенных данных
00010004 
// 
Флаги для пометки ответов от сервера
00 
// Версия структуры данных
002e 
// Количество секций с данными (значение: 46)
 
// Секция: 0
0000 
// Длина данных имени секции
 (значение: 0 байт)
0000 
// Идентификатор группы
0000 
// Идентификатор секции
0001 
// Тип секции (группа)
0008 
// Длина дополнительных данных секции (значение: 8 байт)
    00c8 
// Метка блока данных с идентификаторами всех групп контактов
        0004 
// Длина данных в блоке
            7246 
// Идентификатор группы контактов (всегда 2 байта)
            0001 
// Идентификатор группы контактов (всегда 2 байта)
// Секция: 1
000b 
// Длина данных имени секции (значение: 11 байт)
    Import Time 
// Имя секции
0000 
// Идентификатор группы
0001 
// Идентификатор секции
0013 
// Тип секции (секция "import time")
0008 
// Длина дополнительных данных секции
 (значение: 8 байт)
    00d4 
// Метка блока данных с временем первого занесения контакта в список
        0004 
// Длина данных в блоке
            435a12d9 
// Время первой операции со список контактов (значение: 22.10.2005 14:22:17)
// Секция: 2
0007 
// Длина данных имени секции (значение: 7 байт)
    3774607 
// Имя секции (ICQ UIN)
0000 
// Идентификатор группы
0002 
// Идентификатор секции
0019 
// Тип секции (временный контакт)
000c 
// Длина дополнительных данных секции
 (значение: 12 байт)
    006d 
// Метка блока данных с временем последнего взаимодействия с этим контактом
        0008 
// Длина данных в блоке
            4cff34fb 
// Время последнего взаимодействия (значение: 08.12.2010 11:34:19)
            3f800000 
// Оценка взаимодействия этого контакта (значение: 32831)
// Секция: 3
0000 
// Длина данных имени секции
 (значение: 0 байт)
0000 
// Идентификатор группы
0021 
// Идентификатор секции
0015 
// Тип секции (секция "атрибуты списков контактов")
0000 
// Длина дополнительных данных секции
 (значение: 0 байт)
// Секция: 4
0008 
// Длина данных имени секции
 (значение: 8 байт)
    ICQ-MDIR 
// Имя секции
0000 
// Идентификатор группы
002c 
// Идентификатор секции
0020 
// Тип секции (секция "icq-mdir")
0020 
// Длина дополнительных данных секции
 (значение: 32 байта)
    015c 
// 
Метка неизвестного блока данных ^
        0010 
// Длина данных в блоке
            4e2cdb4f80834806a16c2f14907d56ff 
// 
Неизвестные данные
 
^
    015d 
// 
Метка неизвестного блока данных ^
        0008 
// Длина данных в блоке
            40e3dd8ad1419ca2 
// 
Неизвестные данные
 
^
// Секция: 5
0000 
// Длина данных имени секции
 (значение: 0 байт)
0000 
// Идентификатор группы
0079 
// Идентификатор секции
001d 
// Тип секции (секция "vanity info")
0070 
// Длина дополнительных данных секции
 (значение: 112 байта)
    0067 
// Метка блока данных с временем начала сбора статистики
        0004 
// Длина данных в блоке
            4aba303a 
// Время начала сбора статистики (значение: 23.09.2009 18:27:06)
    0150 
// Метка блока данных с количеством отправленных сообщений от начала сбора статистики
        0004 
// Длина данных в блоке
            000002e1 
// Всего отправлено сообщений (значение: 737)
    0153 
// Метка блока данных с количеством полученных сообщений от начала сбора статистики
        0004 
// Длина данных в блоке
            000004e3 
// Всего получено сообщений (значение: 1251)
    0152 
// Метка блока данных с количеством отправленных "Away" сообщений от начала сбора статистики
        0004 
// Длина данных в блоке
            00000009 
// Всего отправлено "Away" сообщений (значение: 9)
    0151 
// Метка блока данных с количеством дней проведенных в сети от начала сбора статистики
        0004 
// Длина данных в блоке
            00018ee6 
// Количество дней (значение: ?)
    0160 
// Метка блока данных с временем последней активности пользователя
        0004 
// Длина данных в блоке
            4df71517 
// Время последней активности (значение: 14.06.2011 12:00:23)
    0164 
// 
Метка неизвестного блока данных ^
        0004 
// Длина данных в блоке
            00000000 
// 
Неизвестные данные
 
^
    016f 
// 
Метка неизвестного блока данных ^
        0004 
// Длина данных в блоке
            00000005 
// 
Неизвестные данные
 
^
    0170 
// 
Метка неизвестного блока данных ^
        0004 
// Длина данных в блоке
            00000030 
// 
Неизвестные данные
 
^
    0171 
// 
Метка неизвестного блока данных ^
        0004 
// Длина данных в блоке
            00000000 
// 
Неизвестные данные
 
^
    01c3 
// 
Метка неизвестного блока данных ^
        0004 
// Длина данных в блоке
            4ad1f92d 
// 
Неизвестные данные (значение: 11.10.2009 19:26:37)
 
^
    01c4 
// 
Метка неизвестного блока данных ^
        0004 
// Длина данных в блоке
            4ad1f92d 
// 
Неизвестные данные (значение: 11.10.2009 19:26:37)
 
^
    01c5 
// 
Метка неизвестного блока данных ^
        0004 
// Длина данных в блоке
            4ad1f92d 
// 
Неизвестные данные (значение: 11.10.2009 19:26:37)
 
^
    01c6 
// 
Метка неизвестного блока данных ^
        0004 
// Длина данных в блоке
            39fa1f58 
// 
Неизвестные данные (значение: 28.10.2000 4:35:36)
 
^
// Секция: 6
0009 
// Длина данных имени секции
 (значение: 9 байт)
    314579451 
// Имя секции (ICQ UIN)
0000 
// Идентификатор группы
0871 
// Идентификатор секции
0002 
// Тип секции (контакт в списке "видящих")
0016 
// Длина дополнительных данных секции
 (значение: 22 байта)
    0131 
// Метка блока данных с названием контакта
        0012 
// Длина данных в блоке
            Александр 
// Название контакта (ник)
// Секция: 7
0009 
// Длина данных имени секции
 (значение: 9 байт)
    314579451
 
// Имя секции (ICQ UIN)
0000 
// Идентификатор группы
0990 
// Идентификатор секции
000e 
// Тип секции (контакт в списке "игнорируемых")
0016 
// Длина дополнительных данных секции
 (значение: 22 байта)
    0131 
// Метка блока данных с названием контакта
        0012 
// Длина данных в блоке
            Александр 
// Название контакта (ник)
// Секция: 8
0009 
// Длина данных имени секции
 (значение: 9 байт)
    288101195
 
// Имя секции (ICQ UIN)
0000 
// Идентификатор группы
0b21 
// Идентификатор секции
0003 
// Тип секции (контакт в списке "невидящих")
0017 
// Длина дополнительных данных секции
 (значение: 23 байта)
    0131 
// Метка блока данных с названием контакта в списке
        0013 
// Длина данных в блоке
            Синяя Рыба 
// Название контакта в списке
// Секция: 9
000e 
// Длина данных имени секции
 (значение: 14 байт)
    LastUpdateDate 
// Имя секции
0000 
// Идентификатор группы
3d24 
// Идентификатор секции
000f 
// Тип секции (секция "last update")
0008 
// Длина дополнительных данных секции
 (значение: 8 байт)
    0145 
// Метка блока данных с временем последнего обновления списка контактов
        0004 
// Длина данных в блоке
            45c80ba2 
// Время последнего обновления списка контактов (значение: 06.02.2007 9:01:22)
// Секция: 10
0000 
// Длина данных имени секции
 (значение: 0 байт)
0000 
// Идентификатор группы
4ab8 
// Идентификатор секции
0005 
// Тип секции (секция "presence info")
0029 
// Длина дополнительных данных секции
 (значение: 41 байт)
    00da 
// 
Метка неизвестного блока данных ^
        0005 
// Длина данных в блоке
            0002000101 
// 
Неизвестные данные
 
^
    00d6 
// Метка блока данных с "BUDDY PREFS VALID"
        0004 
// Длина данных в блоке
            00420000 
// Маска настроек
    00c9 
// Метка блока данных с "BUDDY PREFS"
        0004 
// Длина данных в блоке
            00400400 
// Маска настроек
    00d7 
// Метка блока данных с "BUDDY PREFS 2"
        0004 
// Длина данных в блоке
            00e00000 
// Маска настроек
    00d8 
// Метка блока данных с "BUDDY PREFS 2 VALID"
        0004 
// Длина данных в блоке
            00e00001 
// Маска настроек
// Секция: 11
0001 
// Длина данных имени секции
 (значение: 1 байт)
    1 
// Имя секции
0000 
// Идентификатор группы
6389 
// Идентификатор секции
0014 
// Тип секции (секция "bart info")
0016 
// Длина дополнительных данных секции
 (значение: 22 байта)
    00d5 
// Метка блока данных с данными "BART"
        0012 
// Длина данных в блоке
            01 
// Метка нормальной иконки пользователя
                10 
// Длинна данных хеша иконки (значение: 16 байт)
                    a1dba53c17dd1afefbd39ed521765bf9 
// Хеш иконки пользователя
// Секция: 12
0000 
// Длина данных имени секции
 (значение: 0 байт)
0000 
// Идентификатор группы
6b0b 
// Идентификатор секции
0004 
// Тип секции (секция "pd info")
0021 
// Длина дополнительных данных секции
 (значение: 33 байта)
    00ca 
// Метка блока данных с режимом "PD MODE"
        0001 
// Длина данных в блоке
            04 
// Режим: ограниченный доступ к информации пользователя (таблица всех значений внизу страницы)
    00cb 
// Метка блока данных с режимом "PD MASK"
        0004 
// Длина данных в блоке
            ffffffff 
// Маска разрешающая всем типам контактов доступ к информации пользователя
    00d0 
// 
Метка неизвестного блока данных ^
        0001 
// Длина данных в блоке
            01 
// 
Неизвестные данные
 
^
    00d1 
// 
Метка неизвестного блока данных ^
        0001 
// Длина данных в блоке
            01 
// 
Неизвестные данные
 
^
    00d2 
// 
Метка неизвестного блока данных ^
        0001 
// Длина данных в блоке
            01 
// 
Неизвестные данные
 
^
    00d3 
// 
Метка неизвестного блока данных ^
        0001 
// Длина данных в блоке
            01 
// 
Неизвестные данные
 
^
// Секция: 13
0014 
// Длина данных имени секции
 (значение: 20 байт)
    Не в списке 
// Имя секции
0001 
// Идентификатор группы
0000 
// Идентификатор секции
0001 
// Тип секции (группа)
0010 
// Длина дополнительных данных секции
 (значение: 16 байт)
    006a 
// Метка блока данных с тегом группы
        0000 
// Длина данных в блоке
    00c8 
// Метка блока данных с массивом идентификаторов всех контактов входящих в группу
        0000 
// Длина данных в блоке
    0076 
// 
Метка неизвестного блока данных ^
        0004 
// Длина данных в блоке
            00000112 
// 
Неизвестные данные
 
^
// Секция: 14
0010 
// Длина данных имени секции
 (значение: 16 байт)
    Контакты
7246 
// Идентификатор группы
0000 
// Идентификатор секции
0001 
// Тип секции (группа)
002e 
// Длина дополнительных данных секции
 (значение: 46 байт)
    00c8 
// Метка блока данных с массивом идентификаторов всех контактов входящих в группу
        002a 
// Длина данных в блоке
            08b9 
// Идентификатор контакта входящего в эту группу
            0973 
// Идентификатор контакта входящего в эту группу
            097e 
// Идентификатор контакта входящего в эту группу
            09eb 
// Идентификатор контакта входящего в эту группу
            и так далее ...
// Секция: 15
0009 
// Длина данных имени секции
 (значение: 9 байт)
    408927135
 
// Имя секции (ICQ UIN)
7246 
// Идентификатор группы
08b9 
// Идентификатор секции
0000 
// Тип секции (нормальный контакт)
001a 
// Длина дополнительных данных секции
 (значение: 26 байт)
    0066 
// Метка блока данных с отметкой статуса авторизации
        0000 
// Отметка отсутствия авторизации у этого контакта
    006d 
// Метка блока данных с временем последнего взаимодействия с этим контактом
        0008 
// Длина данных в блоке
            4d441577 
// Время последнего взаимодействия (значение: 29.01.2011 17:26:15)
            3fa38ea8 
// Оценка взаимодействия этого контакта (значение: 2827920191)
    0131
 
// Метка блока данных с названием контакта в списке
        0006 
// Длина данных в блоке
            [Null] 
// Название контакта в списке
// Секция: 16
0006 
// Длина данных имени секции
 (значение: 6 байт)
    787811
 
// Имя секции (ICQ UIN)
7246 
// Идентификатор группы
0973 
// Идентификатор секции
0000 
// Тип секции (нормальный контакт)
0042 
// Длина дополнительных данных секции
 (значение: 66 байт)
    013a 
// Метка блока данных с номером сотового телефона
        0000 
// Длина данных в блоке
    013c 
// Метка блока данных с заметкой
        0000 
// Длина данных в блоке
    0137 
// Метка блока данных с Email адресом
        0000 
// Длина данных в блоке
    015c 
// Метка блока данных с хешем иконки
        0010 
// Длина данных в блоке
            69eb078bca1d44659ce6c0d8ca88c3f4 
// Хеш иконки
    015d 
// 
Метка неизвестного блока данных ^
        0008 
// Длина данных в блоке
            40e3a8c0 
// 
Неизвестные данные (значение: 01.07.2004 10:01:36)
 
^
            c0000000 
// 
Неизвестные данные (значение: 192)
 
^
    006d
 
// Метка блока данных с временем последнего взаимодействия с этим контактом
        0008 
// Длина данных в блоке
            4c0fe475 
// Время последнего взаимодействия (значение: 09.06.2010 22:59:01)
            40216598 
// Оценка взаимодействия этого контакта (значение: 2556764480)
    0131
 
// Метка блока данных с названием контакта в списке
        0006 
// Длина данных в блоке
            VERBOT 
// Название контакта в списке
// В завершении пакета содержится время последнего взаимодействия со списком контактов
4df736e6 
// Время последнего взаимодействия (значение: 14.06.2011 14:24:38)

Дополнения пакета:
// Секция с возможными параметрами контакта из списка
0008 
// Длина данных имени секции
 (значение: 8 байт)
    96060609
 
// Имя секции (ICQ UIN)
0a75 
// Идентификатор группы
34eb 
// Идентификатор секции
0000 
// Тип секции (нормальный контакт)
0044 
// Длина дополнительных данных секции
 (значение: 68 байт)
    013a 
// Метка блока данных с номером сотового телефона
        000c 
// Длина данных в блоке
            +39889537190
 
// Номер сотового телефона
    013c 
// Метка блока данных с заметкой
        0007 
// Длина данных в блоке
            Заметка
 
// Текст заметки
    0137 
// Метка блока данных с Email адресом
        000b 
// Длина данных в блоке
            123@mail.uk 
// Email адрес
    006d
 
// Метка блока данных с временем последнего взаимодействия с этим контактом
        0008 
// Длина данных в блоке
            4e4a5cdc 
// Время последнего взаимодействия (значение: 16.08.2011 16:04:44)
            3f800000 
// Оценка взаимодействия этого контакта (значение: 32831)
    015c 
// Метка блока данных с хешем иконки
        0010 
// Длина данных в блоке
            822dd2f1270e4545aaaa16b1c37b3ca6 
// Хеш иконки
    015d 
// 
Метка неизвестного блока данных ^
        0008 
// Длина данных в блоке
            40e3f36d 
// 
Неизвестные данные (значение: 01.07.2004 15:20:13)
 
^
            10c83fb7 
// 
Неизвестные данные (значение: 3074410512)
 
^
    0131
 
// Метка блока данных с названием контакта в списке
        0008 
// Длина данных в блоке
            Натриарч 
// Название контакта в списке
    0066 
// Метка блока данных с отметкой статуса авторизации
        0000 
// Отметка отсутствия авторизации у этого контакта
    007d 
// 
Метка неизвестного блока данных ^
        0001 
// Длина данных в блоке
            03 
// 
Неизвестные данные
 
^
    0149 
// 
Метка неизвестного блока данных ^
        0000 
// Длина данных в блоке
    006a 
// Метка блока данных с тегом контакта
        0000 
// Длина данных в блоке

// Секция сервиса интеграции с социальной сетью Facebook
0008
// Длина данных имени секции
 (значение: 8 байт)

    facebook
// Имя секции
0000
// Идентификатор группы

0008
// Идентификатор секции

0029
// Тип секции
0022
// Длина дополнительных данных секции
 (значение: 34 байта)

    008b
// 
Метка неизвестного блока данных ^

        0004
// Длина данных в блоке

            4ec61aba
// Время (?) (значение: 18.11.2011 12:43:38)

    0081
// 
Метка неизвестного блока данных ^

        0001
// Длина данных в блоке

            01
// 
Неизвестные данные
 
^

    0085
// 
Метка неизвестного блока данных ^

        0004
// Длина данных в блоке

            4ec61aba
// Время (?) (значение: 18.11.2011 12:43:38)

    0082
// 
Метка неизвестного блока данных ^

        0001
// Длина данных в блоке

            01
// 
Неизвестные данные
 
^

    0098
// 
Метка неизвестного блока данных ^

        0004
// Длина данных в блоке

            00000001
// 
Неизвестные данные
 
^

// Секция Gtalk (?)
0000
// Длина данных имени секции
 (значение: 0 байт)

0000
// Идентификатор группы

0009
// Идентификатор секции

0028
// Тип секции

0008
// Длина дополнительных данных секции
 (значение: 8 байт)

    01c2
// 
Метка неизвестного блока данных ^

        0004
// Длина данных в блоке

            4ec61b43
// Время (?) (значение: 18.11.2011 12:45:55)


Таблица типов секций
Значение HEXИнформация
 0000  Нормальный контакт
 0001 Группа
 0002 Контакт в списке "видящих"
 0003 Контакт в списке "невидящих"
 0004  Секция "pd info"
 0005 Секция "presence info"
 0006 Контакт не в списке контактов
 0009 Специфические настройки клиента
 000E Контакт в списке игнорируемых
 0013 Секция "import time"
 0014 Секция "bart info"
 0015 Атрибуты списков контактов
 0016 Коллекция "BART IDs"
 0017 Секция "Account Linking prefrences"
 0018 Секция "Account linking info"
 000F Секция "last update"
 001B Временный контакт (добавил вас)
 001D Секция "vanity info"
 001E Избранные места пользователя
 001F Секция "BART PDMODE"
 0019 Временный контакт (говорил с вами)
 0020 Секция "icq-mdir"
 0024 Секция атрибутов сборок смайликов
 0028 Секция "Gtalk" (?)
 0029 Секция "facebook"

Таблица значений доступа к информации пользователя (PD MODE)
Значение HEXИнформация
 01 Разрешить всем просматривать все данные
 02 Запретить всем просматривать все данные
 03 Разрешить контактам не из списка ограниченный просмотр данных
 04 Запретить контактам не из списка просмотр некоторых данных
 05 Разрешить просмотр данных только контактам из списка