Ты был прав — там запрос и ответ.
Но я же давал тебе все ссылки на протоколы. Давай ещё раз.
— структура IP Header-a.
0000: _мас____ гейта___ _мой___ мак______
Это ethernet frame -- в нем два MAC адреса по 6 байт каждый.
0000: ----------------------------------- 08 00 ----- .HTS..........E.
Содержание этого фрейма -- IP пакет.
0000: ----------------------------------------- 45 -- .HTS..........E.
IPv4, длина заголовка 5 32 битных слов или 20 байт.
0000: ----------------------------------------- -- 00 .HTS..........E.
ToS -- всё по нулям.
Precedence -- routine
Delay -- normal
Throuput -- normal
Reliability -- normal
0010: 00 42 ----------------------------------------- .B.!..@.%......;
Total Length 0x42 или 66 байтов -- сюрприз сюрприз -- всего показано 80
байтов, 66 -- IP пакет, 12 байт на МАС адреса, 2 на признак IP пакета в
эзере -- всего 80.
0010: -- -- BF 21 -- -- -- -- -- -- -- -- -- -- -- -- .B.!..@.%......;
Внутреняя идентификация
0010: -- -- -- -- 00 00 -- -- -- -- -- -- -- -- -- -- .B.!..@.%......;
Флаги на фрагментацию и смещение фрагмента -- все по 0-м, значит один фрагмент
0010: -- -- -- -- -- -- 40 -- -- -- -- -- -- -- -- -- .B.!..@.%......;
TTL -- 0x40 или 64 хопа
0010: -- -- -- -- -- -- -- 11 -- -- -- -- -- -- -- -- .B.!..@.%......;
Протокол 0х11 или 17 -- http://www.iana.org/assignments/protocol-numbers -- номер
17 закреплён за UDP. Значит внутри IP пакета лежит UDP пакет.
0010: -- -- -- -- -- -- -- -- 25 89 -- -- -- -- -- -- .B.!..@.%......;
Контрольная сумма заголовка
0010: -- -- -- -- -- -- -- -- -- -- _мой_ ай пи _днс_ .B.!..@.%......;
0020: ай пи -- -- -- -- -- -- -- -- -- -- -- -- -- -- .....5..........
Source IP Address, Destination IP Address. Всё -- IP Header кончился.
0020: -- -- 05 F5 00 35 00 2E 8F C9 -- -- -- -- -- -- .....5..........
Начинается UDP Header -- всего 4 16 битных слова или 8 байт.
0x05F5 -- Source Port -- 1525
0x0035 -- Destination Port -- 53
0x002E -- длина данных и заголовка -- 46 байт. Длин данных -- 38 байт.
Что есть 0x26 -- т.е. твой firewall указывает длину данных в
шестнацатеричном формате.
0x8FC9 -- контрольная сумма
0020: -- -- -- -- -- -- -- -- -- -- 00 02 -- -- -- -- .....5..........
Поехал DNS протокол. http://www.ietf.org/rfc/rfc1035.txt?number=1035
Страница 26, секция 4.1.1
идентификация пакета.
0020: -- -- -- -- -- -- -- -- -- -- -- -- 01 00 -- -- .....5..........
Надо переходить в двоичный формат.
0x100 будет 0000000100000000
разбиваем на группы, как указано для второго слова:
0 0000 0 0 1 0 000 0000
QR -- 1 бит -- 0 означает запрос
OPCODE -- 4 бита -- 000 стандартный запрос
AA -- 1 бит -- в запросе должен быть 0
TC -- 1 бит -- ничего не обрезано
RD -- 1 бит -- запрос рекурсивный
RA -- 1 бит -- 1 в ответе означает, если рекурсивный ответ предоставлен, здесь 0
Z -- 3 бита -- зарезервированы для будущего. Должны быть 0
RCODE -- 4 бита -- код ошибки при ответе
0020: -- -- -- -- -- -- -- -- -- -- -- -- -- -- 00 01 .....5..........
Количество записей в секции вопросов (QDCOUNT) -- 1 запрос.
0030: 00 00 -- -- -- -- -- -- -- -- -- -- -- -- -- -- .......www.crime
Количество записей в секции ответов (ANCOUNT) -- 0 и секци нет.
0030: -- -- 00 00 -- -- -- -- -- -- -- -- -- -- -- -- .......www.crime
Количество записей в секци авторизованых ответов (NSCOUNT)
0030: -- -- -- -- 00 00 -- -- -- -- -- -- -- -- -- -- .......www.crime
Количество записей в секции дополнительных записей (ARCOUNT)
0030: -- -- -- -- -- -- 03 77 77 77 0C 63 72 69 6D 65 .......www.crime
0040: 61 2D 62 6F 61 72 64 03 6E 65 74 00 00 01 00 01 a-board.net.....
Это закодированная запись в секции запросов.
0020: -- -- -- -- -- -- -- -- -- -- -- -- 81 05 -- -- ...5............
В ответе интерес представляет только ответ сервера RCODE
0x100 будет 8000000100000101
разбиваем на группы, как указано для второго слова:
1 0000 0 0 1 0 000 0101
QR -- 1 бит -- 1 означает ответ
OPCODE -- 4 бита -- 000 на стандартный запрос
AA -- 1 бит -- в запросе должен быть 0
TC -- 1 бит -- ничего не обрезано
RD -- 1 бит -- запрос рекурсивный
RA -- 1 бит -- 1 в ответе означает, если рекурсивный ответ предоставлен
но, естественно, из-за ошибки нет никакого рекурсивного ответа
Z -- 3 бита -- зарезервированы для будущего. Должны быть 0
RCODE -- 4 бита -- код ошибки при ответе -- 5 и это означет следующее
5 Refused - The name server refuses to
perform the specified operation for
policy reasons. For example, a name
server may not wish to provide the
information to the particular requester,
or a name server may not wish to perform
a particular operation (e.g., zone
transfer) for particular data.
По причинам политики (установленной администратором) сервер имён отказывается
выполнить запрос.