Та же версия tshark пропускает http2-декодирования на другой машине - PullRequest
1 голос
/ 05 марта 2020

Во время декодирования одного и того же файла pcap с той же версией tshark я получаю разные результаты на разных машинах . Я думал, что tshark в автономном режиме декодирует архив pcap, поэтому я не понимаю этого поведения для той же версии tshark и библиотеки pcap и т. Д. c .. Пропущенная часть - это декодирование http2.

Когда я do

tshark -r capture.pcap -T json 

Я скучаю по всем исходным слоям 'http2' на одной машине. Это легко увидеть с помощью этого:

tshark -V -r capture.pcap  -Y 'http2' -T json

Потому что машина, которая пропускает http2, ничего для этого не показывает (очевидно). Я мог бы прикрепить захват, но я думаю, что не обязательно задавать вопрос. Это просто захват pcap для http2 traffi c.

Дело в том, чтобы знать , что однажды может повлиять на другое поведение, каждая вещь, связанная с версией tshark, точно то же самое?

Примечание: одна машина является хостом, другая - бродячей машиной через VirtualBox. Оба Ubuntu Bioni c.

ПРИНИМАЮЩАЯ МАШИНА:

tshark --version
TShark (Wireshark) 2.6.10 (Git v2.6.10 packaged as 2.6.10-1~ubuntu18.04.0)

Copyright 1998-2019 Gerald Combs <gerald@wireshark.org> and contributors.
License GPLv2+: GNU GPL version 2 or later <http://www.gnu.org/licenses/old-licenses/gpl-2.0.html>
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Compiled (64-bit) with libpcap, with POSIX capabilities (Linux), with libnl 3,
with GLib 2.56.4, with zlib 1.2.11, with SMI 0.4.8, with c-ares 1.14.0, with Lua
5.2.4, with GnuTLS 3.5.18, with Gcrypt 1.8.1, with MIT Kerberos, with MaxMind DB
resolver, with nghttp2 1.30.0, with LZ4, with Snappy, with libxml2 2.9.4.

Running on Linux 4.15.0-70-generic, with Intel(R) Core(TM) i7-8650U CPU @
1.90GHz (with SSE4.2), with 32017 MB of physical memory, with locale
LC_CTYPE=en_US.UTF-8, LC_NUMERIC=es_ES.UTF-8, LC_TIME=es_ES.UTF-8,
LC_COLLATE=en_US.UTF-8, LC_MONETARY=es_ES.UTF-8, LC_MESSAGES=en_US.UTF-8,
LC_PAPER=es_ES.UTF-8, LC_NAME=es_ES.UTF-8, LC_ADDRESS=es_ES.UTF-8,
LC_TELEPHONE=es_ES.UTF-8, LC_MEASUREMENT=es_ES.UTF-8,
LC_IDENTIFICATION=es_ES.UTF-8, with libpcap version 1.8.1, with GnuTLS 3.5.18,
with Gcrypt 1.8.1, with zlib 1.2.11, binary plugins supported (13 loaded).

Built using gcc 7.4.0.

VAGRANT MACHINE:

tshark --version
TShark (Wireshark) 2.6.10 (Git v2.6.10 packaged as 2.6.10-1~ubuntu18.04.0)

Copyright 1998-2019 Gerald Combs <gerald@wireshark.org> and contributors.
License GPLv2+: GNU GPL version 2 or later <http://www.gnu.org/licenses/old-licenses/gpl-2.0.html>
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Compiled (64-bit) with libpcap, with POSIX capabilities (Linux), with libnl 3,
with GLib 2.56.4, with zlib 1.2.11, with SMI 0.4.8, with c-ares 1.14.0, with Lua
5.2.4, with GnuTLS 3.5.18, with Gcrypt 1.8.1, with MIT Kerberos, with MaxMind DB
resolver, with nghttp2 1.30.0, with LZ4, with Snappy, with libxml2 2.9.4.

Running on Linux 4.15.0-65-generic, with Intel(R) Core(TM) i7-8650U CPU @
1.90GHz (with SSE4.2), with 7976 MB of physical memory, with locale C, with
libpcap version 1.8.1, with GnuTLS 3.5.18, with Gcrypt 1.8.1, with zlib 1.2.11,
binary plugins supported (13 loaded).

Built using gcc 7.4.0.

Четвертый пакет в моем захвате начинает различаться. Это первый пакет с HTTP2:

На хосте:

tshark -r capture.pcap -T json -c 4 > host.capture1-4.json

На бродячем компьютере:

tshark -r capture.pcap -T json -c 4 > vagrant.capture1-4.json

Я собрал оба файла:

diff host.capture1-4.json vagrant.capture1-4.json
426c426
<           "frame.protocols": "sll:ethertype:ip:tcp:http2"
---
>           "frame.protocols": "sll:ethertype:ip:tcp:data"
524,527c524
<           "tcp.payload": "50:52:49:20:2a:20:48:54:54:50:2f:32:2e:30:0d:0a:0d:0a:53:4d:0d:0a:0d:0a:00:00:12:04:00:00:00:00:00:00:02:00:00:00:00:00:04:00:40:00:00:00:06:00:a0:00:00:00:00:04:08:00:00:00:00:00:40:00:00:00",
<           "tcp.pdu.size": "24",
<           "tcp.pdu.size": "27",
<           "tcp.pdu.size": "13"
---
>           "tcp.payload": "50:52:49:20:2a:20:48:54:54:50:2f:32:2e:30:0d:0a:0d:0a:53:4d:0d:0a:0d:0a:00:00:12:04:00:00:00:00:00:00:02:00:00:00:00:00:04:00:40:00:00:00:06:00:a0:00:00:00:00:04:08:00:00:00:00:00:40:00:00:00"
529,567c526,528
<         "http2": {
<           "http2.stream": {
<             "http2.magic": "PRI * HTTP\/2.0\r\n\r\nSM\r\n\r\n"
<           },
<           "http2.stream": {
<             "http2.length": "18",
<             "http2.type": "4",
<             "http2.flags": "0x00000000",
<             "http2.flags_tree": {
<               "http2.flags.ack.settings": "0",
<               "http2.flags.unused_settings": "0x00000000"
<             },
<             "http2.r": "0x00000000",
<             "http2.streamid": "0",
<             "http2.settings": {
<               "http2.settings.id": "2",
<               "http2.settings.enable_push": "0"
<             },
<             "http2.settings": {
<               "http2.settings.id": "4",
<               "http2.settings.initial_window_size": "4194304"
<             },
<             "http2.settings": {
<               "http2.settings.id": "6",
<               "http2.settings.max_header_list_size": "10485760"
<             }
<           },
<           "http2.stream": {
<             "http2.length": "4",
<             "http2.type": "8",
<             "http2.flags": "0x00000000",
<             "http2.flags_tree": {
<               "http2.flags.unused": "0x00000000"
<             },
<             "http2.r": "0x00000000",
<             "http2.streamid": "0",
<             "http2.window_update.r": "0x00000000",
<             "http2.window_update.window_size_increment": "1073741824"
<           }
---
>         "data": {
>           "data.data": "50:52:49:20:2a:20:48:54:54:50:2f:32:2e:30:0d:0a:0d:0a:53:4d:0d:0a:0d:0a:00:00:12:04:00:00:00:00:00:00:02:00:00:00:00:00:04:00:40:00:00:00:06:00:a0:00:00:00:00:04:08:00:00:00:00:00:40:00:00:00",
>           "data.len": "64"

Я не могу опубликовать весь захват (это слишком много, и у меня есть разумные данные). Я новичок ie здесь, но думаю, что переполнение стека не имеет службы размещения файлов.

...