मैं एफ 5 नेटवर्क बिग-आईपी उत्पादों का उपयोग कर रहा हूं, जो डिबगिंग उद्देश्यों के लिए एक कस्टम ईथरनेट II ट्रेलर फ्रेम जोड़ रहे हैं। मैं इस ट्रेलर के लिए एक नई परत बांधने के लिए स्कापी के साथ प्रयास कर रहा हूं, लेकिन मैं ऐसा करने में असमर्थ हूं।स्कैपी - एक ईथरनेट ट्रेलर फ़ील्ड को विच्छेदन कैसे करें
मैं पैडिंग क्षेत्र में रुचि का पेलोड देख सकता हूं लेकिन बाइंड_लेयर का उपयोग करके आवश्यक पैडिंग अनुभाग का उचित विच्छेदन नहीं करता है।
class MyEthTrailer(Packet):
name = "Ethernet Trailer"
fields_desc = [ ####Fields Mapping Section ]
def dissect(self, s):
self.payl,self.pad = self.extract_padding(s)
s = self.do_dissect(self.pad)
एक समाधान मैं सोच रहा था एक नया ईथरनेट प्रतिस्थापन वर्ग का निर्माण करना था (या अतिभारित) है, जो मैं कर सकते हैं तो ठेठ ईथरनेट पेलोड और अपने नए ट्रेलर को दर्शाता है। लेकिन मैं एक सुपर पायथन/स्कैपी प्रोग्रामर नहीं हूं, और मुझे यकीन नहीं है कि यह सबसे अच्छा विकल्प है या नहीं।
इस प्रकार स्कैपी वर्तमान में मेरे पैकेट को मानचित्र करता है जब मैं bind_layers (TCP, MyEthTrailer) लागू करता हूं।
packet[TCP].decode_payload_as(MyEthTrailer)
हालांकि, bind_layers विधि: जानकारी मैं पार्स होना चाहिए पैडिंग वर्ग
<Ether dst=00:00:00:00:00:00 src=00:00:00:00:00:01 type=0x8100 |<Dot1Q prio=0L id=0L vlan=01L type=0x800 |<IP version=4L ihl=5L tos=0x0 len=67 id=1 flags=DF frag=0L ttl=255 proto=tcp chksum=0x01 src=10.0.0.1 dst=10.0.1.1 options=[] |<TCP sport=1111 dport=https seq=1 ack=1 dataofs=5L reserved=0L flags=PA window=4380 chksum=0xb718 urgptr=0 options=[] |<MyEthTrailer |<Padding load='\xPayload of MyEtherTrailer' |>>>>>>
[अद्यतन-1]
मैं फोन करके एक टीसीपी SYN पैकेट डिकोडिंग मजबूर कर सकते हैं में है , स्वचालित रूप से काम नहीं कर रहा है, और यह अधिक जटिल पैकेट के साथ काम नहीं करता है क्योंकि यह MyEthTrailer पेलोड के साथ टीसीपी पैडिंग को मिला रहा है।
[अद्यतन-2]
मैं इसे आंशिक रूप से काम कर रहा है, लेकिन हर पैकेट ठीक से casted किए जाने की जरूरत है, तो मैं ट्रेलर पेलोड पढ़ सकते हैं और यह डिकोड कर सकते हैं मिल गया। उदाहरण के लिए यदि कोई पैकेट टीसीपी/DNS/MyEthTrailer है, तो यह काम करेगा। अगर मुझे यह DNS नहीं पता है, और यह ठीक तरह से स्थापित नहीं है, तो यह अभी भी टीसीपी पेलोड और पैडिंग में मिश्रित है।
आपकी सहायता की सराहना की जाती है।
एफ 5 प्लगइन स्रोत यहां है: https://devcentral.f5.com/wiki/AdvDesignConfig.F5WiresharkPlugin.ashx। उम्मीद है कि यह आपको अलग करने में मदद करेगा। –