0

私のコードは、手動でハンドシェイクを確立しようとします。TCP次に、リソースを要求するデータ セグメントをHTTP GET.

ヘッダーを作成してパケットを送信するために raw ソケットを使用し、受信したパケット ヘッダーをチェックするために libpcap を使用しています。

が受信者にSYN正常に送信され、受信者からSYNACK. この時点でこれまでのところ動作していますが、それを受信するとSYNACK、それを試してからACK次に送信しますHTTP GETが、動作していないようです。Wireshark でヘッダーが正常であることを確認できます。

だから私の質問は次ACKのとおりです。SYNACK送信に使用したのと同じソケットを使用して受信するのと同じように、生のソケットを介して送信できますSYNか? OPTIONSそして、それを達成するためにヘッダーと一緒に行く必要はありますか?

に ACKSYNACKを送信し、その直後に を介してリソースを要求するためにACKとフラグを設定してセグメントを送信します。それらは両方ともwiresharkで見ることができますが、サーバーからの応答がありません。 PSHHTTP

4

1 に答える 1

0

raw ソケットを使用できない理由はありませんがACK、OS のカーネル スタックもSYNACK予期しない受信を確認し、RST. そうならないように何か対策はしていますか?そうしないと、正しい SEQ/ACK 番号を送信していない可能性があります。

于 2010-12-20T14:35:13.823 に答える