Raw Ethernet Frame

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Martinus
User
Beiträge: 1
Registriert: Samstag 23. Mai 2020, 10:44

Hallo,

ich möchte gerne definierbares Ethernet - Packet an eine MAC - Adresse schicken.
Ich nutze Windows und habe bisher folgenden Code:

Code: Alles auswählen

import socket
import struct
import psutil

sock = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.htons(0x0800))

sock.bind(("eth0", socket.htons(0x0800)))

#Mac-Address
eth_packet = struct.pack("!6s6s2s", '\xaa\xaa\xaa\xaa\xaa\xaa', '\xbb\xbb\xbb\xbb\xbb\xbb', '\x08\x00')

#getNicNames
address = psutil.net_if_addrs()
print(address.keys())

sock.sendto(eth_packet + "Test")
Leider bekomme ich folgenden Error: OSError: [WinError 10013] Der Zugriff auf einen Socket war aufgrund der Zugriffsrechte des Sockets unzulässig.

Ich würde das Ethernet packet gerne an eine gewissen Mac-Adresse schicken. Hätte jemand eine Idee, wie man nachweisen könnte, dass das packet auch angekommen ist?
Antworten