- ベストアンサー
3ウェイハンドシェイクの流れを変える方法
- OS「fedora 5」、言語「C」で3ウェイハンドシェイクの流れを変える方法について学びたい
- 3ウェイハンドシェイクの流れを制御フラグを変更することで変えることは可能だが、具体的な方法を知りたい
- 参考書やソケットプログラミングについての調査を行っても、3ウェイハンドシェイクの流れを変える方法についての情報が見つからない
- みんなの回答 (3)
- 専門家の回答
関連するQ&A
- WiresharkのFlow Graph
現在WiresharkのFlow Graphという機能を使用して、クライアント端末がサーバー端末へのTCP通信での3ウェイハンドシェイクのパケットやりとりを観測したいと思っています。 次のようなパケットをモニターしました。 |Time | 192.168.1.111 | | | | 192.168.1.222 | |6.402 | PSH, ACK - Len: 1212 |Seq = 1 Ack = 1 | |(6057) ------------------> (5000) | |6.606 | PSH, ACK - Len: 1212 |Seq = 1 Ack = 1 | |(6057) ------------------> (5000) | |6.835 | PSH, ACK - Len: 1212 |Seq = 1 Ack = 1213 | |(6057) <------------------ (5000) | |7.039 | ACK | |Seq = 1213 Ack = 1213 | |(6057) ------------------> (5000) | |7.150 | ACK | |Seq = 1213 Ack = 1213 このパケットのやりとりを観ていて思ったのですが、TCP通信は3ウェイハンドシェイクは SYN--->SYN ACK---> ACK という順序でのパケットのやりとりをクライアントとサーバー間で行うと思っていたのですが、 PSH, ACK ----> PSH, ACK ----> ACK ----> ACK このような順序になっているように思うのですが、これはなぜなのかご教授頂けないでしょうか? どうぞ、よろしくお願い致します。
- ベストアンサー
- ネットワーク
- 通信フローの数をsyn,ack,rst等のフラグで区別できるツールご存知ないですか。
こんにちは。 RubyもPHPもPerlも使わず、C言語でパケットデータを測量したいと考えています。目的はsynフラグが立っているパケットデータを含む通信フローの数のみの取得です。ackやrstの立っているパケットデータは数えないで、synフラグのみの通信フローを取得したいと考えています。 このような通信フローの数を数えてくれるツールをご存知でしたら教えて頂けないでしょうか。 環境はCentosです。どうぞよろしくお願いします。
- 締切済み
- C・C++・C#
- windowsでSYN/ACKを返すプログラム
以下の現象が発生して、大変困っております。 <現象> クライアントからhttpsアクセスをしようとして、 ブラウザに「ページが表示できません」エラーとなることがある。 <調査状況> クライアント、OS上でWireSharkを仕掛けて、TCPの通信をキャッチしたところ、 問題が発生した通信は「SYN」がOSまでは来ているが、 「SYN/ACK」が返ってきていない。 <環境> サーバ:windows2003server,Apache クライアントOS:WindowsXP <質問内容> クライアントからの「SYN」要求に対して、「SYN/ACK」を返すのは、具体的に何が返しているのでしょうか。 (windowsのソケットプログラム?) また、その調査方法があれば教えて頂けないでしょうか。 よろしくお願い致します。
- 締切済み
- ネットワーク
- httpsのページがIE 7で表示できません
httpsのページがIE 7で表示できません。 表示できないページは、apache version 2.2系で自分で建てたサーバーです。 オレオレ証明書に使ったopensslのversionは0.9.8e, private keyの鍵長は、 1024でも2048でもだめでした。 また、mozilla firefox 3.0では同様に証明書の警告が出ますが、 例外設定をすることで表示されることを確認しています。 IE 7の現象としては、 "この Web サイトのセキュリティ証明書には問題があります。" - (A) と警告が出て、閲覧を続行すると "Internet Explorer ではこのページは表示できません" - (B) といわれます。 このとき、wiresharkでパケットのダンプを見てみると、 (A), (B)の通信が両方とも以下のようなシーケンスになっていました。 1, client -> server : tcp syn 2, server -> client : syn, ack 3, client -> server : syn 4, client -> server : client hello 5, server -> client : server hello, change cipher spec, Encrypted Handshake message 6, client -> server : change cipher spec, encrypted handshake message 7, client -> server : FIN ACK 8, server -> client : ACK 9, server -> client : encrypted alert 10, server -> client : FIN ACK 11, client -> server : RST ACK [ client: IE 7 ], [ server: apache22 ] 7の段階でIEからFIN ACKを送っているためページを表示できないのだと思うのですが、 なぜFIN ACKをおくっているのかが分かりません。 問題を解決したいのですが、はまってしまって困っています。 プロトコル・原因の調査方法等々、何か知っていることがありましたらご教授ください。 よろしくお願いいたします。
- ベストアンサー
- ネットワーク
- ソケット通信の送受信遅延-02 その後
前回のNo.1031658 「ソケット通信の送受信遅延」に追加させてもらいます その後、プロトコルアナライザで現状調査を行い以下の現象を確認しました ◇正常時 サーバがメッセージ送信 TCPヘッダ内フラグ ACK:1, PSH:1 + 送信データあり ↓ 0.2msec前後で クライアントが 返信 TCPヘッダ内フラグ ACK:1, PSH:1 + 返信データあり ↓ 10msecで サーバが送信 TCPヘッダ内フラグ ACK:1, PSH:1 + 送信データあり ↓ 0.2msec前後で クライアントが 返信 TCPヘッダ内フラグ ACK:1, PSH:1 + 返信データあり ↓ 以下繰り返り ◇不具合時 サーバがメッセージ送信 TCPヘッダ内フラグ ACK:1, PSH:1 + 送信データあり ↓ 0.2msec前後で クライアントが 返信 TCPヘッダ内フラグ ACK:1, PSH:1 + 返信データあり ↓ 10msecで サーバが送信 TCPヘッダ内フラグ ACK:1, PSH:1 + 送信データあり ↓ 約130msec前後で クライアントが 返信 TCPヘッダ内フラグ ACK:1, PSH:0 + 返信データなし ↓ 約250msec前後で クライアントが 返信 TCPヘッダ内フラグ ACK:1, PSH:1 + 返信データあり ↓ といった状況です どう解釈すれば良いのでしょうか 遅延の原因はソケットなのかそれ以外なのでしょうか?是非アドバイスをおねがいします。
- 締切済み
- C・C++・C#
- FINパケット、RSTパケットが返却される理由?
アパッチのヘルスチェックにて、パケットをみました。 シーケンス番号を追っていきましたが、下記のような 通常ではない動作がありました。 <ケース1> (1)サーバからのHTTPのGETに対して、クライアントがFIN.ACKパケットを返却する。 (2)サーバがFIN.ACKパケットをクライアントに送る。 (3)クライアントからRSTパケットが返却される。 ※RSTパケット内にて、broken tcpとの記載あり <ケース2> (1)サーバからのFIN.ACKパケットに対して、クライアントからRST.ACKパケットが返却される。 ・質問1 それぞれについて、正常な動作とはおもえないのですが、 異常でしょうか? ・質問2 FIN.ACKパケット又はRSTパケットが返却されるのはどんな場合が想定されるのでしょうか? ・質問3 FIN.ACKパケット→RST.ACKパケットは異常な動作でしょうか? よろしくお願いします。
- ベストアンサー
- その他(ITシステム運用・管理)
- HTTP コンテンツの要求
UNIX環境上でC言語を用いてプログラミングしているのですが、完全に詰まってしまいました。 実現したい動作は、クライアントがサーバーにURLを送ってコンテンツを要求するという至って単純なものです。 現在実装が済んでいるのは、クライアントとサーバーがソケット通信をして、例えば以下のような文字列をクライアントからサーバーに送信できるようになりました。(ホスト名は適当) GET /index.html HTTP/1.1 Host: www.host.jp: 8080 調べたところ、サーバーにこの要求を渡せば対応するコンテンツが返ってくる、らしきことが書いてあったのですが、クライアントもサーバーも同じコンピュータ内にあり、ソケットでクライアントとサーバーを接続しただけで全く関係のない場所にあるコンテンツを取得できるとは到底思えません。 一体どうすればコンテンツを取得できるのか、全くわかりません。初歩的な質問かと思いますが、分かる方教えてください。
- ベストアンサー
- C・C++・C#
- TCP/IPでRST(リセット)フラグのデータって?
TCP/IPのデータで質問です。 パソコンのサーバーと無線ハンディをTCP/IPで通信しています。サーバー側は無線ハンディからの要求に応えるプログラム(Visual Basic,Winsockコントロール使用)が起動されています。 このサーバーに無線ハンディ30台(もっと多いこともある)から,いっせいに接続要求を出すのですが,この接続に失敗するハンディがあったりします。 このときLAN上のデータを見てみると,パソコン側からRST(リセット)フラグ(強制切断)のデータが出ていました。どうやらこれが接続に失敗している原因のようなのです。 このRST(リセット)フラグのデータが出るのは,どう行ったときなのでしょうか? どういう理由でRST(リセット)フラグのデータが出るのでしょうか? ご存知の方,いらしゃいましたら教えていただけないでしょうか? よろしくお願い致します。
- 締切済み
- その他(インターネット接続・通信)
- c言語ネットワークプログラミングのAPIを乗せているwebページないですか?
現在私はC言語でソケット通信を使って サーバとクライアントでメッセージのやり取りをおこなってみたいと思っているのですが どのライブラリのどの関数を使って通信できるのか全くわかりません。 (例えば、readの返り値ってなにを返すんだろう?とか) できればunix上(SunOS)でのc言語ネットワークプログラミングに関する APIが乗っているURLを教えていただけないでしょうか?(できれば日本語のwebページがいいです。)
- ベストアンサー
- C・C++・C#
- TCPのsynとかっていつ・何回位するのでしょうか
ネットワークの勉強中の中年です。 入門編のTCP/IPですが、コネクション確立(syn→ack/syn→syn)などは 普通に手動で作業をする場合、いつ、何回位されるのでしょうか。 たとえばftpなどですが、 もちろん最初にクライアントからサーバーに接続する際にはとは思うのですか、 パスワードを送るたび、ファイルを送受信するたびに行うものなのでしょうか。 また、finを送るのは、byeでftpを閉じる時でしょうか。 パスワードの送信後とか、ファイルのやり取り後といったタイミングで 発生するのでしょうか。 それともパケットトレースで見るように1秒間に何十回というように されるものなのでしょうか。 挙動についていろいろ資料等があるのですが、 実際に使っているイメージではいつ何をしているかわからず… よろしくお願いいたします。
- ベストアンサー
- その他([技術者向] コンピューター)
- 現在、ESET インターネット セキュリティ 5台3年を利用していますが、更新が迫っており、1台1年に変更しようと思っています。
- 更新時には、シンプルに1台1年を新規購入手続きすれば良いです。
- ESETセキュリティソフトウェアシリーズについての製品変更に関して質問です。