|
Wireshark 4.5.0
The Wireshark network protocol analyzer
|
Go to the source code of this file.
Classes | |
| struct | _conversation_hash_t |
| struct | _conversation_key_t |
| struct | endpoint_key_t |
| struct | _ct_dissector_info |
| struct | _et_dissector_info |
| struct | _conversation_extension_tcp_t |
| struct | _conversation_item_t |
| struct | _endpoint_item_t |
Macros | |
| #define | CONV_FILTER_INVALID "INVALID" |
| #define | ENDPOINT_TAP_PREFIX "endpoints" |
Typedefs | |
| typedef struct _conversation_hash_t | conv_hash_t |
| typedef struct _conversation_key_t | conv_key_t |
| typedef endpoint_key_t | host_key_t |
| typedef const char *(* | conv_get_filter_type) (struct _conversation_item_t *item, conv_filter_type_e filter) |
| typedef struct _ct_dissector_info | ct_dissector_info_t |
| typedef const char *(* | endpoint_get_filter_type) (struct _endpoint_item_t *item, conv_filter_type_e filter_type) |
| typedef struct _et_dissector_info | et_dissector_info_t |
| typedef et_dissector_info_t | hostlist_dissector_info_t |
| typedef void(* | conv_gui_init_cb) (struct register_ct *ct, const char *filter) |
| typedef void(* | endpoint_gui_init_cb) (struct register_ct *ct, const char *filter) |
| typedef struct register_ct | register_ct_t |
| typedef struct _conversation_extension_tcp_t | conv_extension_tcp_t |
| typedef struct _conversation_item_t | conv_item_t |
| typedef struct _endpoint_item_t | endpoint_item_t |
| typedef endpoint_item_t | hostlist_talker_t |
Functions | |
| WS_DLL_PUBLIC void | register_conversation_table (const int proto_id, bool hide_ports, tap_packet_cb conv_packet_func, tap_packet_cb endpoint_packet_func) |
| WS_DLL_PUBLIC bool | get_conversation_hide_ports (register_ct_t *ct) |
| WS_DLL_PUBLIC int | get_conversation_proto_id (register_ct_t *ct) |
| WS_DLL_PUBLIC tap_packet_cb | get_conversation_packet_func (register_ct_t *ct) |
| WS_DLL_PUBLIC tap_packet_cb | get_endpoint_packet_func (register_ct_t *ct) |
| WS_DLL_PUBLIC tap_packet_cb | get_hostlist_packet_func (register_ct_t *ct) |
| WS_DLL_PUBLIC register_ct_t * | get_conversation_by_proto_id (int proto_id) |
| WS_DLL_PUBLIC void | conversation_table_set_gui_info (conv_gui_init_cb init_cb) |
| WS_DLL_PUBLIC void | endpoint_table_set_gui_info (endpoint_gui_init_cb init_cb) |
| WS_DLL_PUBLIC void | hostlist_table_set_gui_info (endpoint_gui_init_cb init_cb) |
| WS_DLL_PUBLIC void | conversation_table_iterate_tables (wmem_foreach_func func, void *user_data) |
| WS_DLL_PUBLIC unsigned | conversation_table_get_num (void) |
| WS_DLL_PUBLIC void | reset_conversation_table_data (conv_hash_t *ch) |
| WS_DLL_PUBLIC void | reset_endpoint_table_data (conv_hash_t *ch) |
| WS_DLL_PUBLIC void | reset_hostlist_table_data (conv_hash_t *ch) |
| WS_DLL_PUBLIC void | dissector_conversation_init (const char *opt_arg, void *userdata) |
| WS_DLL_PUBLIC void | dissector_endpoint_init (const char *opt_arg, void *userdata) |
| WS_DLL_PUBLIC void | dissector_hostlist_init (const char *opt_arg, void *userdata) |
| WS_DLL_PUBLIC char * | get_conversation_address (wmem_allocator_t *allocator, address *addr, bool resolve_names) |
| WS_DLL_PUBLIC char * | get_conversation_port (wmem_allocator_t *allocator, uint32_t port, conversation_type ctype, bool resolve_names) |
| WS_DLL_PUBLIC char * | get_endpoint_port (wmem_allocator_t *allocator, endpoint_item_t *item, bool resolve_names) |
| WS_DLL_PUBLIC char * | get_conversation_filter (conv_item_t *conv_item, conv_direction_e direction) |
| WS_DLL_PUBLIC char * | get_endpoint_filter (endpoint_item_t *endpoint_item) |
| WS_DLL_PUBLIC char * | get_hostlist_filter (endpoint_item_t *endpoint_item) |
| WS_DLL_PUBLIC void | add_conversation_table_data (conv_hash_t *ch, const address *src, const address *dst, uint32_t src_port, uint32_t dst_port, int num_frames, int num_bytes, nstime_t *ts, nstime_t *abs_ts, ct_dissector_info_t *ct_info, conversation_type ctype) |
| WS_DLL_PUBLIC conv_item_t * | add_conversation_table_data_with_conv_id (conv_hash_t *ch, const address *src, const address *dst, uint32_t src_port, uint32_t dst_port, conv_id_t conv_id, int num_frames, int num_bytes, nstime_t *ts, nstime_t *abs_ts, ct_dissector_info_t *ct_info, conversation_type ctype) |
| WS_DLL_PUBLIC void | add_conversation_table_data_extended (conv_hash_t *ch, const address *src, const address *dst, uint32_t src_port, uint32_t dst_port, conv_id_t conv_id, int num_frames, int num_bytes, nstime_t *ts, nstime_t *abs_ts, ct_dissector_info_t *ct_info, conversation_type ctype, uint32_t frameid, int(*proto_conv_cb)(conversation_t *)) |
| WS_DLL_PUBLIC void | add_conversation_table_data_ipv4_subnet (conv_hash_t *ch, const address *src, const address *dst, uint32_t src_port, uint32_t dst_port, conv_id_t conv_id, int num_frames, int num_bytes, nstime_t *ts, nstime_t *abs_ts, ct_dissector_info_t *ct_info, conversation_type ctype) |
| WS_DLL_PUBLIC void | add_endpoint_table_data (conv_hash_t *ch, const address *addr, uint32_t port, bool sender, int num_frames, int num_bytes, et_dissector_info_t *et_info, endpoint_type etype) |
| WS_DLL_PUBLIC void | add_endpoint_table_data_ipv4_subnet (conv_hash_t *ch, const address *addr, uint32_t port, bool sender, int num_frames, int num_bytes, et_dissector_info_t *et_info, endpoint_type etype) |
| WS_DLL_PUBLIC void | add_hostlist_table_data (conv_hash_t *ch, const address *addr, uint32_t port, bool sender, int num_frames, int num_bytes, et_dissector_info_t *et_info, endpoint_type etype) |
Conversation definitions.
| typedef struct _conversation_extension_tcp_t conv_extension_tcp_t |
Conversation extension for TCP
| typedef struct _conversation_hash_t conv_hash_t |
Conversation hash + value storage Hash table keys are conv_key_t. Hash table values are indexes into conv_array.
| typedef struct _conversation_item_t conv_item_t |
Conversation list information
| typedef struct _conversation_key_t conv_key_t |
Key for hash lookups
| typedef struct _endpoint_item_t endpoint_item_t |
Endpoint information
| typedef struct register_ct register_ct_t |
Structure for information about a registered conversation table; this information is for both the conversation table and any endpoint table associated with it.
| WS_DLL_PUBLIC void add_conversation_table_data | ( | conv_hash_t * | ch, |
| const address * | src, | ||
| const address * | dst, | ||
| uint32_t | src_port, | ||
| uint32_t | dst_port, | ||
| int | num_frames, | ||
| int | num_bytes, | ||
| nstime_t * | ts, | ||
| nstime_t * | abs_ts, | ||
| ct_dissector_info_t * | ct_info, | ||
| conversation_type | ctype | ||
| ) |
Add some data to the conversation table.
| ch | the table to add the data to |
| src | source address |
| dst | destination address |
| src_port | source port |
| dst_port | destination port |
| num_frames | number of packets |
| num_bytes | number of bytes |
| ts | timestamp |
| abs_ts | absolute timestamp |
| ct_info | callback handlers from the dissector |
| ctype | the conversation type (e.g. CONVERSATION_TCP) |
| WS_DLL_PUBLIC void add_conversation_table_data_extended | ( | conv_hash_t * | ch, |
| const address * | src, | ||
| const address * | dst, | ||
| uint32_t | src_port, | ||
| uint32_t | dst_port, | ||
| conv_id_t | conv_id, | ||
| int | num_frames, | ||
| int | num_bytes, | ||
| nstime_t * | ts, | ||
| nstime_t * | abs_ts, | ||
| ct_dissector_info_t * | ct_info, | ||
| conversation_type | ctype, | ||
| uint32_t | frameid, | ||
| int(*)(conversation_t *) | proto_conv_cb | ||
| ) |
Decorates add_conversation_table_data_with_conv_id() in order to be able to add protocol dependent additional statistics.
| WS_DLL_PUBLIC void add_conversation_table_data_ipv4_subnet | ( | conv_hash_t * | ch, |
| const address * | src, | ||
| const address * | dst, | ||
| uint32_t | src_port, | ||
| uint32_t | dst_port, | ||
| conv_id_t | conv_id, | ||
| int | num_frames, | ||
| int | num_bytes, | ||
| nstime_t * | ts, | ||
| nstime_t * | abs_ts, | ||
| ct_dissector_info_t * | ct_info, | ||
| conversation_type | ctype | ||
| ) |
Encapsulates add_conversation_table_data_with_conv_id() for the IPv4 specific case when the subnet aggregation user preference is true.
| WS_DLL_PUBLIC conv_item_t * add_conversation_table_data_with_conv_id | ( | conv_hash_t * | ch, |
| const address * | src, | ||
| const address * | dst, | ||
| uint32_t | src_port, | ||
| uint32_t | dst_port, | ||
| conv_id_t | conv_id, | ||
| int | num_frames, | ||
| int | num_bytes, | ||
| nstime_t * | ts, | ||
| nstime_t * | abs_ts, | ||
| ct_dissector_info_t * | ct_info, | ||
| conversation_type | ctype | ||
| ) |
Add some data to the conversation table, passing a value to be used in addition to the address and port quadruple to uniquely identify the conversation.
| ch | the table to add the data to |
| src | source address |
| dst | destination address |
| src_port | source port |
| dst_port | destination port |
| num_frames | number of packets |
| num_bytes | number of bytes |
| ts | timestamp |
| abs_ts | absolute timestamp |
| ct_info | callback handlers from the dissector |
| ctype | the conversation type (e.g. CONVERSATION_TCP) |
| conv_id | a value to help differentiate the conversation in case the address and port quadruple is not sufficiently unique |
| WS_DLL_PUBLIC void add_endpoint_table_data | ( | conv_hash_t * | ch, |
| const address * | addr, | ||
| uint32_t | port, | ||
| bool | sender, | ||
| int | num_frames, | ||
| int | num_bytes, | ||
| et_dissector_info_t * | et_info, | ||
| endpoint_type | etype | ||
| ) |
Add some data to the endpoint table.
| ch | the table hash to add the data to |
| addr | address |
| port | port |
| sender | true, if this is a sender |
| num_frames | number of packets |
| num_bytes | number of bytes |
| et_info | endpoint information provided by dissector |
| etype | the endpoint type (e.g. ENDPOINT_TCP) |
| WS_DLL_PUBLIC void add_endpoint_table_data_ipv4_subnet | ( | conv_hash_t * | ch, |
| const address * | addr, | ||
| uint32_t | port, | ||
| bool | sender, | ||
| int | num_frames, | ||
| int | num_bytes, | ||
| et_dissector_info_t * | et_info, | ||
| endpoint_type | etype | ||
| ) |
Encapsulates add_endpoint_table_data() for the IPv4 specific case when the subnet aggregation user preference is true.
| WS_DLL_PUBLIC unsigned conversation_table_get_num | ( | void | ) |
Total number of conversation tables
| WS_DLL_PUBLIC void conversation_table_iterate_tables | ( | wmem_foreach_func | func, |
| void * | user_data | ||
| ) |
Iterator to walk conversation tables and execute func
| func | action to be performed on all conversation tables |
| user_data | any data needed to help perform function |
| WS_DLL_PUBLIC void conversation_table_set_gui_info | ( | conv_gui_init_cb | init_cb | ) |
Register "initialization function" used by the GUI to create conversation table display in GUI
| init_cb | callback function that will be called when conversation table "display is instantiated in GUI |
| WS_DLL_PUBLIC void dissector_conversation_init | ( | const char * | opt_arg, |
| void * | userdata | ||
| ) |
Initialize dissector conversation for stats and (possibly) GUI.
| opt_arg | filter string to compare with dissector |
| userdata | register_ct_t* for dissector conversation table |
| WS_DLL_PUBLIC void dissector_endpoint_init | ( | const char * | opt_arg, |
| void * | userdata | ||
| ) |
Initialize dissector endpoint for stats and (possibly) GUI.
| opt_arg | filter string to compare with dissector |
| userdata | register_ct_t* for dissector conversation table |
| WS_DLL_PUBLIC void endpoint_table_set_gui_info | ( | endpoint_gui_init_cb | init_cb | ) |
Register "initialization function" used by the GUI to create endpoint table display in GUI
| init_cb | callback function that will be called when endpoint table "display" is instantiated in GUI |
| WS_DLL_PUBLIC char * get_conversation_address | ( | wmem_allocator_t * | allocator, |
| address * | addr, | ||
| bool | resolve_names | ||
| ) |
Get the string representation of an address.
| allocator | The wmem allocator to use when allocating the string |
| addr | The address. |
| resolve_names | Enable name resolution. |
| WS_DLL_PUBLIC register_ct_t * get_conversation_by_proto_id | ( | int | proto_id | ) |
get conversation table from protocol ID
| proto_id | protocol ID |
get conversation from protocol ID
| proto_id | protocol ID |
| WS_DLL_PUBLIC char * get_conversation_filter | ( | conv_item_t * | conv_item, |
| conv_direction_e | direction | ||
| ) |
Get a display filter for the given conversation and direction.
| conv_item | The conversation. |
| direction | The desired direction. |
| WS_DLL_PUBLIC bool get_conversation_hide_ports | ( | register_ct_t * | ct | ) |
Should port columns be hidden?
| ct | Registered conversation table |
| WS_DLL_PUBLIC tap_packet_cb get_conversation_packet_func | ( | register_ct_t * | ct | ) |
Get conversation tap function handler of a conversation table
| ct | Registered conversation table |
| WS_DLL_PUBLIC char * get_conversation_port | ( | wmem_allocator_t * | allocator, |
| uint32_t | port, | ||
| conversation_type | ctype, | ||
| bool | resolve_names | ||
| ) |
Get the string representation of a port.
| allocator | The wmem allocator to use when allocating the string |
| port | The port number. |
| ctype | The conversation type. |
| resolve_names | Enable name resolution. |
XXX - this should really be a port type, as we just supply a port.
| WS_DLL_PUBLIC int get_conversation_proto_id | ( | register_ct_t * | ct | ) |
Get protocol ID of a conversation table
| ct | Registered conversation table |
| WS_DLL_PUBLIC char * get_endpoint_filter | ( | endpoint_item_t * | endpoint_item | ) |
Get a display filter for the given endpoint.
| endpoint_item | The endpoint. |
| WS_DLL_PUBLIC tap_packet_cb get_endpoint_packet_func | ( | register_ct_t * | ct | ) |
Get endpoint tap function handler for a conversation table
| ct | Registered conversation table |
| WS_DLL_PUBLIC char * get_endpoint_port | ( | wmem_allocator_t * | allocator, |
| endpoint_item_t * | item, | ||
| bool | resolve_names | ||
| ) |
Get the string representation of the port for an endpoint_item_t.
| allocator | The wmem allocator to use when allocating the string |
| item | Pointer to the endpoint_item_t |
| resolve_names | Enable name resolution. |
XXX - this should really be a port type, as we just supply a port.
| WS_DLL_PUBLIC void register_conversation_table | ( | const int | proto_id, |
| bool | hide_ports, | ||
| tap_packet_cb | conv_packet_func, | ||
| tap_packet_cb | endpoint_packet_func | ||
| ) |
Register the conversation table for the conversation and endpoint windows.
| proto_id | is the protocol with conversation |
| hide_ports | hide the port columns |
| conv_packet_func | the registered conversation tap name |
| endpoint_packet_func | the registered endpoint tap name |
| WS_DLL_PUBLIC void reset_conversation_table_data | ( | conv_hash_t * | ch | ) |
Remove all entries from the conversation table.
| ch | the table to reset |
| WS_DLL_PUBLIC void reset_endpoint_table_data | ( | conv_hash_t * | ch | ) |
Remove all entries from the endpoint table.
| ch | the table to reset |