* `count` : Number of packets to be sent
"""
- data = binascii.a2b_hex(packet)
+ try:
+ data = binascii.a2b_hex(packet)
+ except binascii.Error:
+ print("Invalid packet format. Please provide a hexadecimal-encoded string.")
+ sys.exit(1)
+
p = Raw(load=data)
p.show()
- sendp(p, inter=int(interval), iface=iface, count=int(count))
+ try:
+ sendp(p, inter=int(interval), iface=iface, count=int(count))
+ except ValueError:
+ print("Invalid interval or count value. Please provide integers.")
+ sys.exit(1)
+ except Exception as error:
+ print(f"Error sending packet: {error}")
+ sys.exit(1)
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Send BSR Raw packet")
parser.add_argument("packet", help="Packet in raw format")
- parser.add_argument("iface", help="Packet send to this ineterface")
+ parser.add_argument("iface", help="Packet send to this interface")
parser.add_argument("--interval", help="Interval between packets", default=0)
parser.add_argument(
"--count", help="Number of times packet is sent repetitively", default=0
args = parser.parse_args()
if not args.packet or not args.iface:
+ print("Please provide both a packet and an interface.")
sys.exit(1)
send_packet(args.packet, args.iface, args.interval, args.count)