Exemple #1
0
void
proto_reg_handoff_tcpencap(void)
{
	static dissector_handle_t tcpencap_handle;
	static gboolean initialized = FALSE;
	static guint tcpencap_tcp_port;

	if (!initialized) {
		tcpencap_handle = new_create_dissector_handle(dissect_tcpencap, proto_tcpencap);
		esp_handle = find_dissector("esp");
		udp_handle = find_dissector("udp");
		initialized = TRUE;
	} else {
		dissector_delete_uint("tcp.port", tcpencap_tcp_port, tcpencap_handle);
	}

	tcpencap_tcp_port = global_tcpencap_tcp_port;
	dissector_add_uint("tcp.port", global_tcpencap_tcp_port, tcpencap_handle);
}
/*--- proto_reg_handoff_dsp --- */
void proto_reg_handoff_dsp(void) {
  dissector_handle_t dsp_handle;

#include "packet-dsp-dis-tab.c"

  /* APPLICATION CONTEXT */

  oid_add_from_string("id-ac-directory-system","2.5.3.2");

  /* ABSTRACT SYNTAXES */

  /* remember the tpkt handler for change in preferences */
  tpkt_handle = find_dissector("tpkt");

  /* Register DSP with ROS (with no use of RTSE) */
  dsp_handle = find_dissector("dsp");
  register_ros_oid_dissector_handle("2.5.9.2", dsp_handle, 0, "id-as-directory-system", FALSE);

}
void proto_reg_handoff_ieee80211_airopeek(void)
{
  dissector_handle_t airopeek_handle;

  /* Register handoff to airopeek-header dissectors */
  airopeek_handle = create_dissector_handle(dissect_airopeek, proto_airopeek);
  dissector_add_uint("wtap_encap", WTAP_ENCAP_IEEE_802_11_AIROPEEK,
                     airopeek_handle);
  ieee80211_handle = find_dissector("wlan");
}
Exemple #4
0
void proto_reg_handoff_egd(void)
{
  dissector_handle_t egd_handle;

  egd_handle = create_dissector_handle(dissect_egd, proto_egd);
  dissector_add_uint("udp.port", EGD_PORT, egd_handle);

  /* find data dissector */
  data_handle = find_dissector("data");
}
void proto_reg_handoff_ieee80211_radio(void)
{
  dissector_handle_t radio_handle;

  /* Register handoff to radio-header dissectors */
  radio_handle = create_dissector_handle(dissect_radio, proto_radio);
  dissector_add_uint("wtap_encap", WTAP_ENCAP_IEEE_802_11_WITH_RADIO,
                     radio_handle);
  ieee80211_handle = find_dissector("wlan");
}
Exemple #6
0
void
proto_reg_handoff_spp(void)
{
	dissector_handle_t spp_handle;

	spp_handle = create_dissector_handle(dissect_spp, proto_spp);
	dissector_add_uint("idp.packet_type", IDP_PACKET_TYPE_SPP, spp_handle);

	data_handle = find_dissector("data");
}
void
proto_reg_handoff_isdn(void)
{
	dissector_handle_t isdn_handle;

	/*
	 * Get handles for the LAPD, DPNSS link-layer, PPP, and V.120
	 * dissectors.
	 */
	lapd_handle = find_dissector("lapd");
	dpnss_link_handle = find_dissector("dpnss_link");
	ppp_hdlc_handle = find_dissector("ppp_hdlc");
	v120_handle = find_dissector("v120");
	data_handle = find_dissector("data");

	isdn_handle = create_dissector_handle(dissect_isdn, proto_isdn);

	dissector_add_uint("wtap_encap", WTAP_ENCAP_ISDN, isdn_handle);
}
void
proto_reg_handoff_osi(void)
{
    static gboolean           osi_prefs_initialized = FALSE;
    static dissector_handle_t osi_tpkt_handle, osi_juniper_handle;
    static guint              tcp_port_osi_over_tpkt;

    if (!osi_prefs_initialized) {
        osi_handle = create_dissector_handle(dissect_osi, proto_osi);
        dissector_add_uint("llc.dsap", SAP_OSINL1, osi_handle);
        dissector_add_uint("llc.dsap", SAP_OSINL2, osi_handle);
        dissector_add_uint("llc.dsap", SAP_OSINL3, osi_handle);
        dissector_add_uint("llc.dsap", SAP_OSINL4, osi_handle);
        dissector_add_uint("llc.dsap", SAP_OSINL5, osi_handle);
        dissector_add_uint("ppp.protocol", PPP_OSI, osi_handle);
        dissector_add_uint("chdlc.protocol", CHDLCTYPE_OSI, osi_handle);
        dissector_add_uint("null.type", BSD_AF_ISO, osi_handle);
        dissector_add_uint("gre.proto", SAP_OSINL5, osi_handle);
        dissector_add_uint("ip.proto", IP_PROTO_ISOIP, osi_handle); /* ISO network layer PDUs [RFC 1070] */

        osi_juniper_handle = create_dissector_handle(dissect_osi_juniper, proto_osi);
        dissector_add_uint("juniper.proto", JUNIPER_PROTO_ISO, osi_juniper_handle);
        dissector_add_uint("juniper.proto", JUNIPER_PROTO_CLNP, osi_juniper_handle);
        dissector_add_uint("juniper.proto", JUNIPER_PROTO_MPLS_CLNP, osi_juniper_handle);

        data_handle = find_dissector("data");
        ppp_handle  = find_dissector("ppp");


        osi_tpkt_handle = create_dissector_handle(dissect_osi_tpkt, proto_osi);
        dissector_add_for_decode_as("tcp.port", osi_tpkt_handle);
        osi_prefs_initialized = TRUE;
    } else {
        if (tcp_port_osi_over_tpkt != 0) {
            dissector_delete_uint("tcp.port", tcp_port_osi_over_tpkt, osi_tpkt_handle);
        }
    }

    if (global_tcp_port_osi_over_tpkt != 0) {
        dissector_add_uint("tcp.port", global_tcp_port_osi_over_tpkt, osi_tpkt_handle);
    }
    tcp_port_osi_over_tpkt = global_tcp_port_osi_over_tpkt;
}
void
proto_reg_handoff_nsip(void) {
  static gboolean nsip_prefs_initialized = FALSE;
  static range_t *nsip_udp_port_range;

  if (!nsip_prefs_initialized) {
    nsip_handle = find_dissector("gprs_ns");
    bssgp_handle = find_dissector("bssgp");
    nsip_prefs_initialized = TRUE;
  } else {
    range_foreach(nsip_udp_port_range, range_delete_callback);
    g_free(nsip_udp_port_range);
  }

  nsip_udp_port_range = range_copy(global_nsip_udp_port_range);

  range_foreach(nsip_udp_port_range, range_add_callback);

}
Exemple #10
0
void
proto_reg_handoff_udld(void)
{
    dissector_handle_t udld_handle;

    data_handle = find_dissector("data");
    udld_handle = create_dissector_handle(dissect_udld, proto_udld);
    dissector_add_uint("llc.cisco_pid", 0x0111, udld_handle);
    dissector_add_uint("chdlc.protocol", 0x0111, udld_handle);
}
void
proto_reg_handoff_brdwlk(void)
{
    dissector_handle_t brdwlk_handle;

    brdwlk_handle = create_dissector_handle(dissect_brdwlk, proto_brdwlk);
    dissector_add_uint("ethertype", ETHERTYPE_BRDWALK, brdwlk_handle);
    dissector_add_uint("ethertype", 0xABCD, brdwlk_handle);
    fc_dissector_handle = find_dissector("fc");
}
Exemple #12
0
/* If this dissector uses sub-dissector registration add a registration routine.
   This format is required because a script is used to find these routines and
   create the code that calls these routines.
*/
void
proto_reg_handoff_ipfc (void)
{
    dissector_handle_t ipfc_handle;

    ipfc_handle = create_dissector_handle (dissect_ipfc, proto_ipfc);
    dissector_add_uint("wtap_encap", WTAP_ENCAP_IP_OVER_FC, ipfc_handle);

    llc_handle = find_dissector ("llc");
}
Exemple #13
0
void
proto_reg_handoff_vxlan(void)
{
    dissector_handle_t vxlan_handle;

    eth_handle = find_dissector("eth");

    vxlan_handle = create_dissector_handle(dissect_vxlan, proto_vxlan);
    dissector_add_handle("udp.port", vxlan_handle);  /* For 'Decode As' */
}
void
proto_reg_handoff_msdp(void)
{
        dissector_handle_t msdp_handle;

        msdp_handle = create_dissector_handle(dissect_msdp, proto_msdp);
        dissector_add_uint("tcp.port", 639, msdp_handle);

        ip_handle = find_dissector("ip");
}
void
proto_reg_handoff_fcfcs (void)
{
    dissector_handle_t fcs_handle;

    fcs_handle = create_dissector_handle (dissect_fcfcs, proto_fcfcs);

    dissector_add_uint("fcct.server", FCCT_GSRVR_FCS, fcs_handle);

    data_handle = find_dissector ("data");
}
Exemple #16
0
/* If this dissector uses sub-dissector registration add a registration routine.
   This format is required because a script is used to find these routines and
   create the code that calls these routines.
*/
void
proto_reg_handoff_docsis_bpkmattr (void)
{
#if 0
  dissector_handle_t docsis_bpkmattr_handle;

  docsis_bpkmattr_handle = find_dissector ("docsis_bpkmattr");
  dissector_add_uint ("docsis", 0xFE, docsis_bpkmattr_handle);
#endif

}
void
proto_reg_handoff_ax25_kiss(void)
{
	dissector_handle_t kiss_handle;

	kiss_handle = create_dissector_handle( dissect_ax25_kiss, proto_ax25_kiss );
	dissector_add_uint( "wtap_encap", WTAP_ENCAP_AX25_KISS, kiss_handle );

	/* only currently implemented for AX.25 */
	ax25_handle = find_dissector( "ax25" );
}
void
proto_reg_handoff_bthfp(void)
{
    dissector_handle_t bthfp_handle;

    bthfp_handle = find_dissector("bthfp");

    dissector_add_uint("btrfcomm.service", BTSDP_HFP_SERVICE_UUID, bthfp_handle);
    dissector_add_uint("btrfcomm.service", BTSDP_HFP_GW_SERVICE_UUID, bthfp_handle);
    dissector_add_handle("btrfcomm.channel", bthfp_handle);
}
void
proto_reg_handoff_netmon_802_11(void)
{
  dissector_handle_t netmon_802_11_handle;

  /* handle for 802.11+radio information dissector */
  ieee80211_radio_handle = find_dissector("wlan_radio");
  netmon_802_11_handle = new_create_dissector_handle(dissect_netmon_802_11,
                                                 proto_netmon_802_11);
  dissector_add_uint("wtap_encap", WTAP_ENCAP_IEEE_802_11_NETMON, netmon_802_11_handle);
}
/*--- proto_reg_handoff_rrc ---------------------------------------*/
void
proto_reg_handoff_rrc(void)
{

	gsm_a_dtap_handle = find_dissector("gsm_a_dtap");
	rrc_pcch_handle = find_dissector("rrc.pcch");
	rrc_ul_ccch_handle = find_dissector("rrc.ul.ccch");
	rrc_dl_ccch_handle = find_dissector("rrc.dl.ccch");
	rrc_ul_dcch_handle = find_dissector("rrc.ul.dcch");
	rrc_dl_dcch_handle = find_dissector("rrc.dl.dcch");
	rrc_ue_radio_access_cap_info_handle = find_dissector("rrc.ue_radio_access_cap_info");
	rrc_dl_dcch_handle = find_dissector("rrc.dl.dcch");
}
Exemple #21
0
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);
	}

}
/*--- proto_reg_handoff_nbap ---------------------------------------*/
void
proto_reg_handoff_nbap(void)
{
	dissector_handle_t nbap_handle;

	nbap_handle = find_dissector("nbap");
	/*dissector_add("sctp.ppi",  Add ppid here, nbap_handle); */
	dissector_add_handle("sctp.port", nbap_handle);  /* for "decode-as" */

#include "packet-nbap-dis-tab.c"
}
Exemple #23
0
void
proto_reg_handoff_erspan(void)
{
	dissector_handle_t erspan_handle;

        ethnofcs_handle = find_dissector("eth_withoutfcs");

	erspan_handle = create_dissector_handle(dissect_erspan, proto_erspan);
        dissector_add("gre.proto", GRE_ERSPAN, erspan_handle);

}
void
proto_reg_handoff_tte_pcf(void)
{
    dissector_handle_t tte_pcf_handle;

    /* initialize the pcf handle */
    tte_pcf_handle = find_dissector("tte_pcf");

    dissector_add_uint("ethertype", ETHERTYPE_TTE_PCF, tte_pcf_handle);

}
void
proto_reg_handoff_idp(void)
{
	dissector_handle_t idp_handle;

	idp_handle = create_dissector_handle(dissect_idp, proto_idp);
	dissector_add_uint("ethertype", ETHERTYPE_XNS_IDP, idp_handle);
    dissector_add_uint("chdlc.protocol", ETHERTYPE_XNS_IDP, idp_handle);

	data_handle = find_dissector("data");
}
Exemple #26
0
void
proto_reg_handoff_loop(void)
{
  dissector_handle_t loop_handle;

  loop_handle = create_dissector_handle(dissect_loop, proto_loop);

  dissector_add_uint("ethertype", ETHERTYPE_LOOP, loop_handle);

  data_handle = find_dissector("data");
}
Exemple #27
0
void
proto_reg_handoff_btobex(void)
{
    dissector_handle_t btobex_handle;

    btobex_handle = find_dissector("btobex");

    /* register in rfcomm and l2cap the profiles/services this dissector should handle */
    dissector_add_uint("btrfcomm.service", BTSDP_OPP_SERVICE_UUID,            btobex_handle);
    dissector_add_uint("btrfcomm.service", BTSDP_FTP_SERVICE_UUID,            btobex_handle);
    dissector_add_uint("btrfcomm.service", BTSDP_BPP_SERVICE_UUID,            btobex_handle);
    dissector_add_uint("btrfcomm.service", BTSDP_BPP_STATUS_SERVICE_UUID,     btobex_handle);
    dissector_add_uint("btrfcomm.service", BTSDP_BIP_SERVICE_UUID,            btobex_handle);
    dissector_add_uint("btrfcomm.service", BTSDP_BIP_RESPONDER_SERVICE_UUID,  btobex_handle);
    dissector_add_uint("btrfcomm.service", BTSDP_BIP_AUTO_ARCH_SERVICE_UUID,  btobex_handle);
    dissector_add_uint("btrfcomm.service", BTSDP_BIP_REF_OBJ_SERVICE_UUID,    btobex_handle);
    dissector_add_uint("btrfcomm.service", BTSDP_PBAP_PCE_SERVICE_UUID,       btobex_handle);
    dissector_add_uint("btrfcomm.service", BTSDP_PBAP_PSE_SERVICE_UUID,       btobex_handle);
    dissector_add_uint("btrfcomm.service", BTSDP_PBAP_SERVICE_UUID,           btobex_handle);
    dissector_add_uint("btrfcomm.service", BTSDP_MAP_SERVICE_UUID,            btobex_handle);
    dissector_add_uint("btrfcomm.service", BTSDP_MAP_ACCESS_SRV_SERVICE_UUID, btobex_handle);
    dissector_add_uint("btrfcomm.service", BTSDP_MAP_NOIYFY_SRV_SERVICE_UUID, btobex_handle);

    dissector_add_uint("btl2cap.service",  BTSDP_OPP_SERVICE_UUID,            btobex_handle);
    dissector_add_uint("btl2cap.service",  BTSDP_FTP_SERVICE_UUID,            btobex_handle);
    dissector_add_uint("btl2cap.service",  BTSDP_BPP_SERVICE_UUID,            btobex_handle);
    dissector_add_uint("btl2cap.service",  BTSDP_BPP_STATUS_SERVICE_UUID,     btobex_handle);
    dissector_add_uint("btl2cap.service",  BTSDP_BIP_SERVICE_UUID,            btobex_handle);
    dissector_add_uint("btl2cap.service",  BTSDP_BIP_RESPONDER_SERVICE_UUID,  btobex_handle);
    dissector_add_uint("btl2cap.service",  BTSDP_BIP_AUTO_ARCH_SERVICE_UUID,  btobex_handle);
    dissector_add_uint("btl2cap.service",  BTSDP_BIP_REF_OBJ_SERVICE_UUID,    btobex_handle);
    dissector_add_uint("btl2cap.service",  BTSDP_PBAP_PCE_SERVICE_UUID,       btobex_handle);
    dissector_add_uint("btl2cap.service",  BTSDP_PBAP_PSE_SERVICE_UUID,       btobex_handle);
    dissector_add_uint("btl2cap.service",  BTSDP_PBAP_SERVICE_UUID,           btobex_handle);
    dissector_add_uint("btl2cap.service",  BTSDP_MAP_SERVICE_UUID,            btobex_handle);
    dissector_add_uint("btl2cap.service",  BTSDP_MAP_ACCESS_SRV_SERVICE_UUID, btobex_handle);
    dissector_add_uint("btl2cap.service",  BTSDP_MAP_NOIYFY_SRV_SERVICE_UUID, btobex_handle);

    xml_handle  = find_dissector("xml");
    data_handle = find_dissector("data");
}
/*--- proto_reg_handoff_dop --- */
void proto_reg_handoff_dop(void) {
  dissector_handle_t dop_handle;

#include "packet-dop-dis-tab.c" 
  /* APPLICATION CONTEXT */

  oid_add_from_string("id-ac-directory-operational-binding-management","2.5.3.3");

  /* ABSTRACT SYNTAXES */
    
  /* Register DOP with ROS (with no use of RTSE) */
  dop_handle = find_dissector("dop");
  register_ros_oid_dissector_handle("2.5.9.4", dop_handle, 0, "id-as-directory-operational-binding-management", FALSE); 

  /* BINDING TYPES */

  oid_add_from_string("shadow-agreement","2.5.19.1");
  oid_add_from_string("hierarchical-agreement","2.5.19.2");
  oid_add_from_string("non-specific-hierarchical-agreement","2.5.19.3");

  /* ACCESS CONTROL SCHEMES */
  oid_add_from_string("basic-ACS","2.5.28.1");
  oid_add_from_string("simplified-ACS","2.5.28.2");
  oid_add_from_string("ruleBased-ACS","2.5.28.3");
  oid_add_from_string("ruleAndBasic-ACS","2.5.28.4");
  oid_add_from_string("ruleAndSimple-ACS","2.5.28.5");

  /* ADMINISTRATIVE ROLES */
  oid_add_from_string("id-ar-autonomousArea","2.5.23.1");
  oid_add_from_string("id-ar-accessControlSpecificArea","2.5.23.2");
  oid_add_from_string("id-ar-accessControlInnerArea","2.5.23.3");
  oid_add_from_string("id-ar-subschemaAdminSpecificArea","2.5.23.4");
  oid_add_from_string("id-ar-collectiveAttributeSpecificArea","2.5.23.5");
  oid_add_from_string("id-ar-collectiveAttributeInnerArea","2.5.23.6");
  oid_add_from_string("id-ar-contextDefaultSpecificArea","2.5.23.7");
  oid_add_from_string("id-ar-serviceSpecificArea","2.5.23.8");

  /* remember the tpkt handler for change in preferences */
  tpkt_handle = find_dissector("tpkt");

}
/*--- proto_reg_handoff_p1 --- */
void proto_reg_handoff_p1(void) {
  dissector_handle_t p1_handle;

#include "packet-p1-dis-tab.c"

  /* APPLICATION CONTEXT */

  oid_add_from_string("id-ac-mts-transfer","2.6.0.1.6");

  /* ABSTRACT SYNTAXES */

  p1_handle = find_dissector("p1");
  register_rtse_oid_dissector_handle("2.6.0.2.12", p1_handle, 0, "id-as-mta-rtse", TRUE);
  register_rtse_oid_dissector_handle("2.6.0.2.7", p1_handle, 0, "id-as-mtse", FALSE);

  register_rtse_oid_dissector_handle("applicationProtocol.1", p1_handle, 0, "mts-transfer-protocol-1984", FALSE);
  register_rtse_oid_dissector_handle("applicationProtocol.12", p1_handle, 0, "mta-transfer-protocol", FALSE);

  /* remember the tpkt handler for change in preferences */
  tpkt_handle = find_dissector("tpkt");

  /* APPLICATION CONTEXT */

  oid_add_from_string("id-ac-mts-access-88", id_ac_mts_access_88);
  oid_add_from_string("id-ac-mts-forced-access-88", id_ac_mts_forced_access_88);
  oid_add_from_string("id-ac-mts-access-94", id_ac_mts_access_94);
  oid_add_from_string("id-ac-mts-forced-access-94", id_ac_mts_forced_access_94);


  /* Register P3 with ROS */
  register_ros_protocol_info(id_as_msse, &p3_ros_info, 0, "id-as-msse", FALSE);

  register_ros_protocol_info(id_as_mdse_88, &p3_ros_info, 0, "id-as-mdse-88", FALSE);
  register_ros_protocol_info(id_as_mdse_94, &p3_ros_info, 0, "id-as-mdse-94", FALSE);

  register_ros_protocol_info(id_as_mase_88, &p3_ros_info, 0, "id-as-mase-88", FALSE);
  register_ros_protocol_info(id_as_mase_94, &p3_ros_info, 0, "id-as-mase-94", FALSE);

  register_ros_protocol_info(id_as_mts, &p3_ros_info, 0, "id-as-mts", FALSE);

}
void proto_reg_handoff_ns(void)
{
	dissector_handle_t nstrace_handle;

	eth_withoutfcs_handle = find_dissector("eth_withoutfcs");

	nstrace_handle = create_dissector_handle(dissect_nstrace, proto_nstrace);
	dissector_add_uint("wtap_encap", WTAP_ENCAP_NSTRACE_1_0, nstrace_handle);
	dissector_add_uint("wtap_encap", WTAP_ENCAP_NSTRACE_2_0, nstrace_handle);
	dissector_add_uint("wtap_encap", WTAP_ENCAP_NSTRACE_3_0, nstrace_handle);
	dissector_add_uint("wtap_encap", WTAP_ENCAP_NSTRACE_3_5, nstrace_handle);
}