की गणना कैसे करें मैं एक कर्नेल मॉड्यूल लिख रहा हूं जो कुछ टीसीपी हेडर जानकारी को संशोधित करने के लिए नेटफिल्टर हुक का उपयोग करता है और जाहिर है, भेजने से पहले, मैं चेकसम की फिर से गणना करना चाहता हूं।
मैं प्राप्तकर्ता पक्ष में शीर्षलेख भी संपादित करता हूं, इसलिए मुझे इसे फिर से गणना करने की आवश्यकता है।टीसीपी चेकसम
ऑनलाइन खोजना, मुझे कुछ लोगों ने कहा कि मैं इसे आसानी से 0 पर सेट कर सकता हूं और इसकी गणना मेरे लिए की जाएगी, जाहिर है कि काम नहीं किया।
मैं हालांकि कोई भी स्पष्ट किया है कि यह कैसे किया जाता है, और क्या मैं वास्तव में/प्राप्त पर उपयोग कर सकते हैं उसी तरह भेजने के भी इस समारोह
tcp_v4_send_check(struct sock *sk, struct sk_buff *skb);
पाया है।
मेरा अपना प्रयास चेकसम को 0 पर सेट करना था, फिर इस फ़ंक्शन को मेरे पास स्कैब पास करना और skb-> sk मेरे पास है, अभी भी कुछ भी नहीं है।
तो कृपया, टीसीपी डेटाग्राम के चेकसम की गणना करने का एक सीधा तरीका क्या है?
वास्तव में क्या आप 0 पर सेट किया था और जहां चेकसम पाने की उम्मीद की थी? कोड को देखते हुए, आपको tcp_hdr (skb) सेट करना चाहिए -> 0 पर जांचें, फिर फ़ंक्शन को कॉल करें और उसके बाद नया चेकसम वहां होना चाहिए। – BjoernD
और यह वही है जो मैंने किया था, फिर भी जब मैंने मॉड्यूल लोड किया तो सभी टीसीपी कनेक्शन बस काम नहीं करते थे। – Fingolfin
आपको शायद प्रश्न में 'सी' टैग जोड़ना चाहिए। बीटीडब्ल्यू, http://www.winpcap.org/pipermail/winpcap-users/2007-July/001984.html – Jite