Hello, I'm using tshark to get some packets from a pcap file, and some of the data fields (the longer ones) are not displayed. For example:
As you can see - the 4th packets' data isn't displayed. This is the command line I use:
And here is some input and output data: https://www.dropbox.com/sh/9jlq93td5kahhir/a3cZTTWEhd I've went over the tshark specs, but it doesn't say anything about fields lengths... Is this a bug? Am I missing a flag? Nitay asked 12 Dec '13, 05:58 nitay converted 15 Dec '13, 01:31 |
One Answer:
I think it's a bug. As you're using a non-standard Modbus function code (126), the data isn't dissected by the the normal Modbus routines. Instead the data is handed off to any dissectors that are registered in the "Modbus Data" table. This table allows other dissectors to register so that they can dissect data that is outwith the bounds of standard Modbus. With my built version of Wireshark (SVN Rev 53869 from /trunk with default preferences), the openSAFETY dissector registers with the Modbus Data table. If the data is greater than the minimum openSAFETY package size (11 bytes) then the openSAFETY dissector tries to dissect it and fails but erroneously tells the Modbus dissector that it did dissect the data, so the Modbus dissector doesn't take the fallback option of passing the data to the generic data dissector that produces the hex strings you see in other packets where the data is smaller than the minimum openSAFETY package size. To prevent the openSAFETY dissector from attempting to parse the data you can turn the preference off using the command line flag You should raise an entry on the Wireshark Bugzilla, attaching your capture to ensure this is fixed. answered 15 Dec '13, 06:23 grahamb ♦ |
filed a bug. Thanks!
EDIT [@Kurt]: Bug 9572