iptables खिड़की के आकार को प्राप्त करने के लिए नियम से मेल खाते हैं?


2

मुझे पैकेट के साथ कोई विकल्प सेट करने और / या विशिष्ट विंडो प्राप्त करने के लिए आकार सेट करने के लिए एक नियम की आवश्यकता है:

IP (tos 0x0, ttl 66, id 9000, ऑफसेट 0, झंडे [कोई नहीं], प्रोटो टीसीपी (6), लंबाई 40) yyyy11111> xxxxhttp: झंडे [S], cksum xx425 (सही), seq 1729214256, 715, लंबाई 7 जीत। 0

इसलिए इस पैकेट ने 715, झंडे [कोई भी] नहीं जीता -> मैं ऐसे पैकेटों का मिलान कैसे कर सकता था?


क्या आप किसी अन्य विकल्प पर विचार कर रहे हैं, उदाहरण के लिए: स्नॉर्ट?
क्वांटा

जवाबों:


5

उत्तर के लिए धन्यवाद, लेकिन मुझे लगता है कि मुझे सबसे अच्छा समाधान मिला (गति में सबसे अच्छा):

iptables -I INPUT -m u32 --u32 "6&0xFF=0x6 && 0>>22&0x3C@12&0xFFFF=0x02CB" -j LOG

ऊपर की रेखा यह सुनिश्चित करती है कि एक टीसीपी पैकेट है, फिर आईपी की लंबाई का पता लगाएं और इसे गोद ले (वहाँ एक अतिरिक्त दो बाइट निष्कर्षण है) इसे बाइट्स वालों को तुलना करने की आवश्यकता है (उदाहरण 715 में)। एक शब्द में हर कोई पैकेट में प्रत्येक बिट / बाइट को महान मॉड्यूल -> u32 से निकाल / पा सकता है। अधिक जानकारी के लिए: iptables-u32.v0.1


हाँ, अच्छा काम, पूरी तरह से काम करता है
Shocker

1

Iptables टीसीपी झंडे और टीसीपी विकल्प, अर्थात् --tcp-option numberऔर से निपटने के लिए विकल्प हैं --tcp-flags

खिड़की के आकार के लिए, आप विकल्प के साथ स्ट्रिंग मॉड्यूल का उपयोग कर सकते हैं --hex-string pattern:। तो, विकल्प --hex-string 02CBआपके मामले में होगा । सटीक परिणाम प्राप्त करने के लिए, आपको खोज ऑफसेट का उपयोग करके प्रतिबंधित करना चाहिए --fromऔर --to। को देखो iptables पुस्तिका अधिक जानकारी के लिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.