كل ما تحتاج معرفته عن برنامج Ngrok وأساسيات الشبكات
كل التفاصيل التي تحتاج معرفتها لتشغيل برنامج Ngrok بكل سهولة
الخميس، أكتوبر 26، 2023
إختبار الإختراق
بسمِ اللّهِ الرحمنِ الرحيمِ.
الحمدُ للّهِ وكفى وصلاةً وسلامًا على الحبيب المصطفى وبعد،
برنامج نجروك - Ngrok هو واحد من أفضل البرامج المستعملة للسماح بحدوث اتصال شبكي بعيد بمعنى أنك لا تحتاج إلى تخصيص IP ثابت لكي تجعل باقي الأجهزة تتصل بك من خارج الشبكة الداخلية.
في هذة المقالة سوف نشارك معًا بعض المعلومات عن برنامج Ngrok، وأيضا بعض المعلومات الأساسية عن الشبكات وكيفية الاستفادة من هذا البرنامج الاستفادة القصوى بحيث لا تبحث مجددًا عن كيفية تشغيل هذا البرنامج أو كيفية الاستفادة منه بشكل مبدئي.
بعض المصطلحات المهمة:
- Public IP - هو عنوان IP الخاص بجهازك داخل الشبكة المحلية وهو متغير بعدد الأجهزة المتصلة معك.
- Static IP - هو عنوان IP ثابت لا يتغير مثل عناوين المواقع.
- شبكة داخلية - شبكة WI-FI منزل أو العمل وغيرها.
- شبكة خارجية - شبكة خارج نطاق المنزل أو العمل وتعتبر شبكة متصلة بالإنترنت العالمي.
ما سنتحدث عنه في هذه المقالة:
- ما هو برنامج Ngrok؟
- ما الفرق بين الشبكة الداخلية والخارجية؟
- ما الفرق بين Public IP, Static IP؟
- ما الفرق بين الإتصالين TCP, HTTP؟
- كيفية تشغيل برنامج Ngrok.
- مميزات وعيوب برنامج Ngrok.
- مصادر لتعلم برنامج Ngrok.
للإعلان على موقع عطاء : إضغط هنا
ما هو برنامج Ngrok؟
برنامج Ngrok هو برنامج يساعدك على الحصول على عنوان Static IP بحيث يعمل موقعك من على جهازك بدون الحاجة إلى رفع الموقع على استضافة لكي يراه الناس ولا دفع مبالغ على اشتراك Static IP من مزود خدمة الإنترنت عندك لكي لا يتغير عنوان الـIP عندك.
يتميز هذا البرنامج بكفاءته وسرعته في توصيل البيانات في الإرسال والاستقبال وأيضًا يتميز بمرونته في توفير نوعي الاتصال TCP, HTTP فهو يخدم مُطوّري الويب وأيضًا مختبري الاختراق في اختبار مدى أداء مواقعهم وبرامجهم خارج نطاق الشبكة المحلية Local Network.
في الأصل برنامج Ngrok مصمم لكي يدعم المواقع والبرامج بـStatic IP ولكن نحن كمختبري اختراق نستعمله في أشياء كثيرة مثل اختبار تبليغ برامج RAT خارج نطاق الشبكة "تابع Playlist قناتنا Torr Security School عن تصميم برنامج RAT ورفعه خارج نطاق الشبكة وتشغيله".
فهو يُستعمل في نطاق الاختبار وأيضًا هو منتج فعّال وله سيرفرات خاصة لخدمة المشتركين به مع توفير الكثير من الصلاحيات والإمكانيات لصاحب الحساب في تحديد نوع الاتصال ومكانه.
ولكن تحدثنا كثيرًا عن الشبكة الداخلية والخارجية دون معرفة الفرق بينهما، ما الفرق؟!
ما الفرق بين الشبكة الداخلية والشبكة الخارجية؟
الفرق بين هاتين الشبكتين كبير جدًا، حيث أن مجرد معرفة الفرق بينهما يوفر عليك الكثير من البحث وتتبع الأخطاء في برنامجك أو موقعك حيث أنني واحد من الذين تعرضوا لهذه المشكلة على أيام برنامج njRAT حيث كان هناك من يتحدث عن تبليغ داخلي وخارجي وبرنامج NO-IP وغيرها من البرامج التي لم أفهم وظيفتها مطلقًا إلا بعد فهمي للفرق بين الشبكتين.
- الشبكة الداخلية: هي شبكة إنترنت تربط بينك وبين جميع الأجهزة المتصلة معك على نفس ذات نقطة الاتصال Modem-Router حيث لا يحتاج الراوتر إلى توجيهك خارج نطاق الأجهزة المتصلة به فيقوم بتوجيهك مباشرةً على الأجهزة التي في نطاق اتصاله وهذا النطاق محدود ولكنه سريع.
مثال: اتصال جهازك وجهاز عائلتك بنفس الراوتر في المنزل، واتصال أجهزة المكتب ببعضها أو بنفس الراوتر أيضا. - الشبكة الخارجية: هي الشبكة التي تربط العالم كله ببعض، ويمكن القول بأنها الإنترنت نفسه، فعلى سبيل المثال اتصال جهازك بموقع عطاء هو اتصال خارجي حيث أن الخادم Server الذي يستضيف موقع عطاء ليس في نطاق شبكتك الداخلية لذلك لابد من جهاز الراوتر في بيتك أن يعيد اتصالك براوتر أبعد منه لكي نصل في النهاية إلى راوتر متصل بالخادم الذي يستضيف موقع عطاء.
ما الفرق بين Public IP, Static IP؟
الفرق بينهما هو نفسه الفرق بين الشبكة الخارجية والداخلية، ولكن على نطاق عنوان الـIP.
- الـPublic IP: هو عنوان الـIP الخاص بك داخل الشبكة الداخلية، يتجدد ويتغير بعدة عوامل منها عدد الأجهزة المتصلة بنفس الراوتر وترتيبك في الاتصال
يتغير هذا العنوان بمجرد إعادة تشغيل الجهاز لديك. - الـStatic IP: هو عنوان الـIP الخاص بجهازك خارج نطاق الشبكة الداخلية تمامًا، وهو العنوان الذي يستطيع أي شخص على الإنترنت الاتصال بك عن طريقه.
الفرق بين الإتصالين TCP, HTTP؟
الاتصال يختلف باختلاف الخدمة المقدمة، فعلى سبيل المثال الخدمة التي يقدمها الاتصال TCP على برنامج Ngrok تختلف عن الخدمة مع الاتصال HTTP / مع العلم أن الاتصال HTTP مبني أصلا على فكرة الاتصال بالـTCP ولكن باختلاف الخدمات والمنافذ Ports.
- الاتصال TCP: هذا الاتصال يدعم الاتصال بين البرامج كما لو كنت تقوم ببرمجة برنامج مبنى على الـSockets فبالتالي ستحتاج إلى اتصال TCP لنقل البيانات بين المرسل والمستقبل "تابع Playlist قناتنا Torr Security Schoo عن مقدمة في الشبكات وبرمجة الـSockets بلغة Python".
المنفذ يختلف على حسب الخدمة المزودة به. - الاتصال HTTP: هو اتصال يدعم الاتصال مع المواقع حيث أن عنوان الـIP يتم الاتصال به لتحميل وقراءة محتويات الموقع عن طريق الاتصال HTTP.
يدعمه المنفذ 80 لأجل HTTP و 443 لأجل HTTPS.
كيفية تشغيل برنامج Ngrok؟
ببساطة!..
تتبع معي هذه الخطوات:
- قم بالذهاب على موقع البرنامج ngrok.com وقم بعمل حساب جديد.
- بعد تمام عمل الحساب، ارجع إلى الصفحة الأولى واختر كلمة Download ومنها قم باختيار نظامك "سنتعامل على أنه Windows" ثم اختر نواة الجهاز ما إذا كانت 32 أو 64 وقم بتحميل النسخة.
- بعد عملية التسجيل ستظهر لك بعض الارشادات لكي تقوم بتشغيل البرنامج على جهازك، فقط خذ هذا الأمر وأحفظه حاليا.
- قم بفتح البرنامج الذي تم تحميله واكتب به هذا الأمر مباشرةً "لاحظ أن رمز $ في أول الأمر ليس ضمن الأمر الذي تكتبه، فقط امسح هذا الرمز إن وجدته أول الأمر فقط"
- في حالة ما إذا كنت قد صممت موقعًا وقد ربطته بمنفذ Port مثلا 8000، فقط اكتب هذا الأمر كما في الصورة:
- وفي حالة ما إذا كنت قد صممت برنامجًا اتصاله TCP وربطته بمنفذ Port مثلًا 9099 ... كل ما عليك فعله هو تغيير نوع الاتصال على tcp بدلًا من http وتغيير المنفذ إلى 9099 بدلًا من 8000.
- هذا ما سيظهر لك عندالتشغيل؛ الرابط الذي ستدخل عليه الأجهزة محاط حوله بالأصفر كما في الصورة التالية:
هنيئًا لك يا صديقي تمّ تشغيل البرنامج بكل سهولة وبدون أيّ مشاكل.
للإعلان على موقع عطاء : إضغط هنا
مميزات وعيوب برنامج Ngrok :
كل برنامج له مميزات وعيوب، لذلك سنذكر هنا بعض المميزات والعيوب في هذا البرنامج:
المميزات:
- ليس له فترة صلاحية ... طالما أن الجهاز يعمل دون توقف فسيظل الرابط كما هو بدون أي تغيير.
- مدعوم من مكتبات python تدعم لغة Python هذا البرنامج بمكتبة خاصة به "يحتاج حسابك غلى الاشتراك".
- النسخة المجانية تفي بالغرض جدا.
العيوب:
- ليس مجانيًا تماما هناك يمكنك الدفع للارتقاء بالمميزات.
- عند إغلاق الجهاز أو فصل الإنترنت والعودة مرة أخرى يتغير المنفذ وعنوان الـIP.
مصادر تعلم برنامج Ngrok :
هناك مصادر عديدة لتعلّم برنامج Ngrok ولكن نحاول توفير المصادر العربية فعلى سبيل المثال:
قناتنا Torr Security School - شرح برنامج Ngrok من التحميل حتى التشغيل
قناة Abdelrahman Elokbe - بالعربي How to use ngrok
مصادر لتعلم الشبكات وإستعمال برنامج Ngrok معها
قناتنا أيضا عن Playlist لتعلم الشبكات - تعلم الشبكات لإختبار الإختراق الأخلاقي
لا تنسَ التطبيق العملي هو أهم من النظري، وبدون التطبيق العملي فلن تستفيد بشيءٍ.