TCP

الوظيفة

إجراء اختبارات بسيطة أو تسلسلات أوامر على منفذ TCP. التحقق مما إذا كان منفذ TCP مفتوحًا.

التنبيهات

وقت الاتصال، وقت النقل، التسلسل

يعد بروتوكول التحكم في الإرسال (TCP) أحد البروتوكولات الأساسية لمجموعة بروتوكولات الإنترنت. يوفر TCP توصيلًا موثوقًا ومتسلسلًا لتيار من البايتات، مما يجعله مناسبًا لتطبيقات مثل نقل الملفات والبريد الإلكتروني. وهو مهم جدًا في مجموعة بروتوكولات الإنترنت لدرجة أن المجموعة بأكملها يُشار إليها أحيانًا باسم "مجموعة بروتوكولات TCP/IP". TCP هو بروتوكول النقل الذي يدير المحادثات الفردية بين خوادم الويب وعملاء الويب. يقسم بروتوكول TCP رسائل HTTP إلى أجزاء أصغر، تُسمى شرائح، ليتم إرسالها إلى العميل الوجهة. كما أنه مسؤول عن التحكم في حجم ومعدل تبادل الرسائل بين الخادم والعميل.

يعمل بروتوكول الإنترنت (IP) عن طريق تبادل مجموعات من المعلومات تُسمى الحزم. الحزم هي تسلسلات قصيرة من البايتات تتكون من رأس ونص. يصف الرأس وجهة الحزمة، والتي تستخدمها أجهزة التوجيه على الإنترنت لتمرير الحزمة، عادةً في الاتجاه الصحيح، حتى تصل إلى وجهتها النهائية. أما النص فيحتوي على بيانات التطبيق.

في حالات الازدحام، يمكن لبروتوكول IP تجاهل الحزم، ولأسباب تتعلق بالكفاءة، قد تسلك حزمتان متتاليتان على الإنترنت مسارات مختلفة للوصول إلى الوجهة. وعندئذٍ، قد تصل الحزم إلى الوجهة بترتيب خاطئ.

تستخدم مكتبات برامج TCP بروتوكول IP وتوفر واجهة أبسط للتطبيقات من خلال إخفاء معظم هياكل الحزم الأساسية، وإعادة ترتيب الحزم غير المتسلسلة، وتقليل ازدحام الشبكة إلى الحد الأدنى، وإعادة إرسال الحزم التي تم تجاهلها. وبالتالي، يبسط بروتوكول TCP مهمة كتابة تطبيقات الشبكة بشكل كبير.

تفاصيل بروتوكول TCP

معلمات TCP

المعلمة

الوصف

المنفذ

أدخل منفذ TCP الذي يجب اختباره

التسلسل

يمكن تحديد تسلسل من أوامر "إرسال" و"توقع" لإجراء اختبار موسع للتطبيق. تقوم "إرسال" بإرسال أمر، بينما تنتظر "توقع" تعبيرًا محددًا من المضيف البعيد. انظر المثال أدناه.

يمكن استخدام التعبيرات العادية (perl) في حقول "إرسال" و"توقع" (.* = أي حرف). انظر الرابط التالي للاطلاع على بعض الأمثلة: http://www.boost.org/doc/libs/1_34_1/libs/regex/doc/syntax_perl.html

قيم TCP وحدود الإنذار

القيمة / حد الإنذار

الوصف

وقت الاتصال

الوقت اللازم للاتصال بمنفذ TCP

وقت النقل

الوقت اللازم لنقل البيانات

التسلسل

تحقق مما إذا كان التسلسل المحدد قد أرجع أي أخطاء في جميع الخطوات أو في خطوة معينة.

رمز الخطأ

رمز خطأ عام للمهمة (انظر قسم رموز أخطاء المهام)

أمثلة على بروتوكول TCP

المثال 1 - تحقق مما إذا كان منفذ TCP 443 مفتوحًا على جهاز ما، دون تحديد تسلسل

المنفذ

443

الناتج 1

المثال 2 - اختبار تسلسل اتصال بخادم FTP

يحاول التسلسل التالي الموجه إلى خادم FTP عام (speedtest.tele2.net) تسجيل الدخول باستخدام حساب مجهول، ثم يعرض قائمة بالدليل الحالي ويخرج:

من الأفضل اختبار سلاسل النصوص المتوقعة على سطر أوامر Linux باستخدام الأمر telnet:

$ telnet speedtest.tele2.net 21
Trying 90.130.70.73...
Connected to speedtest.tele2.net.
Escape character is '^]'.
220 (vsFTPd 2.3.5)
user anonymous
331 Please specify the password.
pass anonymous
230 Login successful.
pwd
257 "/"
quit
221 Goodbye.
Connection closed by foreign host.

الآن يمكن إدخال النص المتوقع في تسلسل المهمة. تأكد من استخدام الشرطة المائلة العكسية (backslash) لتجاوز الأحرف الخاصة (مثل الأقواس).

أضف \r\n إلى كل عنصر في التسلسل، وهو ما يعني إرجاع الحامل.

الإخراج 2