上の16進数の並びのうち、チェックサム「d257」が含まれていますね?それを「0000」に置換したものがこちら。d28800506b16338000000000800216d000000000020405b40101040201030300TCPを作るOSにとっては、これがチェックサム作成前の状態です。シーケンス番号やポート番号などはすでにそろった上で、最後にチェックサムが作成されるのです。疑似ヘッダはTCPヘッダのマネをすることかのように聞こえますが、IPヘッダの情報を使って独自の形式でヘッダを作ってしまうことです。実際のIPヘッダとは長さ/内容が違います。Streamして、情報を取得していきます。06そしてTCPヘッダ長+TCPデータ長を算出します。この例ではSYNパケットでありデータはないのでヘッダ長のみ取り出します。ここが一番ハマりポイントです。32バイトを16進数で表現すると“8”です。80」の中の最後の“8”です。Wiresharkなどは便宜上1バイトごとに区切るため16進数2文字セットになっているので、“80”にも見えますが、実は1バイトではなく4ビット長の値なので、左側の“8”しか使わないということです。TCPヘッダのサイズを32ビットワード単位で表す」です。8×4バイト(32ビット)である32バイト、がTCPヘッダ長だということです。ここから32バイトを16進数で表現するため、32を10進数→16進数変換して“20”になります。いうことで、疑似ヘッダをようやく組み合わせる段階です。0020つなげると、0a00001e0a00006400060020となり、疑似ヘッダ完成です。d28800506b16338000000000800216d000000000020405b40101040201030300これらをつなげて0a00001e0a00006400060020d28800506b16338000000000800216d000000000020405b40101040201030300となります。挿入して、計算機に流し込めるようにします。0300これをマウスで選択しコピーし、Windowsのスタートボタン→すべてのプログラム→アクセサリ→電卓で計算機ソフトを開きます。(イコール)」を押します。22DA6という結果が返ってくるはずです。このうち右側4ケタ「2DA6」と左側の5桁目以降を足します。2これを電卓にコピペしてイコールを押すと、2DA8と出ます。これのxorを取ります。ffffということですが、電卓には2DA8をコピペ、xor押下、ffffをコピペ、イコール押下です。すると、「D257」が出ます。disabled]と同じになりますね。受信側であればチェックサムの位置に入っている値と、今作った値が一致しているか確認します。今作った値に置き換えると、d28800506b16338000000000800216d0d2570000020405b40101040201030300となり、これを送信します。新アプリ「仕立てCG」v1。アクセの組み合わせをCGで表示ITエンジニアから着物屋さんへ。名前を記憶しておくコメント:Hiro元ネットワーク機器ベンダのエンジニア。今はフリーのエンジニア。ネットで着物屋さんも始めました。新アプリ「仕立てCG」v1。アクセの組み合わせをCGで表示ITエンジニアから着物屋さんへ。あなたはどこ見ていますか?書籍「誰でも身につく!暗算力」を読んでみた。未成年者略取ムチャか?男気か?部下も立て続けに。利用規約ITmediaはアイティメディア株式会社の登録商標です。