프레임의 이더넷 부분을 수정하고 싶지는 않지만 IP 패킷과 프레임의 데이터 부분을 수정해야합니다.C#으로 원시 IP 패킷 보내기, 이더넷 계층 위의 모든 것
원시 프레임을 보내려고 시도하지만 여전히 IP 정보를 넣습니다. 기본적으로 보내는 비트를 제외하고는 끝점을 정의하지 않고 프레임을 보내야합니다. 나는 싶지 않아, 사용의 SendTo 프레임의 IP 부분을 추가 나는 소스 IP 스푸핑 원하는 것을 :
여기에 내가 가진 무엇 :
Socket s = new Socket(AddressFamily.Unspecified, SocketType.Raw, ProtocolType.Raw);
EndPoint ep = new IPEndPoint(IPAddress.Parse("205.188.100.58"),80);
s.SendTo(GetBytes(""),ep); //im sending nothing, so i expect the frame to just have ethernet stuff
s.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.HeaderIncluded, false);
내 질문. "보내기"를 사용하면 끝점을 지정해야하기 때문에 충돌이 발생합니다. 무엇에 대한 제안? 패킷을 보내고 IP 섹션과 데이터 섹션을 직접 정의하려고합니다.
참고 : 아니오 나는 DOS 공격을하지 않고있어, 합법적 인 용도로이 기능이 필요합니다!
IP 부분을 정의하는 방법을 알고 있습니다. 실제로 IP 부분을 생성하지 않고 실제로 데이터를 보내는 문제입니다.
가능한 복제본 [C#으로 원시 이더넷 패킷을 보내는 방법] (http://stackoverflow.com/questions/3964013/how-send-raw-ethernet-packet-with-c) – mafu
이 질문은 매우 바람직합니다. 텍스트,하지만 거기에 답변은 -이 병합해야합니다. – mafu