PKT 3.0

Материал из YTDB DataBase

(Различия между версиями)
Перейти к: навигация, поиск
(Спецификация PKT)
(Спецификация RAW)
Строка 61: Строка 61:
== Спецификация RAW ==
== Спецификация RAW ==
-
''Этот раздел еще не написан.''
+
 
 +
Вначале файла находится основной заголовок. В основном заголовке находятся общие данные о дампе. После основного заголовка один за другим находятся фрагменты сетевого потока с заголовками.
 +
 
 +
Для полей длиннее 1 байта по-умолчанию используется порядок байт «от младшего к старшему» (''little-endian'').
 +
 
 +
=== Именование файла ===
 +
{|border=1 cellspacing=0 cellpadding=3
 +
|'''Поле'''||'''Значение'''
 +
|-
 +
|Имя файла||Любое
 +
|-
 +
|Расширение файла||Обязательно '''.raw'''
 +
|}
 +
 
 +
=== Основной заголовок ===
 +
 
 +
{|border=1 cellspacing=0 cellpadding=3
 +
|'''Поле'''||'''Длина'''||'''Содержание'''
 +
|-
 +
|Подпись файла||3 байта||Последовательно символы 'RAW' в кодировке ASCII
 +
|-
 +
|Версия формата||2 байта||Последовательно байты младшей версии, старшей версии. Для PKT 3.0 обязательно 0x00, 0x03
 +
|-
 +
|Идентификатор сниффера||1 байт||См. [[Идентификатор сниффера в PKT]]
 +
|-
 +
|Номер билда клиента||4 байта||
 +
|-
 +
|Язык клиента||4 байта||Последовательно байты кода языка клиента в кодировке ASCII, например 'enGB'
 +
|-
 +
|Ключ сессии||40 байт||
 +
|-
 +
|Длина опциональных данных||4 байта||
 +
|-
 +
|Опциональные данные||||Содержание этого поля контролируется разработчиком программы-сниффера.<br />Длина этого поля указана в предыдущем поле.
 +
|}
 +
 
 +
=== Фрагмент сетевого потока ===
 +
 
 +
{|border=1 cellspacing=0 cellpadding=3
 +
|'''Поле'''||'''Длина'''||'''Содержание'''
 +
|-
 +
|Направление движения пакета||4&nbsp;байта||Последовательно символы 'SMSG' или 'CMSG' для пакетов от сервера к клиенту и от клиента к серверу соответственно в кодировке ASCII
 +
|-
 +
|Время получения пакета||4&nbsp;байта||Количество прошедших секунд с эпохи Unix (UTC)
 +
|-
 +
|Ticks получения пакета||4&nbsp;байта||Количество прошедших миллисекунд с момента запуска операционной системы
 +
|-
 +
|Длина опциональных данных||4&nbsp;байта||
 +
|-
 +
|Длина данных пакета||4&nbsp;байта||Не менее 4 байт
 +
|-
 +
|Опциональные данные||||Содержание этого поля контролируется разработчиком программы-сниффера.<br />Длина указана в поле «длина опциональных данных».
 +
|-
 +
|Данные пакета||||Содержит данные одного пакета TCP протокола.<br />Длина указана в поле «длина данных пакета».
 +
|}

Версия 17:06, 15 августа 2011

PKT 3.0 — первая централизованная версия формата файлов дампов сетевых пакетов PKT.

Спецификация состоит из описаний двух форматов для хранения расшифрованных и зашифрованных пакетов World of Warcraft, файлов с расширениями .pkt и .raw соответственно.

Содержание

Спецификация PKT

Вначале файла находится основной заголовок. В основном заголовке находятся общие данные о дампе. После основного заголовка один за другим находятся фрагменты сетевого потока с заголовками.

Для полей длиннее 1 байта по-умолчанию используется порядок байт «от младшего к старшему» (little-endian).

Именование файла

ПолеЗначение
Имя файлаЛюбое
Расширение файлаОбязательно .pkt

Основной заголовок

ПолеДлинаСодержание
Подпись файла3 байтаПоследовательно символы 'PKT' в кодировке ASCII
Версия формата2 байтаПоследовательно байты младшей версии, старшей версии. Для PKT 3.0 обязательно 0x00, 0x03
Идентификатор сниффера1 байтСм. Идентификатор сниффера в PKT
Номер билда клиента4 байта
Язык клиента4 байтаПоследовательно байты кода языка клиента в кодировке ASCII, например 'enGB'
Ключ сессии40 байтНеобязательно. Может быть заполнено нулями.
Длина опциональных данных4 байта
Опциональные данныеДлина этого поля указана в предыдущем поле.

Фрагмент сетевого потока

ПолеДлинаСодержание
Направление движения пакета4 байтаПоследовательно символы 'SMSG' или 'CMSG' для пакетов от сервера к клиенту и от клиента к серверу соответственно в кодировке ASCII
Время получения пакета4 байтаКоличество прошедших секунд с эпохи Unix (UTC)
Ticks получения пакета4 байтаКоличество прошедших миллисекунд с момента запуска операционной системы
Длина опциональных данных4 байта
Длина данных пакета4 байтаНе менее 4 байт
Опциональные данныеСодержание этого поля контролируется разработчиком программы-сниффера.
Длина указана в поле «длина опциональных данных».
Данные пакетаСодержит данные одного пакета World of Warcraft.
Длина указана в поле «длина данных пакета». Первые 4 байта этого поля — опкод пакета.

Спецификация RAW

Вначале файла находится основной заголовок. В основном заголовке находятся общие данные о дампе. После основного заголовка один за другим находятся фрагменты сетевого потока с заголовками.

Для полей длиннее 1 байта по-умолчанию используется порядок байт «от младшего к старшему» (little-endian).

Именование файла

ПолеЗначение
Имя файлаЛюбое
Расширение файлаОбязательно .raw

Основной заголовок

ПолеДлинаСодержание
Подпись файла3 байтаПоследовательно символы 'RAW' в кодировке ASCII
Версия формата2 байтаПоследовательно байты младшей версии, старшей версии. Для PKT 3.0 обязательно 0x00, 0x03
Идентификатор сниффера1 байтСм. Идентификатор сниффера в PKT
Номер билда клиента4 байта
Язык клиента4 байтаПоследовательно байты кода языка клиента в кодировке ASCII, например 'enGB'
Ключ сессии40 байт
Длина опциональных данных4 байта
Опциональные данныеСодержание этого поля контролируется разработчиком программы-сниффера.
Длина этого поля указана в предыдущем поле.

Фрагмент сетевого потока

ПолеДлинаСодержание
Направление движения пакета4 байтаПоследовательно символы 'SMSG' или 'CMSG' для пакетов от сервера к клиенту и от клиента к серверу соответственно в кодировке ASCII
Время получения пакета4 байтаКоличество прошедших секунд с эпохи Unix (UTC)
Ticks получения пакета4 байтаКоличество прошедших миллисекунд с момента запуска операционной системы
Длина опциональных данных4 байта
Длина данных пакета4 байтаНе менее 4 байт
Опциональные данныеСодержание этого поля контролируется разработчиком программы-сниффера.
Длина указана в поле «длина опциональных данных».
Данные пакетаСодержит данные одного пакета TCP протокола.
Длина указана в поле «длина данных пакета».
Личные инструменты