import socket import sys import net_params net = net_params.LocalNetwork() interface = net.get_default_interface() ethernet_frame = bytearray([ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, # Destination MAC (broadcast) 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, # Source MAC 0x12, 0x34, # Custom EtherType (0x1234) # Payload (just some test data) 0xde, 0xad, 0xbe, 0xef # Example payload ]) # 00:11:22:33:44:55 def send_raw_frame(): with socket.socket(socket.AF_PACKET, socket.SOCK_RAW) as raw_socket: print(raw_socket) print(f"Binding to interface: {interface}") raw_socket.bind((interface, socket.ETH_P_ALL)) print("Sending raw packet") bytes_send = raw_socket.send(ethernet_frame) print(f"Send {bytes_send} bytes to the interface") def main(): send_raw_frame() if __name__ == '__main__': main()