From e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 10 Apr 2024 22:34:10 +0200 Subject: Adding upstream version 4.2.2. Signed-off-by: Daniel Baumann --- test/util_dump_dhcp_pcap.py | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100755 test/util_dump_dhcp_pcap.py (limited to 'test/util_dump_dhcp_pcap.py') diff --git a/test/util_dump_dhcp_pcap.py b/test/util_dump_dhcp_pcap.py new file mode 100755 index 00000000..28b38237 --- /dev/null +++ b/test/util_dump_dhcp_pcap.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python3 +# +# Wireshark tests +# By Gerald Combs +# +# Ported from a set of Bash scripts which were copyright 2005 Ulf Lamping +# +# SPDX-License-Identifier: GPL-2.0-or-later +# +'''Write captures/dhcp.pcap to stdout, optionally writing only packet records or writing them slowly.''' + +import argparse +import os +import os.path +import time +import sys + +def main(): + parser = argparse.ArgumentParser(description='Dump dhcp.pcap') + parser.add_argument('dump_type', choices=['cat', 'cat100', 'slow', 'raw'], + help='cat: Just dump the file. cat100: Dump 100 packet records. slow: Dump the file, pause, and dump its packet records. raw: Dump only the packet records.') + args = parser.parse_args() + + dhcp_pcap = os.path.join(os.path.dirname(__file__), 'captures', 'dhcp.pcap') + + dhcp_fd = open(dhcp_pcap, 'rb') + contents = dhcp_fd.read() + if args.dump_type != 'raw': + os.write(1, contents) + if args.dump_type == 'cat100': + # The capture contains 4 packets. Write 96 more. + for _ in range(24): + os.write(1, contents[24:]) + if args.dump_type.startswith('cat'): + sys.exit(0) + if args.dump_type == 'slow': + time.sleep(1.5) + # slow, raw + os.write(1, contents[24:]) + + sys.exit(0) + +if __name__ == '__main__': + main() + -- cgit v1.2.3