Wireshark解剖器不使用TCP或UDP端口
问题描述:
我一直在寻找一些教程来编写我自己的解剖器为CPL-G3。
然而,所有我发现的是,使用TCP或UDP端口,这样的解剖:Wireshark解剖器不使用TCP或UDP端口
dissector_add (“tcp.port”, 250, myprot_handle);
是否有使用另一种传输协议的方式,而不是TCP?
答
有没有办法使用另一个传输协议,而不是TCP?
我认为你的意思是说运输协议,但没错,这是可能的。
例如,Wireshark的DNS dissector注册UDP,TCP和SCTP。
void
proto_reg_handoff_dns(void)
{
dissector_handle_t mdns_udp_handle;
dissector_handle_t llmnr_udp_handle;
mdns_udp_handle = create_dissector_handle(dissect_mdns_udp, proto_mdns);
llmnr_udp_handle = create_dissector_handle(dissect_llmnr_udp, proto_llmnr);
dissector_add_uint_with_preference("udp.port", UDP_PORT_MDNS, mdns_udp_handle);
dissector_add_uint_with_preference("udp.port", UDP_PORT_LLMNR, llmnr_udp_handle);
dissector_add_uint("sctp.port", SCTP_PORT_DNS, dns_handle);
#if 0
dissector_add_uint("sctp.ppi", DNS_PAYLOAD_PROTOCOL_ID, dns_handle);
#endif
stats_tree_register("dns", "dns", "DNS", 0, dns_stats_tree_packet, dns_stats_tree_init, NULL);
gssapi_handle = find_dissector_add_dependency("gssapi", proto_dns);
ntlmssp_handle = find_dissector_add_dependency("ntlmssp", proto_dns);
ssl_dissector_add(TCP_PORT_DNS_TLS, dns_handle);
dtls_dissector_add(UDP_PORT_DNS_DTLS, dns_handle);
dissector_add_uint_range_with_preference("tcp.port", DEFAULT_DNS_TCP_PORT_RANGE, dns_handle);
dissector_add_uint_range_with_preference("udp.port", DEFAULT_DNS_PORT_RANGE, dns_handle);
}
在这个Wireshark源代码中还有很多其他的例子。
我认为需要首先回答的问题是:CPL-G3究竟运行哪些数据/网络/传输协议? CPL-G3与IEEE 1901相关吗?我注意到Wireshark解析器可以用于homeplug和homeplug-av,它显然是通过以太网运行的。这些协议是否与CPL-G3有关? – willyo
他有些犹豫,转向IEEE 802.15.4 –
您是否有捕获文件包含CPL-G3数据包?你可以在任何地方分享它(保管箱等)? – willyo