Hi all, I have to write a Protcol-Analyzer, basing on TCP. The first Level is a company-specific Protocol which encapsulates several other company-specific protocols. The first Level I have already implemented and it works. That means. The Data from TCP (lets call it Proto_One) I can analyze and make them viewable in the Tree. But next Step is to make the Data from (lets call it Proto_Two and Proto_Three) available for next dissector. Here is my Code which is not completely working: File: packet-proton.c
asked 25 Oct ‘11, 07:57 tjamaker edited 26 Feb ‘12, 21:30 cmaynard ♦♦ |
2 Answers:
You'll have to create a sub dissector table in
answered 25 Oct '11, 09:34 Jaap ♦ |
OK, now I got the MSVC++ 2088 EE running to be able to debug the code. And now I can detect, that in my dissect_protone the call_dissector is called but it never appears in dissect_prottwo.
answered 26 Oct ‘11, 02:40 tjamaker This won’t call your prottwo dissector. Use:
if protid == 0x1266 then it will be called. (26 Oct ‘11, 04:49) Jaap ♦ THX, now it works !!! (26 Oct ‘11, 04:55) tjamaker |
Thanks for the answer. No I got WireShark started. But the dissection still doesn't work.
I made these changes in packet-proton.c:
Do I really need the line with register_heur_dissector_list?
And these changes I made in packet-prottwo.c:
Is there something else, I have to configure?
Is it working with 0x1266 or do I have to use 4710?
Best Regards
tjamaker
Do I really need the line with register_heur_dissector_list? Answer: No
prottwo_handle = find_dissector(“protone”); should be find_dissector(“prottwo”);