https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=15324

            Bug ID: 15324
           Summary: Support for Elasticsearch 5+ protocol
           Product: Wireshark
           Version: unspecified
          Hardware: x86
                OS: Mac OS X 10.4
            Status: UNCONFIRMED
          Severity: Enhancement
          Priority: Low
         Component: Dissection engine (libwireshark)
          Assignee: bugzilla-ad...@wireshark.org
          Reporter: david.tur...@elastic.co
  Target Milestone: ---

Build Information:
Version 2.4.3 (v2.4.3-0-g368ba1e)

Copyright 1998-2017 Gerald Combs <ger...@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 Qt 5.3.2, with libpcap, without POSIX capabilities, with
GLib 2.36.0, with zlib 1.2.5, with SMI 0.4.8, with c-ares 1.12.0, with Lua
5.2.4, with GnuTLS 3.4.17, with Gcrypt 1.7.7, with MIT Kerberos, with GeoIP,
with nghttp2 1.14.0, with LZ4, with Snappy, with libxml2 2.9.4, with
QtMultimedia, without AirPcap, with SBC, without SpanDSP.

Running on Mac OS X 10.14.1, build 18B75 (Darwin 18.2.0), with Intel(R)
Core(TM)
i7-7820HQ CPU @ 2.90GHz (with SSE4.2), with 16384 MB of physical memory, with
locale C, with libpcap version 1.8.1 -- Apple version 79.200.4, with GnuTLS
3.4.17, with Gcrypt 1.7.7, with zlib 1.2.11.

Built using llvm-gcc 4.2.1 (Based on Apple Inc. build 5658) (LLVM build
2336.9.00).

Wireshark is Open Source Software released under the GNU General Public
License.

Check the man page and http://www.wireshark.org for more information.
--
Today, Wireshark can dissect a few fields from the wire protocol that
Elasticsearch used prior to version 5. There were changes to the wire protocol
in version 5 and again in version 6.3.

In version 5 (`version >= 5000099`) in both requests and responses, immediately
after the 4-byte version field was added the thread context:

https://github.com/elastic/elasticsearch/blob/master/server/src/main/java/org/elasticsearch/common/util/concurrent/ThreadContext.java#L583-L589

The thread context comprises two structures: headers from the request and
headers for the response. The headers from the request is a list of pairs of
strings; the headers for the response is a list of pairs of (string,
list-of-string), and each list is prefixed with its number of items. The
`read_vint()` and `read_vstring()` functions in
`epan/dissectors/packet-elasticsearch.c` look suitable for reading the basic
elements of these structures.

In version 6.3 (`version >= 6030099`), in requests only, immediately after the
thread context described above comes the features list. This is a list of
strings (again, prefixed by its length):

https://github.com/elastic/elasticsearch/blob/master/server/src/main/java/org/elasticsearch/transport/TcpTransport.java#L790-L792

-- 
You are receiving this mail because:
You are watching all bug changes.
___________________________________________________________________________
Sent via:    Wireshark-bugs mailing list <wireshark-bugs@wireshark.org>
Archives:    https://www.wireshark.org/lists/wireshark-bugs
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-bugs
             mailto:wireshark-bugs-requ...@wireshark.org?subject=unsubscribe

Reply via email to