1
유형 필드에 쓰여진 데이터 길이의 원시 이더넷 프레임을 보내려고합니다. 유효한 이더넷 프레임이어야합니다. 이에 대한 내 코드는 다음과 같습니다.유형 필드에 데이터 필드 길이가있는 원시 이더넷 패킷을 보냅니다.
ethData = "foobar"
proto =len(ethData)
if proto < 46:
proto = 46
soc = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, proto)
soc.bind((iface, proto))
어떤 이유로 든 반대쪽에는 패키지를 읽을 수 없습니다. 이유가 궁금합니다. 내 무선 드라이버의 인터럽트 처리기에서이 패키지를 가져 오려고하므로이 패킷을 내 하드웨어에서 직접 삭제해야하거나 전혀 보내지 않아야합니다. 문제는 그 이유입니다.
Windows 또는 비 Win 플랫폼에서만 필요합니까? –