tshark tap
2023-11-18 12:48:23 21 举报
wireshark/tshark
作者其他创作
大纲/内容
添加到 tap 解析器链表
reset_tap_listeners
stats_tree
tap_reg_listener
tl->reset
proto_register_dns
dissect_record
dissect_run_with_taps
监听者回调
获取统计树 cfg
process_stat_cmd_arg
执行各tap listener 回调一般为监听者初始化接口
cfg->init
编译阶段生成,build 目录下
stats_tree_create_node
遍历数据包数组和监听者队列
tick_stat_node
创建统计数据
添加到数据包数组
遍历统计请求链表
epan
avg_stat_node_add_value_int
stats_requested
统计树回调
添加至统计命令参链表,保存了所有支持的统计选项
cfg->packet
stat_cmd_arg_list
获取统计数据
leave packe scope
注册tap
ui
注册tap监听者(实际为创建)
dns_stats_tree_packet
tap_packet_array
1. epan 初始化
dissect_dns
添加到统计请求链表保存了实际指定的选项
stats_tree_register
tap_listener_queue
init_stats_tree
tap_queue_packet
添加到 哈希表
tap 处理数据包
stats_tree_packet
register_tap
tl->packet回调
proto_reg_handoff_xxx
添加到监听者队列
draw
注册统计树
register_stat_tap_ui
packet
draw_tap_listeners
draw_stats_tree
注册解析器
执行统计
register_tap_listener
dissector(dns)
5. pcap文件处理(process_cap_file)
注册交接函函数
sca->func
reset
3. 命令行选项处理(-z)(创建tap 监听者)
格式化统计树
6. 绘制所有 tap 监听者
数据包入队
统计树创建节点
register_all_protocol_handoffs
dns_stats_tree_init
两者一致时时触发回调
build/tshark-tap-register.c
4. 开启请求的统计
epan_init
entry packet scope
2. 注册所有 tap 监听者
stats_tree_format_as_str
registry
注册所有tap监听者
tap_dissector_list
stats_tree_reset
register_all_protocols
register_all_tap_listeners
tap
7. 重置所有 tap 监听者
创建统计树
start_requested_stats
tap_queue_init
register_tap_listener_xxxx
tshark
tap_push_tapped_queue
find_tap_id
cfg->cleanup
stats_tree_new
tl->draw
0 条评论
下一页