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 |