Jaap Thanks for the help. I see what you did in the code. It works...!!
I started using this website help when I first started creating my own dissector. http://www.codeproject.com/KB/IP/custom_dissector.aspx You will see (about half way down this page) the following code: void proto_reg_handoff_amin(void) { static gboolean initialized=FALSE; if (!initialized) { data_handle = find_dissector("data"); amin_handle = create_dissector_handle(dissect_amin, proto_amin); dissector_add("tcp.port", global_amin_port, amin_handle); } } //This function is called to register our protocol. Notice how the port and dissector handle are passed I just used this basic template and built my dissector from there. Thanks, Brian Jaap Keuter wrote: > Hi, > > See change inline. > Also, what's netalivedata_handle and netalive_handle when > isnetalivefilehere==NULL? > > Thanx, > Jaap > > Brian Oleksa wrote: > >> Olivier >> >> Looking at the code below.....I was wondering why wireshark exits if the >> netalive port file is not available...?? >> >> Basically....if the netalive ports file is there...then I want to >> dissect netalive packets. But if the netalive ports file is NOT >> there...then I want to continue to dissect other packets. >> >> But .....what I am finding out is that if the net alive ports file is >> NOT there....wireshark automatically shuts down. It doesn't even start >> up correctly. >> >> What am I missing here.....?? >> >> I am basically registering 2-3 protocols in 1 file. One protocol is my >> companies basic protocol that is open to the public. But the other >> "netalive" protocol is not open to the public >> so those that have netalive access will be able to dissect them. >> >> >> void proto_reg_handoff_netalive(void) { >> static gboolean isinitialized = FALSE; >> gboolean isnetalivefilehere = TRUE; >> int netaliveportnumber; >> >> FILE *fpnetalive; >> >> #if defined(_WIN32) >> fpnetalive = fopen("netaliveport.txt", "r"); >> #else >> fpnetalive = fopen("netaliveport", "r"); >> #endif >> >> if (fpnetalive == NULL) { >> isnetalivefilehere = FALSE; >> } >> >> //if netalive ports file is there....then go into this loop. >> //if it is not there then just continue using wireshark >> if(isnetalivefilehere) >> { >> while (fscanf(fpnetalive, "%d\n", &netaliveportnumber) != EOF) { >> >> printf("Net Alive Port number = %d\n", netaliveportnumber); >> >> if (!isinitialized) { >> netalivedata_handle = find_dissector("data"); >> netalive_handle = create_dissector_handle(dissect_netalive, >> proto_netalive); >> > >+ } > >> printf("I am here 1\n"); >> //This line read the port number from the file. >> dissector_add("udp.port", netaliveportnumber, netalive_handle); >> - } >> >> } >> > >+ fclose(fpnetalive); > >> } >> >> - fclose(fpnetalive); >> + isinitialized = TRUE; >> } >> >> Thanks, >> Brian >> >> >> >> wsgd wrote: >> >>> netalive_sub_item is not initialized >>> >>> Olivier >>> >>> Brian Oleksa a écrit : >>> >>> >>>> @Wiresharkers >>>> >>>> I have created this helen dissector. It has been running great ever >>>> since then. >>>> >>>> I have some NON-helen packets that I want to dissect. Instead of >>>> writing another dissector, I added it to the packet-helen.c code. >>>> >>>> As you can see at the top of this file I call a new procedure called: >>>> void proto_reg_handoff_netalive(void) >>>> >>>> Which works great and reads in the port # from the file correctly. >>>> >>>> I even get into the void dissect_netalive(tvbuff_t *tvb, >>>> packet_info *pinfo, proto_tree *tree) procedure with no problems: >>>> >>>> But I am not dissecting anything. The only thing that I get in the >>>> wireshark GUI is the word "NETALIVE". >>>> >>>> Why I am not seeing the dissection tree under the NETALIVE protocol....?? >>>> >>>> Basically.......all I did was I mirrored the helen protocol....it >>>> compiles fine but I do not see my packets being dissected. >>>> >>>> Any thoughts or suggestions...? The latest code is attached. >>>> >>>> Thank you very much for your help. >>>> >>>> It is greatly appreciated. >>>> >>>> Brian >>>> >>>> > > ___________________________________________________________________________ > Sent via: Wireshark-dev mailing list <[email protected]> > Archives: http://www.wireshark.org/lists/wireshark-dev > Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev > mailto:[email protected]?subject=unsubscribe > ___________________________________________________________________________ Sent via: Wireshark-dev mailing list <[email protected]> Archives: http://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:[email protected]?subject=unsubscribe
