انتقل إلى المحتوى الرئيسي

الفصل 7.4 - أدوات الشبكة

أهداف التعلم​

في نهاية هذا الفصل، ستكون قادرًا على:

  • استخدام أدوات تشخيص الشبكة
  • مراقبة الاتصالات الشبكية
  • تحليل حركة مرور الشبكة
  • فهم المنافذ والخدمات
  • استكشاف مشاكل الشبكة وإصلاحها

أدوات التشخيص​

ping - اختبار الاتصال​

# Ping بسيط
ping google.com
ping 8.8.8.8

# عدد محدود
ping -c 4 google.com

# الفاصل الزمني
ping -i 2 google.com # كل ثانيتين

# حجم الحزمة
ping -s 1000 google.com # 1000 بايت

# مهلة
ping -W 5 google.com # 5 ثواني

traceroute - تتبع المسار​

# تتبع المسار
traceroute google.com

# مع tracepath (iputils)
tracepath google.com

# عدد القفزات الأقصى
traceroute -m 15 google.com

# مع mtr (في الوقت الحقيقي)
sudo apt install mtr
mtr google.com

الاتصالات والمنافذ​

ss - إحصائيات المقابس (حديث)​

# جميع الاتصالات
ss -tuln

# الخيارات:
# -t: TCP
# -u: UDP
# -l: الاستماع
# -n: رقمي (بدون حل)
# -p: العمليات
# -a: الكل

# اتصالات TCP
ss -tn

# اتصالات UDP
ss -un

# المنافذ المستمعة
ss -tuln | grep LISTEN

# الاتصالات القائمة
ss -tn | grep ESTAB

# حسب العملية
ss -tulnp

# حسب المنفذ
ss -tuln sport = :80
ss -tuln dport = :443

netstat - إحصائيات الشبكة (كلاسيكي)​

# التثبيت إذا لزم الأمر
sudo apt install net-tools

# جميع الاتصالات
netstat -tuln

# مع العمليات
netstat -tulnp

# الاتصالات القائمة
netstat -tn

# الإحصائيات
netstat -s

lsof - قائمة الملفات المفتوحة​

# المنافذ المفتوحة حسب العملية
sudo lsof -i

# منفذ محدد
sudo lsof -i :80
sudo lsof -i :443

# TCP فقط
sudo lsof -iTCP

# حسب العملية
sudo lsof -i -p 1234

تحليل حركة المرور​

tcpdump - التقاط الحزم​

# التثبيت
sudo apt install tcpdump

# التقاط الكل
sudo tcpdump -i eth0

# عدد محدود
sudo tcpdump -c 10 -i eth0

# الفلاتر
sudo tcpdump -i eth0 host 8.8.8.8
sudo tcpdump -i eth0 port 80
sudo tcpdump -i eth0 tcp port 443

# الحفظ
sudo tcpdump -i eth0 -w capture.pcap

# قراءة الملف
tcpdump -r capture.pcap

wireshark - محلل رسومي​

# التثبيت
sudo apt install wireshark

# التشغيل (GUI)
wireshark

# أو عبر سطر الأوامر
tshark -i eth0

معلومات الشبكة​

iftop - مراقب عرض النطاق​

# التثبيت
sudo apt install iftop

# مراقبة الواجهة
sudo iftop -i eth0

# يعرض: الاتصالات، عرض النطاق المستخدم

nethogs - حسب العملية​

# التثبيت
sudo apt install nethogs

# المراقبة
sudo nethogs

# واجهة محددة
sudo nethogs eth0

bmon - مراقب عرض النطاق​

# التثبيت
sudo apt install bmon

# المراقبة
bmon

# واجهة محددة
bmon -p eth0

الجدار الناري و iptables​

عرض القواعد​

# iptables
sudo iptables -L -n -v

# مع أرقام الخطوط
sudo iptables -L -n -v --line-numbers

# حسب الجدول
sudo iptables -t nat -L -n -v
sudo iptables -t mangle -L -n -v

ufw (جدار ناري أوبونتو)​

# الحالة
sudo ufw status

# التفعيل
sudo ufw enable

# القواعد
sudo ufw allow 22/tcp
sudo ufw deny 80/tcp
sudo ufw delete allow 80/tcp

معلومات النظام​

إحصائيات الشبكة​

# إحصائيات الواجهات
ip -s link show

# إحصائيات مفصلة
cat /proc/net/dev

# إحصائيات حسب البروتوكول
cat /proc/net/snmp

معلومات الواجهة​

# مع ethtool
ethtool eth0
ethtool -S eth0 # إحصائيات
ethtool -i eth0 # معلومات السائق

# مع ip
ip -d link show eth0

سكربتات مفيدة​

التحقق الكامل​

#!/bin/bash
# تشخيص الشبكة الكامل

echo "=== الواجهات ==="
ip addr show

echo "=== المسارات ==="
ip route show

echo "=== DNS ==="
cat /etc/resolv.conf

echo "=== الاتصالات ==="
ss -tuln

echo "=== اختبار الاتصال ==="
ping -c 2 8.8.8.8

echo "=== المنافذ المستمعة ==="
ss -tuln | grep LISTEN

مراقبة عرض النطاق​

#!/bin/bash
# مراقبة عرض النطاق

INTERFACE="eth0"

while true; do
RX_BYTES=$(cat /sys/class/net/$INTERFACE/statistics/rx_bytes)
TX_BYTES=$(cat /sys/class/net/$INTERFACE/statistics/tx_bytes)

sleep 1

RX_BYTES_NEW=$(cat /sys/class/net/$INTERFACE/statistics/rx_bytes)
TX_BYTES_NEW=$(cat /sys/class/net/$INTERFACE/statistics/tx_bytes)

RX_RATE=$(( (RX_BYTES_NEW - RX_BYTES) / 1024 ))
TX_RATE=$(( (TX_BYTES_NEW - TX_BYTES) / 1024 ))

echo "RX: ${RX_RATE} KB/s TX: ${TX_RATE} KB/s"
done

ملخص​

في هذا الفصل، تعلمت:

التشخيص: ping، traceroute، mtr
الاتصالات: ss (حديث)، netstat (كلاسيكي)، lsof
التحليل: tcpdump، wireshark لالتقاط
المراقبة: iftop، nethogs، bmon لعرض النطاق
الجدار الناري: iptables، ufw للقواعد
الإحصائيات: /proc/net/، ip -s، ethtool
السكربتات: أتمتة التشخيصات


الخطوات التالية​

الوحدة 8: الخدمات والخادم (مع crons المتقدمة)
الوحدة 9: أمان النظام


تم إنشاء الفصل في: ديسمبر 2024