الرئيسية قاعدة المعرفة البرمجة والمنطق أوامر الشبكة: تشخيص الاتصال ومراقبة الحركة
البرمجة والمنطق

أوامر الشبكة: تشخيص الاتصال ومراقبة الحركة

اختبار الاتصال: ping و traceroute

الشبكة هي العمود الفقري الذي يربط أجهزة PLC والمستشعرات بخوادم SCADA. أدوات التشخيص ضرورية لحل مشاكل الاتصال بسرعة.

ping -c 5 192.168.1.100              # إرسال 5 حزم
ping -c 3 -W 2 10.0.1.50            # مهلة انتظار 2 ثانية

النتائج المهمة: time (زمن الاستجابة)، packet loss (نسبة الفقدان).

traceroute -n 192.168.1.100          # تتبع مسار الحزم (بدون DNS)
mtr -r -c 10 192.168.1.100          # تقرير مفصّل (ping + traceroute)

فحص المنافذ والاتصالات: ss و netstat

ss -tuln                             # المنافذ المفتوحة (TCP + UDP)
ss -tulnp                            # مع اسم البرنامج (يحتاج sudo)
ss -t state established              # الاتصالات النشطة

الخيارات: -t TCP، -u UDP، -l listening، -n أرقام فقط، -p اسم العملية.

ss -tlnp | grep 502                 # هل خدمة Modbus تعمل؟
ss -tn | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn  # اتصالات لكل IP

تحميل البيانات: curl و wget

curl http://192.168.1.100:8080/api/status                    # طلب GET
curl -o firmware.bin http://192.168.1.100/firmware/latest     # تحميل ملف

# إرسال بيانات JSON
curl -X POST http://localhost:3000/api/readings \
     -H "Content-Type: application/json" \
     -d '{"sensor": "temp_01", "value": 72.5}'

curl -I http://192.168.1.100:8080/health                     # رأس الاستجابة فقط
curl --connect-timeout 5 http://192.168.1.100:502/           # مع مهلة

wget http://192.168.1.100/logs/daily_report.csv              # تحميل بسيط

إعدادات الشبكة: ip addr و ip route

ip addr show                         # كل واجهات الشبكة
ip -4 addr show eth0                 # IPv4 لواجهة محددة
ip route show                        # جدول التوجيه
ip route get 192.168.10.1            # مسار الوصول لعنوان محدد

cat /etc/resolv.conf                 # خوادم DNS
nslookup scada-server.factory.local  # تحليل اسم لعنوان

nc -zv 192.168.1.100 502             # فحص منفذ Modbus
nc -zv 192.168.1.100 80-8080         # فحص مجموعة منافذ

التقاط الحزم: tcpdump

أداة تشخيص متقدمة تلتقط حزم الشبكة الفعلية.

sudo tcpdump -i eth0 host 192.168.1.100              # حزم من/إلى عنوان
sudo tcpdump -i eth0 port 502                         # حزم Modbus TCP
sudo tcpdump -i eth0 port 502 -w modbus.pcap          # حفظ في ملف
sudo tcpdump -i eth0 -c 100 host 192.168.1.100        # 100 حزمة فقط
sudo tcpdump -i eth0 -X port 502 -c 10                # عرض المحتوى

# مرشحات متقدمة
sudo tcpdump -i eth0 'tcp[tcpflags] & tcp-syn != 0'   # محاولات اتصال
sudo tcpdump -i eth0 net 192.168.1.0/24                # شبكة فرعية كاملة

ملاحظة عن Wireshark

إذا كنت بحاجة لتحليل مرئي متقدم، يمكنك فتح ملفات .pcap في Wireshark على جهازك المحلي:

# التقاط على الخادم وتحميل الملف
sudo tcpdump -i eth0 port 502 -w /tmp/capture.pcap -c 500
scp operator@server:/tmp/capture.pcap ./

مثال عملي: تشخيص انقطاع اتصال بين PLC وخادم SCADA

سيناريو: PLC على 192.168.1.100 توقف عن إرسال البيانات.

# 1. اختبار الوصول
ping -c 3 192.168.1.100

# 2. تتبع المسار إذا فشل ping
traceroute -n 192.168.1.100

# 3. فحص الشبكة المحلية
ip addr show eth0

# 4. فحص منفذ Modbus
nc -zv -w 3 192.168.1.100 502

# 5. التحقق من الخدمة المحلية
ss -tlnp | grep 502

# 6. التقاط حزم للتحليل
sudo tcpdump -i eth0 host 192.168.1.100 and port 502 -c 20

# 7. فحص الجدار الناري
sudo iptables -L -n | grep 502

# 8. فحص السجل
tail -50 /var/log/scada/modbus_errors.log

الخلاصة

تعلمت في هذا الدرس أدوات تشخيص الشبكة: ping وtraceroute للاتصال، ss للمنافذ، curl لـ APIs، وtcpdump لتحليل الحزم. هذه الأدوات ضرورية لتشخيص مشاكل الاتصال بين أجهزة PLC وخوادم SCADA في البيئات الصناعية.

networking ping ss curl ip tcpdump الشبكة التشخيص الاتصال المنافذ الحركة المراقبة