पृष्ठभूमि:पैकेट मिलान व्यवहार
मैं Scapy उपयोग कर रहा हूँ एक नेटवर्क डिवाइस का परीक्षण करने के जो कर सकते हैं चुनिंदा स्रोत/गंतव्य MACs, IP पते, और परत 4 पोर्ट संख्या को स्वैप करके पाश वापस पैकेट। स्वैपिंग layer_2_only
, layers_2_and_3
, layers_2_3_and_4
के लिए चुना जा सकता है। मैं एक सर्वर पर स्कैपी चला रहा हूं, डिवाइस पर पैकेट प्रेषित कर रहा हूं और यह सत्यापित कर रहा हूं कि वापस भेजे गए पैकेट में उचित स्रोत/dest फ़ील्ड सेटिंग के आधार पर बदल गए हैं।
समस्या:
Scapy srploop()
विधि है, जो पैकेट भेजता है और मैचों पिंग और एआरपी की तरह संदेश प्रकारों के अच्छी तरह से काम प्राप्त करता है। मुझे लगता है कि अगर मैं यूडीपी पैकेट ट्रांसमिट करता हूं और लूप-बैक डिवाइस द्वारा स्रोत/dest पोर्ट्स को उलट नहीं किया जाता है, तो स्कैपी लूप-बैक पैकेट को एक मैच की तरह नहीं मानता है। जब पोर्ट नंबर को लूप-बैक डिवाइस द्वारा उलट दिया जाता है, तो पैकेट को मैचों के रूप में पहचाना जाता है।
सवाल:
ओवरराइड या अन्यथा Scapy के पैकेट मिलान तर्क को प्रभावित करने के लिए एक रास्ता है? उदाहरण के लिए, परत 4 पर मिलान अक्षम करने में सक्षम होना उपयोगी होगा। मैंने प्रलेखन को देखा है और कुछ भी नहीं आया है जो बताता है कि यह संभव है।
क्या यह स्कैपी में हासिल करने का एक और तरीका है। मैंने
send()
का उपयोग करकेsniff()
का उपयोग करके प्रयोग किया है, लेकिन मैं उस विधि का उपयोग करके उत्तरों को कैप्चर करने में सफल नहीं रहा हूं।