التقاط حزم EtherNet/IP عبر UDP في مشفّرات Allen-Bradley 842E
لا يمكن لإجراء التقاط حزم UDP AB842E التوقف عند غياب الاستجابات، إذ تقتصر المرشحات على التضمين. استخدم التقاطًا مؤقتًا وتوقيت دورات UDP لعزل EtherNet/IP الص...
عندما يتوقف مُشفِّر الموضع المطلق Allen-Bradley 842E EtherNet/IP عن الاستجابة، يكون طلب الالتقاط instinctively هو: «أوقف التتبّع بعد N من طلبات ENIP غير المُجاب عنها». يتوافق هذا التصور بسهولة مع منطق السلم، لكنه لا يتوافق مع Wireshark أو tcpdump أو معظم محركات الالتقاط في الأجهزة. تقيّم هذه الأدوات مرشحات التضمين على الإطارات الموجودة. لا يُنتج مُشفِّر صامت أي إطارات UDP/2222 من الفئة 1 ليطابقها المرشح، لذلك لا يوجد ما يمكن إيقاف الالتقاط عنده. المشكلة التشخيصية هي اكتشاف الغياب، لا مطابقة التوقيع.
التقط باستمرار على UDP 2222، ثم قارن إطارات المُشفِّر المرصودة بحسابات RPI—لا تنتظر مشغّلًا سلبيًا لا يستطيع محلل الشبكة التعبير عنه.
النطاق والمنافذ
يغطي هذا الإجراء الطرازات 842E-SIP و842E-MIP و842E-DIP وإصدارات M12 الموثقة في 842E-UM001. تحقّق من البرنامج الثابت من صفحة الويب الخاصة بالمُشفِّر ضمن Diagnostics → Device Information. تستخدم بيانات الإدخال والإخراج التشغيلية CIP من الفئة 1 عبر منفذ UDP 2222؛ بينما تستخدم الرسائل الصريحة تغليف EtherNet/IP عبر TCP/UDP 44818. ينبغي لملفات تعريف الالتقاط تفعيل كليهما، لكن تحقيقات الصمت تركز على التجميعات المُنتَجة/المستهلكة عبر 2222.
| المنفذ | حركة البيانات | المعدل المعتاد |
|---|---|---|
| 2222 | إدخال/إخراج ضمني (مُنتَج/مستهلك) | RPI، غالبًا 10 مللي ثانية |
| 44818 | CIP صريح | عند الطلب |
| 67/68 | BOOTP/DHCP | عند تشغيل الطاقة فقط |
لماذا تفشل مشغلات الغياب
مرشحات العرض هي مسندات منطقية تُطبَّق على كل إطار. يحتفظ مرشح مثل (udp.port == 2222) && (eth.src == <842E_MAC>) بإطارات المُشفِّر عند وصولها. وعندما لا تصل، لا يصبح المسند صحيحًا مطلقًا. يتطلب الحفاظ على حالة «أربعة طلبات مع عدم وجود أي استجابة» حالةً عبر إطارات متعددة، وهي حالة لا تحتفظ بها أدوات الالتقاط القياسية. أما علامات تبويب تشخيص الوحدة في Studio 5000، وإحصاءات أجهزة FactoryTalk Linx، والتحليل بعد الالتقاط، فهي الأدوات القادرة على تمثيل هذه الحالة.
الحل البديل 1: المخزن المؤقت الدائري ثم العد
- اعكس منفذ مفتاح المُشفِّر إلى بطاقة شبكة في جهاز التحليل.
- التقط UDP 2222 في مخزن مؤقت دائري (مثلًا خمسة ملفات بحجم 40–50 ميجابايت).
- افتح ملف pcap وطبّق مرشحًا على عنوان MAC الخاص بالمُشفِّر إضافةً إلى UDP 2222.
- قارن عدد الإطارات بـ observation_time / RPI. وتستدعي الانحرافات التي تتجاوز نحو 5% التحقيق.
tcpdump -i eth0 -w capture.pcap udp port 2222 # عرض Wireshark: eth.addr == <842E_MAC> && udp.port == 2222
الحل البديل 2: نوافذ متوافقة مع RPI
حاذِ نوافذ الالتقاط مع مضاعفات صحيحة لـ RPI الخاص بالمُشفِّر بحيث يحتوي المخزن المؤقت على تبادلات إدخال/إخراج كاملة. عند RPI قدره 10 مللي ثانية، ينبغي أن تحتوي نافذة مدتها 10 ثوانٍ على نحو 1000 إطار من الفئة 1 إذا كان الاتصال سليمًا. وتُعد الفجوات التي تتجاوز ثلاثة فواصل RPI في عمود «الثواني منذ الإطار السابق» شرط الإيقاف العملي أثناء المراجعة.
الحل البديل 3: حالة CIP وعدادات المفتاح
أصدر دوريًا قراءات Get_Attribute_Single مقابل الكائن Identity Object في CIP، الفئة 0x01، المثيل 1، السمة 6 (Status). وتشير التغييرات في بتات Owned أو Configured إلى انقطاع اتصال الفئة 1—وذلك يحدث عادةً بعد فقدان ثلاث فترات RPI. وبشكل مستقل، راقب ifOutUcastPkts في منفذ المُشفِّر على المفتاح المُدار؛ إذ يؤكد ثبات العداد لأكثر من 3 × RPI وجود الصمت من دون ملف pcap.
الإجراء الميداني والمزالق
تحقّق من عنوان IP وRPI ومثيلات التجميع (الافتراضيان: المنتج 0x04 / المستهلك 0x01) مقابل إعداد وحدة Logix. أكّد مؤشرات LED الخاصة بالوصلة، والتقط لمدة ستين ثانية، واحسب الإطارات، ثم حاول إجراء إعادة ضبط CIP إذا كان العدد صفرًا. وتشير عودة حركة البيانات بعد إعادة الضبط مع استمرار فقدان نقاط RPI إلى ضوضاء الكابل أو هبوط طاقة M12 أو وجود عنوان IP مكرر. أما الصمت المستمر بعد دورة تشغيل الطاقة فيشير إلى عطل في طبقة Ethernet PHY—استبدل المُشفِّر. لا تهدر الوقت في إنشاء مشغّل «توقّف عند عدم وجود استجابة»؛ فمحلل الشبكة لا يستطيع التعبير عنه. حافظ على توافق وحدات المُشفِّر ووحدات التحكم الاحتياطية مع معايير المصنع الخاصة بـ PLC وPAC عند تعطل وحدة في الموقع.
نبذة عن المؤلف
Mark Townsend | مهندس أتمتة أول – أنظمة Allen-Bradley
Mark Townsend مهندس أتمتة أول لديه أكثر من 18 عامًا من الخبرة في منصات Allen-Bradley، تشمل ControlLogix وCompactLogix وSLC-500 القديمة. يتمحور عمله اليومي حول منطق RSLogix / Studio 5000 وتجهيز واجهات HMI عبر FactoryTalk View في أساطيل المعدات القديمة والمختلطة.