
وكما تعلمون, خادم SMTP, بروتوكول نقل البريد البسيط o بروتوكول نقل البريد البسيط, إنه نظام مسؤول عن تنفيذ النقل البحري عدد الرسائل الواردة من البريد الإلكتروني من أصله إلى وجهته. للقيام بذلك, استخدم البروتوكول المذكور أعلاه حول بروتوكول الاتصالات TCP/IP.
عادة ما يتم استخدام المنفذ 25 لتكون قادرة على التواصل مع هذا الخادم, إلا إذا كان لقضايا أمنية, تم تكوينه على منفذ آخر. هناك عدد من الأوامر, مع التي, بمجرد إنشاء الاتصال, يمكنك “تكلم” مع هذا الخادم لمتابعة إرسال الرسالة.
أحد هذه الأوامر هو المصادقة المستخدم, أي, يجب عليك مصادقة نفسك أمام هذا الخادم حتى يعرف من أنت, وما إذا كان لديك الحق في استخدامه كجهاز إرسال رسائل بريد إلكتروني. دعونا نرى كيف يمكنك اختبار هذه المصادقة ضد هذا الخادم, الوصول إليه وإرسال الأوامر اللازمة إليه للإبلاغ بأنك مستخدم معتمد, أيضا رؤية ما سيكون ردك.
كيفية المصادقة على خادم بريد صادر, باستخدام بروتوكول SMTP, عبر تيلنت
لإجراء هذه المصادقة, عليك أن تعرف أن التواصل من المستخدم و كلمة المرور مع الخادم سيتم بطريقة ما ترميز في قاعده 64. طريقة واحدة لتحقيق ذلك (هناك آخرون), عن طريق تشغيل أمر في بيرل:
1 | Perl -MMIME::Base64 -e 'print encode_base64("nombreDeUsuario");' |
حيث اسم المستخدم يجب أن يكون اسم مستخدم البريد الإلكتروني لديك. سيؤدي هذا الأمر إلى إرجاع سلسلة رمز أساسي 64 التي ستتصل بها لاحقا إلى الخادم.
1 | bm9tYnJlRGVVc3Vhcmlv |
نفس الشيء, افعل الشيء نفسه مع كلمة مرور هذا المستخدم:
1 | Perl -MMIME::Base64 -e 'print encode_base64("contraseñaDeUsuario");' |
حيث كلمة مرور المستخدم هي كلمة المرور, وسوف يعود شيئا مماثلا أيضا على أساس 64:
1 | Y29udHJhc2XDsWFEZVVzdWFyaW8= |
باستخدام هاتين السلسلتين من الأحرف المشفرة بشكل أساسي 64, ستقوم باختبار المصادقة على خادم بريد SMTP صادر. للقيام بذلك, أول شيء هو الاتصال مع استخدام الخادم Telnet. عن طريق وحدة التحكم بالأوامر أو أحد إطار المحطة الطرفية, تشغيل التالية:
1 | telnet nombreservidor.com 25 |
حيث nombreservidor.com يشير إلى خادم SMTP الذي تريد الاتصال به, و 25 المنفذ الافتراضي. إذا كان ميناء آخر, فقط قم بتغييره في الأمر.
بمجرد الاتصال, يحيي الخادم باستخدام:
1 | EHLO nombreservidor.com |
سيقوم الخادم بإرجاع رسالة الترحيب. والآن, ببساطة, قال التي تريد المصادقة عليها. للقيام بذلك, اكتب ما يلي:
1 | AUTH LOGIN |
سيقوم الخادم بالرد عليك بشيء مثل 334 VXNlcm5hbWU6, وهي ببساطة سلسلة مشفرة بشكل أساسي 64 حيث اسم المستخدم. هذا هو المكان الذي يجب عليك فيه إدخال السلسلة المشفرة الأساسية 64 التي حصلت عليها من ترميز اسم المستخدم,
1 | bm9tYnJlRGVVc3Vhcmlv |
بمجرد تقديمه, سيطلب منك الخادم كلمة المرور. نفس الشيء, سيقوم بذلك باستخدام رسالة مشفرة مشابهة لهذا, 334 UGFzc3dvcmQ6. أدخل السلسلة التي تم الحصول عليها عند تشفير كلمة المرور.
1 | Y29udHJhc2XDsWFEZVVzdWFyaW8= |
وأخيراً, إذا كانت البيانات صحيح وقد سار كل شيء على ما يرام, سيستجيب الخادم برسالة مصادقة ناجحة 235 تم نجاح المصادقة.
كنت على استعداد! لقد اختبرت للتو مصادقة المستخدم على خادم بريد SMTP صادر باستخدام telnet. بمجرد المصادقة, يمكنك المتابعة لإخبار الخادم بإرسال بريد إلكتروني باستخدام الأوامر المناسبة. في المشاركات المستقبلية ، سنرى كيف يمكنك القيام بذلك.
وأخيراً, نعرض لك مسارا للأوامر المرسلة والمستلمة من قبل الخادم في الاتصال والمصادقة التي تم إجراؤها مسبقا.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | admin@localhost [~]# telnet nombreservidor.com 25 Trying X.X.X.X... Connected to nombreservidor.com (X.X.X.X). Escape character is '^]'. 220-server.nombreservidor.com ESMTP Postfix (Debian/GNU) EHLO nombreservidor.com 250-server.nombreservidor.com Hello [X.X.X.X] 250-SIZE 256000000 250-PIPELINING 250-AUTH PLAIN LOGIN 250-STARTTLS 250 HELP AUTH LOGIN 334 VXNlcm5hbWU6 bm9tYnJlRGVVc3Vhcmlv 334 UGFzc3dvcmQ6 Y29udHJhc2XDsWFEZVVzdWFyaW8= 235 Authentication succeeded |
