フレームのイーサネット部分は変更しませんが、IPパケットとフレームのデータ部分を変更する必要があります。C#でRaw 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);
は私の質問:のSendToを使用して は、フレームのIP部分を追加して、私は、ソースIPを偽装したいとすることを望んでいません。エンドポイントを指定する必要があるため、「送信」を使用するとクラッシュします。何をすべきかに関する提案はありますか?パケットを送信し、IPセクションとデータセクションを自分で定義したいだけです。
注:いいえ私はDOS攻撃をしていないので、正当な使用のためにこれが必要です!
私はIP部分を定義する方法を知っています。実際に生成されたIP部分がない状態で実際にデータを送信することだけです。あなたの質問が非常によく、ここで回答され
[C#で生のイーサネットパケットを送信する方法は?](http://stackoverflow.com/questions/3964013/how-send-raw-ethernet-packet-with-c) – mafu
この質問は、テキストですが、答えはそこにあります - これはマージする必要があります。 – mafu