PKT 3.0

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

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

Текущая версия на 17:22, 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 протокола.
Длина указана в поле «длина данных пакета».

Ссылки

Личные инструменты