Linux Networking & TCP/IP for Developers · درس

أدوات أداء الشبكة

استخدم أدوات مثل `iperf` و`netstat` و`ss` لقياس معدل نقل الشبكة وزمن الاستجابة والاتصالات النشطة.

الدرس 2 من 412 خطوة

أدوات أداء الشبكة درس مجاني في Linux Networking & TCP/IP for Developers على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Linux Networking & TCP/IP for Developers، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Linux Networking & TCP/IP for Developers 4 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

Boost Your Network Insights

Ever wonder how fast your network truly is, or what's happening behind the scenes? In this lesson, we'll dive into powerful Linux tools to measure and understand network performance.

We'll explore iperf for bandwidth, netstat for connections, and ss for detailed socket statistics.

What is Network Performance?

Network performance isn't just about speed! It includes several key metrics:

  • Throughput: The amount of data transferred over time (e.g., Mbps).
  • Latency: The delay before a transfer of data begins (e.g., ms).
  • Jitter: Variation in latency, which can affect real-time applications.
  • Packet Loss: Data packets failing to reach their destination.

Measuring these helps diagnose slow or unreliable connections.

Meet iperf: Bandwidth Hero

iperf is a fantastic tool for measuring network throughput. It works in a client-server model, where one machine acts as a server and another as a client, sending data between them.

This allows you to test the raw speed and capacity of a link between two points in your network.

Setting up iperf as a Server

To use iperf, you first need to start a server on one machine. It will listen for incoming connections from clients.

Open a terminal on your server machine and run this command:

iperf3 -s

Running iperf as a Client

Now, on a different machine (your client), you can connect to the iperf server and start a bandwidth test. Replace <server_ip> with the actual IP address of your server.

The output will show you the transfer rate and bandwidth achieved.

iperf3 -c <server_ip>

iperf for UDP & Latency

iperf isn't just for TCP! You can also test UDP throughput and observe packet loss or jitter. UDP is often used for real-time applications where speed is critical.

To run a UDP test, add the -u flag. Try it out!

iperf3 -c <server_ip> -u -b 100M

netstat: Network Statistics

netstat (network statistics) is a classic command-line tool that displays network connections, routing tables, interface statistics, and more.

It's great for quickly seeing what ports are open and what connections are active on your system.

Viewing Active Connections with netstat

To see all active TCP and UDP connections, along with listening ports, use the following flags:

  • -t: TCP connections
  • -u: UDP connections
  • -l: Listening sockets
  • -n: Numeric addresses (don't resolve hostnames)

This gives a raw, fast overview.

netstat -tuln

Introducing ss: Socket Statistics

While netstat is useful, ss (socket statistics) is its modern, faster, and more powerful successor. It can display more information about sockets than netstat.

ss directly queries kernel data structures, making it quicker and more efficient, especially on systems with many connections.

Exploring Sockets with ss

ss uses similar flags to netstat but often provides more detail or performs faster. Here are a couple of common uses:

  • ss -tuln: Same as netstat, shows TCP/UDP listening ports.
  • ss -s: Provides a summary of socket statistics (e.g., total TCP established, UDP in use).

Give ss -s a try to see a quick summary!

ss -s

Quick Check: Performance Tools

You've learned about iperf, netstat, and ss. Which of these tools is primarily used to measure network bandwidth or throughput?

Recap: Monitor Your Network

Great job! You've explored essential tools for network performance:

  • iperf: Your go-to for measuring network throughput (bandwidth) and testing latency/jitter with TCP and UDP.
  • netstat: A classic for viewing active connections, listening ports, and basic network statistics.
  • ss: The modern, faster alternative to netstat for detailed socket information.

These tools are invaluable for diagnosing network issues and ensuring optimal performance.

البدء مجانًا

تعلم Linux Networking & TCP/IP for Developers مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
12
الدروس
48

الأسئلة الشائعة

هل درس «أدوات أداء الشبكة» مجاني؟

نعم — نص درس «أدوات أداء الشبكة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Linux Networking & TCP/IP for Developers، انتقل إلى CoddyKit PRO. تتضمن دورة Linux Networking & TCP/IP for Developers 4 دروس في المجموع.

ماذا ستتعلم في «أدوات أداء الشبكة»؟

استخدم أدوات مثل `iperf` و`netstat` و`ss` لقياس معدل نقل الشبكة وزمن الاستجابة والاتصالات النشطة. تتمرن على Linux Networking & TCP/IP for Developers مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Linux Networking & TCP/IP for Developers؟

لا تُشترط خبرة سابقة. Linux Networking & TCP/IP for Developers على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «أدوات أداء الشبكة»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Linux Networking & TCP/IP for Developers هذا؟

نعم. كل درس في Linux Networking & TCP/IP for Developers يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. التقاط الحزم باستخدام Wireshark/tcpdump
  2. أدوات أداء الشبكة
  3. جدار Linux الناري (Netfilter/iptables)
  4. تشخيص DNS باستخدام dig وnslookup
← العودة إلى Linux Networking & TCP/IP for Developers