Add new dissector for iris protocol#3179
Conversation
IvanNardi
left a comment
There was a problem hiding this comment.
@BryanProg, thanks for your contribution
Some small adjustments are required; see below.
Can you provide a pcap as example of this new protocol?
e891c40 to
f91a6c9
Compare
|
@BryanProg , I rework the detection logic (the protocol is found if the message type is valid AND the length is valid too) to avoid the false positives with SSH traffic, and I simplified the pcaps, keeping only the two iris flows. |
|
@IvanNardi I agree with you, but the If we continue like this, only request messages will be recognized. |
|
@BryanProg, looking closely at the pcap, it seems that:
With this logic we should be able to detect both directions, without false positives (hopefully) [I fixed the detection on big endian archs] |
|
@IvanNardi These two bytes in the response that you saw are the request's error code. When it is 0 it is because there was success, but I do not know all the other values of the error code and that is why I did not check with this information. So I compared the size of the iris payload (tpc payload size minus 14bytes which is the iris header) with the information that the iris header brings (the first 4 bytes of the iris header are the size of the iris payload information) and I only took advantage of this protocol (In main use, this protocol only uses port 1972) using this port 1972 with the TCP method. Don't you think that's all it takes? Do you think there could be false positives? Even if I define that in these cases the nDPI trust is NDPI_CONFIDENCE_MATCH_BY_PORT or NDPI_CONFIDENCE_DPI_PARTIAL?? Thanks for to fix the detection on big endian archs |
|
@BryanProg, let me check if I understood it right.
Is that correct? [BTW, I think that should work...] |
|
I propose the following:
That's it. What do you think? NOTE: For REQ message to use the message_type lends more confidence to this packet. Because we are certain that it uses the Iris protocol. |
|
@BryanProg, what do you think of the latest version? |
Greetings Ivan! I'm a coworker of Bryan. He's on vacation. One thing: I'd rename the Otherwise, looks good to me. Also, I think it is worth mentioning the Iris database can be tested for free with the intersystems/iris-community Docker image (in case someone wants to assist in reverse engineering the protocol). |
Done
Added to the documentation Thanks! |
|
|
Thanks, everyone! |



Please sign (check) the below before submitting the Pull Request:
Link to the related issue:
Describe changes: