THIS IS A TEST INSTANCE. Feel free to ask and answer questions, but take care to avoid triggering too many notifications.
0

Linking packets in a dissector

I am writing a dissector for ZWave serial port protocol, and I would like to link request/response packets somehow in UI.

The protocol does not have request/response IDs, but it says that responses to requests come in the same order they were sent, so it ought to be possible to match them. It also provides for "callback ID"s on requests that expect asynchronous responses in addition to synchronous acknowledgments, so some asynchronous responses can be matched to earlier requests, though these IDs can be reused.

I have read developer's guide about dissectors, but haven't found a way to say "this packet is a part of this request/response/multi-packet sequence". Is that possible? Have I missed some piece of documentation?

dottedmag's avatar
3
dottedmag
asked 2019-05-16 15:10:19 +0000, updated 2019-05-16 15:22:02 +0000
edit flag offensive 0 remove flag close merge delete

Comments

add a comment see more comments

1 Answer

0

Not (currently) in the Developers Guide, but among the many useful files in the doc subdirectory of the source, you will find README.request_response_tracking that should help you out.

grahamb's avatar
23.8k
grahamb
answered 2019-05-16 16:04:52 +0000
edit flag offensive 0 remove flag delete link

Comments

I see that tracking requests/responses is based on addresses/ports. Should I do the manual tracking if I need things like "This is a response to a previous request of <this> form in outbound direction"?

dottedmag's avatar dottedmag (2019-05-16 18:37:52 +0000) edit

That comment refers to conversations in general. In the example shown, the linking item between the packets in the conversation is the seq_num which is used as the key in the hash table.

grahamb's avatar grahamb (2019-05-16 19:40:37 +0000) edit
add a comment see more comments

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account. This space is reserved only for answers. If you would like to engage in a discussion, please instead post a comment under the question or an answer that you would like to discuss.

Add Answer