40 lines
1.9 KiB
Python
40 lines
1.9 KiB
Python
import pandas as pd
|
|
|
|
'''
|
|
IMPORTANT: Remove leading spaces from columns in csv file or pandas won't read
|
|
it correctly.
|
|
'''
|
|
|
|
df_proto = pd.read_csv('csv/team13_protocol.csv', index_col=0).fillna(0)
|
|
df_all = pd.read_csv('csv/team13_monthly.csv', index_col=0).fillna(0)
|
|
|
|
# Calculate percentage of packets with 1 (ICMP), 6 (TCP) or 17 (UDP) protocols
|
|
packets_percentage_proto = ((df_proto['6 · # Packets'].sum() +
|
|
df_proto['17 · # Packets'].sum() +
|
|
df_proto['1 · # Packets'].sum()) /
|
|
df_all['#packets'].sum()) * 100
|
|
|
|
# Calculate ratio of packets from all other protocols
|
|
packets_percentage_others = 100 - packets_percentage_proto
|
|
print('Percentage of "others" from all protocols: ', round(packets_percentage_others, 2))
|
|
|
|
# Calculate percentage of unique source IPs with 1 (ICMP), 6 (TCP) or 17 (UDP) protocols
|
|
uIPs_percentage_proto = ((df_proto['6 · # Unique Source IPs'].sum() +
|
|
df_proto['17 · # Unique Source IPs'].sum() +
|
|
df_proto['1 · # Unique Source IPs'].sum()) /
|
|
df_all['#unique_IP_sources'].sum()) * 100
|
|
|
|
# Calculate ratio of unique source IPs from all other protocols
|
|
uIPs_percentage_others = 100 - uIPs_percentage_proto
|
|
print('Percentage of "others" from all protocols: ', round(uIPs_percentage_others, 1))
|
|
|
|
# Calculate percentage of unique destination IPs with 1 (ICMP), 6 (TCP) or 17 (UDP) protocols
|
|
uIPd_percentage_proto = ((df_proto['6 · # Unique Destination IPs'].sum() +
|
|
df_proto['17 · # Unique Destination IPs'].sum() +
|
|
df_proto['1 · # Unique Destination IPs'].sum()) /
|
|
df_all['#unique_IP_destinations'].sum()) * 100
|
|
|
|
# Calculate ratio of unique destination IPs from all other protocols
|
|
uIPd_percentage_others = 100 - uIPd_percentage_proto
|
|
print('Percentage of "others" from all protocols: ', round(uIPd_percentage_others, 1))
|