Ich möchte die Ethernet-Teile des Rahmens nicht ändern, aber ich muss das IP-Paket und den Datenteil des Rahmens ändern.
Wenn ich versuche, einen unbearbeiteten Frame zu senden, werden immer noch die IP-Informationen eingefügt. Ich muss im Grunde einen Frame senden, ohne den Endpunkt zu definieren, außer in den Bits, die ich sende.
Hier ist das Ergebnis:
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);
Meine Frage: Mit SendTo wird der IP-Teil des Frames hinzugefügt, was ich nicht möchte, da ich die Quell-IP fälschen möchte. Mit "Send" wird abstürzen, weil es sagt, ich muss einen Endpunkt angeben. Irgendwelche Vorschläge, was zu tun ist? Ich möchte nur ein Paket senden und den IP-Teil und den Datenteil selbst definieren.
Hinweis: Nein, ich mache keinen DOS-Angriff, ich brauche das für einen legitimen Zweck!
Ich weiß, wie man den IP-Teil definiert, es geht nur darum, die Daten ohne einen generierten IP-Teil zu senden.