The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"pptp, tcpdump, анализ пакета"
Версия для распечатки Пред. тема | След. тема
Форум Открытые системы на сервере
Исходное сообщение [ Отслеживать ]
Отдельный RSS теперь доступен для каждого обсуждения в форуме и каждого минипортала.
"pptp, tcpdump, анализ пакета" +/
Сообщение от LSTemp (ok), 26-Апр-11, 21:41 
Помогите, Уважаемые. Что-то у меня лыжи уже 3-й день не едут с расшифровкой одного значения пакета, перехваченного tcpdump-ом.

клиент подключается по VPN (Linux, poptop, шифрование не используетя).

схема соединения:
[CLIENT 192.168.0.2 (192.168.10.2)]<->
[192.168.0.1 (192.168.200.1)  SERVER  NAT]<->
[77.234.201.242 OPENNET.RU]

в круглых скобках указанны адреса, используемые для текущего VPN-соединения.

ловим пакет на ethernet-интерфейсе, ч/з который подключен VPN-клиент:

tcpdump -t -n -e -i eth1 -X "dst host 192.168.0.2 and proto 47"

00:14:d1:52:78:e4 > 00:17:31:58:dc:fd, ethertype IPv4 (0x0800), length 317: IP 192.168.0.1 > 192.168.0.2: call 0 seq 2293 gre-ppp-payload
        0x0000:  4500 012f be49 4000 402f fa02 c0a8 0001  E../.I@.@/......
        0x0010:  c0a8 0002 3001 880b 010f 0000 0000 08f5  ....0...........
        0x0020:  2145 0001 0e97 d140 0035 06ca 914d eac9  !E.....@.5...M..
        0x0030:  f2c0 a80a 0200 509e 64e2 6f8c fd26 95ac  ......P.d.o..&..
        0x0040:  0250 18ff ff90 cd00 0048 5454 502f 312e  .P.......HTTP/1.
        0x0050:  3120                                     1.

анализируем:

-----------------------------
IP
-----------------------------

0x0000: 45..
=>
- версия протокола 4
- длина заголовка 5-ть 32-х битных слов (т.е заголовок без опциональных полей).

=>
данные заголовка:
0x0000:  4500 012f be49 4000 402f fa02 c0a8 0001
0x0010:  c0a8 0002

как и ожидалось:
инкапсуляция     = 0x2f      = 47 (GRE)
IP src         = 0xc0 a8 00 01 = 192.168.0.1
IP dst         = 0xc0 a8 00 02 = 192.168.0.2

-----------------------------
GRE:
-----------------------------

0x0010:  .... .... 3001
=>
SF        = 0x30 >> 4 & 1    = 1 (+2 слова к заголовку)
AF        = 0x01 >> 7 & 1    = 0 (+0 слов к заголовку)

=>
данные заголовка:
0x0010:  .... .... 3001 880b 010f 0000 0000 08f5

версия GRE    = 0x01 & 7     = 1
инкапсуляция    = 0x880b    = PPP
...

-----------------------------
ВНИМАНИЕ - ВОПРОС!!!
-----------------------------

0x0020:  21.. сразу после заголовка GRE.

уже тучу RFC перерыл и инета...

собственно с расшифровкой этого значения и застопорился. что за 0x21, откуда оно берется,  что значит и какому заголовку относится?

по идее на этом месте должен быть PPP-заголовок?

далее опять все понятно и ожидаемо...

-----------------------------
IP
-----------------------------

0x0020:  ..45
=>
- версия протокола 4
- длина заголовка 5-ть слов

=>
данные заголовка:
0x0020:  ..45 0001 0e97 d140 0035 06ca 914d eac9
0x0030:  f2c0 a80a 02..

инкапсуляция    = 0x06        = 6 (TCP)
IP src        = 0x4d ea c9 f2    = 77.234.201.242
IP dst        = 0xc0 a8 0a 02    = 192.168.10.2

-----------------------------
TCP
-----------------------------

src port     = 0x0050        = 80
...

собственно вот этот байт 0x21 @ 0x0020 никуда приткнуть и не могу. остальные поля во всех заголовках нормально расшифровываются, хоть я их и не приводил.

подскажите, где я лыжи не смазал?


Ответить | Правка | Cообщить модератору

Оглавление
pptp, tcpdump, анализ пакета, LSTemp, 26-Апр-11, 21:41  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру