summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorToni Uhlig <matzeton@googlemail.com>2023-11-09 23:18:55 +0100
committerToni Uhlig <matzeton@googlemail.com>2023-11-09 23:44:35 +0100
commit8ebaccc27d779e981b500e80b69f62396dcaa0ca (patch)
tree62993474d9ea00d23c579a649ab048fd2a8e76e6 /examples
parentdcb595e16153caa1600b64adea6af20009ea8419 (diff)
py-flow-info: Improved analyse result printing.1.6rc4
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
Diffstat (limited to 'examples')
-rwxr-xr-xexamples/py-flow-info/flow-info.py43
1 files changed, 28 insertions, 15 deletions
diff --git a/examples/py-flow-info/flow-info.py b/examples/py-flow-info/flow-info.py
index 57a74db36..f905231e4 100755
--- a/examples/py-flow-info/flow-info.py
+++ b/examples/py-flow-info/flow-info.py
@@ -257,6 +257,12 @@ def onFlowCleanup(instance, current_flow, global_user_data):
return True
+def limitFloatValue(value, fmt, limit):
+ if float(value) < float(limit) and float(value) > 0.0:
+ return '<' + str(fmt).format(limit)
+ else:
+ return ' ' + str(fmt).format(value)
+
def onJsonLineRecvd(json_dict, instance, current_flow, global_user_data):
stats = global_user_data
stats.update(json_dict, current_flow)
@@ -417,24 +423,31 @@ def onJsonLineRecvd(json_dict, instance, current_flow, global_user_data):
flow_event_name += '{}{:>16}{}'.format(TermColor.WARNING,
json_dict['flow_event_name'], TermColor.END)
if args.print_analyse_results is True:
- next_lines = [' {:>9}|{:>9}|{:>9}|{:>9}|{:>15}|{:>8}'.format(
+ next_lines = [' {:>10}|{:>10}|{:>10}|{:>10}|{:>17}|{:>9}'.format(
'min', 'max', 'avg', 'stddev', 'variance', 'entropy')]
- next_lines += ['[IAT.........: {:>9.3f}|{:>9.3f}|{:>9.3f}|{:>9.3f}|{:>15.3f}|{:>8.3f}]'.format(
- nDPIsrvd.toSeconds(json_dict['data_analysis']['iat']['min']),
- nDPIsrvd.toSeconds(json_dict['data_analysis']['iat']['max']),
- nDPIsrvd.toSeconds(json_dict['data_analysis']['iat']['avg']),
- nDPIsrvd.toSeconds(json_dict['data_analysis']['iat']['stddev']),
- nDPIsrvd.toSeconds(json_dict['data_analysis']['iat']['var']),
- json_dict['data_analysis']['iat']['ent']
+ next_lines += ['[IAT.........: {}|{}|{}|{}|{}|{}]'.format(
+ limitFloatValue(nDPIsrvd.toSeconds(json_dict['data_analysis']['iat']['min']),
+ '{:>9.3f}', 0.001),
+ limitFloatValue(nDPIsrvd.toSeconds(json_dict['data_analysis']['iat']['max']),
+ '{:>9.3f}', 0.001),
+ limitFloatValue(nDPIsrvd.toSeconds(json_dict['data_analysis']['iat']['avg']),
+ '{:>9.3f}', 0.001),
+ limitFloatValue(nDPIsrvd.toSeconds(json_dict['data_analysis']['iat']['stddev']),
+ '{:>9.3f}', 0.001),
+ limitFloatValue(nDPIsrvd.toSeconds(json_dict['data_analysis']['iat']['var']),
+ '{:>16.3f}', 0.001),
+ limitFloatValue(json_dict['data_analysis']['iat']['ent'],
+ '{:>8.3f}', 0.001)
)]
next_lines += ['']
- next_lines[-1] += '[PKTLEN......: {:>9.3f}|{:>9.3f}|{:>9.3f}|{:>9.3f}|{:>15.3f}|{:>8.3f}]'.format(
- json_dict['data_analysis']['pktlen']['min'],
- json_dict['data_analysis']['pktlen']['max'],
- json_dict['data_analysis']['pktlen']['avg'],
- json_dict['data_analysis']['pktlen']['stddev'],
- json_dict['data_analysis']['pktlen']['var'],
- json_dict['data_analysis']['pktlen']['ent']
+ next_lines[-1] += '[PKTLEN......: {}|{}|{}|{}|{}|{}]'.format(
+ limitFloatValue(json_dict['data_analysis']['pktlen']['min'], '{:>9.3f}', 0.001),
+ limitFloatValue(json_dict['data_analysis']['pktlen']['max'], '{:>9.3f}', 0.001),
+ limitFloatValue(json_dict['data_analysis']['pktlen']['avg'], '{:>9.3f}', 0.001),
+ limitFloatValue(json_dict['data_analysis']['pktlen']['stddev'],
+ '{:>9.3f}', 0.001),
+ limitFloatValue(json_dict['data_analysis']['pktlen']['var'], '{:>16.3f}', 0.001),
+ limitFloatValue(json_dict['data_analysis']['pktlen']['ent'], '{:>8.3f}', 0.001)
)
next_lines += ['']
next_lines[-1] += '[BINS(c->s)..: {}]'.format(','.join([str(n) for n in json_dict['data_analysis']['bins']['c_to_s']]))