From b3ee3a350651577f9ce3c7f93ec2387caf4cdeb8 Mon Sep 17 00:00:00 2001 From: Salad Dais Date: Mon, 8 Jan 2024 00:03:45 +0000 Subject: [PATCH] Add packet stats addon example --- addon_examples/packet_stats.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 addon_examples/packet_stats.py diff --git a/addon_examples/packet_stats.py b/addon_examples/packet_stats.py new file mode 100644 index 0000000..fe6b2d2 --- /dev/null +++ b/addon_examples/packet_stats.py @@ -0,0 +1,21 @@ +import collections + +from hippolyzer.lib.base.message.message import Message +from hippolyzer.lib.proxy.addon_utils import BaseAddon, GlobalProperty +from hippolyzer.lib.proxy.commands import handle_command +from hippolyzer.lib.proxy.region import ProxiedRegion +from hippolyzer.lib.proxy.sessions import Session + + +class PacketStatsAddon(BaseAddon): + packet_stats: collections.Counter = GlobalProperty(collections.Counter) + + def handle_lludp_message(self, session: Session, region: ProxiedRegion, message: Message): + self.packet_stats[message.name] += 1 + + @handle_command() + async def print_packet_stats(self, _session: Session, _region: ProxiedRegion): + print(self.packet_stats.most_common(10)) + + +addons = [PacketStatsAddon()]