I'm trying to decode an IPMI packet. I presently don't have a means to get the packet into WireShark, because my computer does not yet have a working I2C port, so the packet below came from my logic analyzer. 20 10 D0 EE 00 02 04 F0 00 6F A0 80 C0 CD This packet was sent by the system processor to the backplane. If someone could please help me by telling me what the message above means byte-by-byte, I would be very grateful. asked 22 Sep '16, 13:08 CLinquist |
One Answer:
Wireshark decodes your payload as follows:
answered 22 Sep '16, 13:23 Pascal Quantin |
Amazing, fantastic, and THANKS!
BTW: Where can I get the decoder for IPMI? My version seems to only handle Ethernet.
The decoder is part of the standard distribution of Wireshark, you just need to know how to feed Wireshark with your messages and tell it how to dissect them.
One way (there may be others I don't know about) is the following:
Prepend your data with a single
0
followed by a space, so you'll get0 20 10 D0 EE 00 02 04 F0 00 6F A0 80 C0 CD
and save the result to a text file with a blank line after it.Then, use
File -> Import from Hex Dump
in Wireshark to import the file, choosingEncapsulation Type
User0
(or any otherUserX
one if you already useUser0
for any other purpose), and theNo Dummy Header
option.Then, in the packet dissection pane, right-click the yellow line saying
User encapsulation not handled...
, chooseProtocol Preferences->Encapsulations Table
, and insert a new line into the table - chooseUserX
depending on which encapsulation you have indicated above for theDLT
column, and writeipmi
to theProtocol
column.This way you tell Wireshark to start dissecting the imported frame as IPMI data with no lower layer.
More details regarding import from hex dump are in the documentation. The graphical layout of the import window is a bit outdated there but the principle is described properly.