私は、Netfilterフックを使ってTCPヘッダー情報の一部を変更するカーネルモジュールを作成しています。送信する前に、チェックサムを再計算します。
また、受信側でヘッダーを編集するので、そこでも再計算する必要があります。TCPチェックサムの計算方法
オンラインで検索すると、私は単純に0に設定すると、計算されてしまいます。明らかに動作しませんでした。誰もが、これはどのように使われるかについて説明していない、と私は実際には同じ方法で送信/受信でそれを使用できるかどうかけれども
私もこの機能
tcp_v4_send_check(struct sock *sk, struct sk_buff *skb);
を見つけました。
私自身の試みは、チェックサムを0に設定して、私が持っているskbと私が持っているskb-> skを渡してこの関数を呼び出すことでした。
したがって、TCPデータグラムのチェックサムを計算する簡単な方法は何ですか。
何をあなたは0に設定されなかったし、どこでチェックサムを見つけることを期待しましたか?コードを調べるには、tcp_hdr(skb) - > checkを0に設定してから関数を呼び出し、その後に新しいチェックサムがそこにあるはずです。 – BjoernD
それはまさに私がやったことですが、モジュールをロードするとすべてのTCP接続が単純に機能しませんでした。 – Fingolfin
質問に 'C'タグを付け加えるべきでしょう。 Btw、http://www.winpcap.org/pipermail/winpcap-users/2007-July/001984.htmlをご覧ください。 – Jite