電子書籍の厳選無料作品が豊富!

OS「fedora 5」、言語「C」で、ソケットプログラミングを使い、3ウェイハンドシェイクの流れ

<3ウェイハンドシェイク>
クライアント     サーバ
 syn    →→→
       ←←← syn/ack
 ack    →→→


これを


クライアント     サーバ 
 syn     →→→
        ←←←  rst
        ←←←  syn
syn/ack   →→→
        ←←←  ack

の流れにしようと考えています。
参考書を読んだり、ソケットプログラムのことについて調べたのですが、お手上げ状態です。

コントロールフラグの変更の仕方はどうやるのでしょうか?
また理論上は3ウェイハンドシェイクを変えることきているのですが、実際は流れ自体変える事は不可能なことなのでしょうか?

A 回答 (3件)

なにをしたいのかさっぱり意味不明ですが、



> クライアント     サーバ
>  syn     →→→
>         ←←←  rst

SYN を送ってきたクライアントにいきなり RST を送り返したら、セッションがクローズするのはご存知なんですよね?クローズしたセッションに SYN を送りつけてもなにも起こらないのは自明ですから、こういうプログラムは動作しないはずです。
仕様どおりに動いていないクライアントを攻撃したい、ということであれば、それはご自由ですけど。

> 参考書を読んだり、ソケットプログラムのことについて調べたのですが

それは、参考書が悪いんでしょうし、調べ方が悪いのでしょう。
少なくとも、私の手元にある本にはプログラムのしかたも、サンプルプログラムも、TCP の仕様もちゃんと書いてあります。(だから、わざわざ調べて回答できるわけで) 当然、今回質問されている手順は TCP の標準手順ではないので、「普通に」プログラムしたのでは作ることができませんが、ちゃんとした本にはそういう場合のこともちゃんと書いてあるものです。このあたりの仕様は 20年以上も変わってないので、「いい本」を見つけられるよう努力してください。

> 実際は流れ自体変える事は不可能なことなのでしょうか?

とりあえず、質問する前に RFC ぐらいは目を通しましょう。これなら本を買うお金がなくてもなんとかなるでしょ。
    • good
    • 0

root になって RAW Packet は出せましたか?


少なくとも syn flood 攻撃プログラムは作れないと第一歩が。
    • good
    • 0

私が回答できるわけではないのですが、


どうしてそのようなことをなさりたいのでしょうか?
さしつかえなければ、その理由を教えていただけませんでしょうか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!