Ask Your Question
0

Use UDS dissector inside DoIP dissector

asked 2017-12-13 17:20:18 +0000

Cilyan gravatar image

updated 2017-12-13 17:20:54 +0000

UDS is a diagnostic protocol used in cars. It can be used on any bus that provides a transport protocol.

DoIP (ISO 13400) is a transport protocol created to convey diagnostic messages and other information over TCP or UDP.

I used a custom dissector written in lua to reconstruct and parse DoIP messages and then passed it to a custom uds dissector for the diagnostic message content using

Dissector.get("uds"):call(tvb(8+4):tvb(),pinfo,tree)

Since 2.4.0, an official uds protocol has landed in Wireshark (yeah!). But it seems I can't call the dissector

Lua Error: dissect_tcp_pdus dissect_func: [string "C:\Program Files\Wireshark\plugins\2.4.2\doip..."]:160: bad argument #1 to 'get' (Dissector_get: No such dissector)

How am I supposed to use the new UDS dissector?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2017-12-14 03:18:55 +0000

Guy Harris gravatar image

But it seems I can't call the dissector

More precisely, you can't get a handle for the dissector.

This is because the dissector doesn't register itself by name.

How am I supposed to use the new UDS dissector?

Wait for the next 2.4 release, use one of the automated builds, or build a version from source - I've changed the UDS dissector to register itself with the name "uds".

edit flag offensive delete link more

Comments

Oh, thanks, nice. I saw your change in git. I was confused, I thought that registering the protocol was enough to register the dissector at the same time. I probably misinterpreted how it is done in lua compared to C.

Cilyan gravatar imageCilyan ( 2017-12-14 08:47:59 +0000 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2017-12-13 17:20:18 +0000

Seen: 3,062 times

Last updated: Dec 14 '17