void server_stats(SERVER_STATS *ssp, int dumpall) { unsigned total, fail, success, nodes, anr, overhead, memcap; memcap = overhead = nodes = anr = total = fail = success = 0; if(ssp && ssp->ipv4_table) { total = sfxhash_find_total(ssp->ipv4_table); fail = sfxhash_find_fail(ssp->ipv4_table); success = sfxhash_find_success(ssp->ipv4_table); nodes = sfxhash_count(ssp->ipv4_table); anr = sfxhash_anr_count(ssp->ipv4_table); memcap = server_stats_memcap(ssp); overhead = server_stats_overhead_bytes(ssp); } flow_printf(",-----[SERVER STATS]------------\n"); flow_printf(" Memcap: %u Overhead Bytes: %u\n", memcap, overhead); flow_printf(" Finds: %u (Sucessful: %u(%%%lf) Unsucessful: %u(%%%lf))\n", total, success, calc_percent(success,total), fail, calc_percent(fail,total)); flow_printf(" Nodes: %u\n", nodes); flow_printf(" Recovered Nodes: %u\n", anr); flow_printf("`-------------------------------\n"); if(dumpall) server_stats_dump(ssp); }
/** * Display what the underlying tidbits think the config is * * @param trackerp grab the configuration info from the portscan tracker */ static void FlowPSOutputConfig(PS_TRACKER *trackerp) { if(pv.quiet_flag) return; flow_printf(",-----------[flow-portscan config]-------------\n"); flow_printf("| TCP Penalties: %s\n", trackerp->config.tcp_penalties ? "On": "Off"); flow_printf("| Ouput Mode: %s\n", (trackerp->config.output_mode == VARIABLEMSG) ? "msg" : "pktkludge"); flow_printf("| Base Score: %d\n", trackerp->config.base_score); flow_printf("+----------------------------------------------\n"); flow_printf("| Scoreboard: ACTIVE PORTSCANNER\n"); flow_printf("| memcap: %-8d %-8d\n", scoreboard_memcap(&trackerp->table_active), scoreboard_memcap(&trackerp->table_scanner)); flow_printf("| rows: %-8d %-8d\n", scoreboard_row_count(&trackerp->table_active), scoreboard_row_count(&trackerp->table_scanner)); flow_printf("| overhead: %-8d(%%%.02lf) %-8d(%%%.02lf)\n", scoreboard_overhead_bytes(&trackerp->table_active), calc_percent(scoreboard_overhead_bytes(&trackerp->table_active), scoreboard_memcap(&trackerp->table_active)), scoreboard_overhead_bytes(&trackerp->table_scanner), calc_percent(scoreboard_overhead_bytes(&trackerp->table_scanner), scoreboard_memcap(&trackerp->table_scanner))); flow_printf("| fixed-size: %-4ds %-4ds\n", trackerp->config.limit_talker.fixed_size, trackerp->config.limit_scanner.fixed_size); flow_printf("| sliding-size: %-4ds %-4ds\n", trackerp->config.limit_talker.sliding_size, trackerp->config.limit_scanner.sliding_size); flow_printf("| threshold-fixed: %-4u %-4u\n", trackerp->config.limit_talker.fixed, trackerp->config.limit_scanner.fixed); flow_printf("| threshold-sliding: %-4u %-4u\n", trackerp->config.limit_talker.sliding, trackerp->config.limit_scanner.sliding); flow_printf("| window scale: %-.2lf %-.2lf\n", trackerp->config.limit_talker.window_scale, trackerp->config.limit_scanner.window_scale); flow_printf("+----------------------------------------------\n"); flow_printf("| Uniqueness: memcap: %8d rows: %8d\n", ut_memcap(&trackerp->unique_tracker), ut_row_count(&trackerp->unique_tracker)); flow_printf("| overhead: %d (%%%.02lf)\n", ut_overhead_bytes(&trackerp->unique_tracker), calc_percent(ut_overhead_bytes(&trackerp->unique_tracker), ut_memcap(&trackerp->unique_tracker))); if(flowps_server_stats_enabled(trackerp) == FLOW_SUCCESS) { flow_printf("+----------------------------------------------\n"); flow_printf("| Server Stats: memcap: %8d rows: %8d\n", server_stats_memcap(&trackerp->server_stats), server_stats_row_count(&trackerp->server_stats)); flow_printf("| overhead: %d (%%%.02lf)\n", server_stats_overhead_bytes(&trackerp->server_stats), calc_percent(server_stats_overhead_bytes(&trackerp->server_stats), server_stats_memcap(&trackerp->server_stats))); flow_printf("| learning time: %d\n", trackerp->config.server_learning_time); flow_printf("| ignore limit: %u\n", trackerp->config.server_ignore_limit); flow_printf("| scanner limit: %u\n", trackerp->config.server_scanner_limit); } else { flow_printf("| Server Stats: Disabled\n"); } flow_printf("`----------------------------------------------\n"); }