# Copyright (c) 2010 Flowerfire, Inc. All Rights Reserved. microsoft_port_reporter = { info.1.manfacturer = "Microsoft" info.1.device = "Port Reporter" info.1.version.1 = "1.0.1" plugin_version = "2.0" # ????-??-?? - ??? - Initial implementation # 2008-11-20 - GMF - Added support for a new variant (three extra fields at the end: PID, module, and user context) # The name of the log format log.format.format_label = "Microsoft Port Reporter Log Format" log.miscellaneous.log_data_type = "firewall" log.miscellaneous.log_format_type = "proxy_server" # The log is in this format if any of the first ten lines match this regular expression log.format.autodetect_regular_expression = "^Port Reporter Version " log.format.autodetect_lines = 2 # Match each line of log data with this regular expression to extract field values # log.format.parsing_regular_expression = "^([0-9/]+),([0-9:]+),([^,]+),([0-9]+),([0-9.]+),([0-9]+),([0-9.]+)$" log.format.date_format = "y/m/d" log.format.time_format = "auto" log.parsing_filters.parse = ` if (matches_regular_expression(current_log_line(), "^([0-9/]+),([0-9:]+),([^,]+),([0-9]+),([0-9.]+),([0-9]+),([0-9.]+)$")) then ( date = $1; time = $2; protocol = $3; local_port = $4; local_ip_address = $5; remote_port = $6; remote_ip_address = $7; ); else if (matches_regular_expression(current_log_line(), "^([0-9/]+),([0-9:]+),([^,]+),([0-9]+),([0-9.]+),([0-9]+),([0-9.]+),([^,]+),([^,]+),([^,]+)$")) then ( date = $1; time = $2; protocol = $3; local_port = $4; local_ip_address = $5; remote_port = $6; remote_ip_address = $7; pid = $8; module = $9; user_context = $10; ); ` # Log fields log.fields = { date = { label = "$lang_stats.field_labels.date" type = "date" } time = { label = "$lang_stats.field_labels.time" type = "time" } protocol = { label = "$lang_stats.field_labels.protocol" type = "flat" } # protocol local_port = { label = "$lang_stats.field_labels.local_port" type = "flat" } # local_port local_ip_address = { label = "$lang_stats.field_labels.local_ip_address" type = "flat" } # local_ip_address remote_port = { label = "$lang_stats.field_labels.remote_port" type = "flat" } # remote_port remote_ip_address = { label = "$lang_stats.field_labels.remote_ip_address" type = "host" hierarchy_dividers = "" left_to_right = false leading_divider = "false" } # remote_ip_address pid = "" module = "" user_context = "" } # log.fields # Database fields database.fields = { date_time = { label = "$lang_stats.field_labels.date_time" log_field = "date_time" type = "string" suppress_top = 0 suppress_bottom = 3 display_format_type = "date_time" } # date_time day_of_week = { label = "$lang_stats.field_labels.day_of_week" log_field = "day_of_week" type = "string" suppress_top = 0 suppress_bottom = 2 display_format_type = "day_of_week" } # day_of_week hour_of_day = { label = "$lang_stats.field_labels.hour_of_day" log_field = "hour_of_day" type = "string" suppress_top = 0 suppress_bottom = 2 display_format_type = "hour_of_day" } # hour_of_day protocol = { label = "$lang_stats.field_labels.protocol" log_field = "protocol" type = "string" suppress_top = 0 suppress_bottom = 2 } # protocol local_port = { label = "$lang_stats.field_labels.local_port" log_field = "local_port" type = "string" suppress_top = 0 suppress_bottom = 2 } # local_port local_ip_address = { label = "$lang_stats.field_labels.local_ip_address" log_field = "local_ip_address" type = "string" suppress_top = 0 suppress_bottom = 2 } # local_ip_address remote_port = { label = "$lang_stats.field_labels.remote_port" log_field = "remote_port" type = "string" suppress_top = 0 suppress_bottom = 2 } # remote_port remote_ip_address = { label = "$lang_stats.field_labels.remote_ip_address" log_field = "remote_ip_address" type = "string" suppress_top = 0 suppress_bottom = 2 } # remote_ip_address pid = "" module = "" user_context = "" } # database.fields # Log Filters log.filters = { mark_entry = { label = '$lang_admin.log_filters.mark_entry_label' comment = '$lang_admin.log_filters.mark_entry_comment' value = 'entries = 1;' } # mark_entry } # log.filters database.numerical_fields = { entries = { label = "$lang_stats.field_labels.entries" default = true requires_log_field = false type = "int" display_format_type = "integer" entries_field = true } # entries } # database.numerical_fields create_profile_wizard_options = { # How the reports should be grouped in the report menu report_groups = { date_time_group = "" protocol = true local_port = true local_ip_address = true remote_port = true remote_ip_address = true pid = true module = true user_context = true } # report_groups } # create_profile_wizard_options } # microsoft_port_reporter