مهارات الهاكر وطريق المعرفة : يعتقد البعض أنه بمجرد حصوله علي بعض التطبيقات أو أدوات الهاكرز ” مثل برنامج نجرات “, أنه بذلك أصبح هاكر وقادر علي اختراق الأجهزة واختبار أنظمة الحماية للشركات الكبري والمواقع الالكترونية, وهذا الاعتقاد هو في الحقيقه بعيدآ كل البعد عن الصحة, ولهذا دعونا من خلال هذه التدوينة نتعرف علي المهارات الأساسية للهاكرز.
مهارات الهاكر الأساسية :
هناك 4 مهارات أساسية من مهارات الهاكر التي يجب أن تتقنها كمرحلة أولي للدخول في هذا المجال وهي :
1- تعلم البرمجه. 2- الحصول على أحد أنظمة يونكس مفتوحة المصدر و تعلم كيفية تشغيله و استخدامه. ” تعرف علي توزيعات لينوكس ” 3- تعلم كيفية استعمال الورلد وايد ويب WWW و كيفية كتابة أكواد HTML 4- إذا لم تكن تعرف الإنجليزية، إبدأ في تعلمها من الآن ” شاهد هذا الموضوع عن تعلم الانجليزية“.
طريقة تفكير الهاكر مطلوبة و لكنها لا تغني عن المهارات الأساسية التي يجب أن تتوفر لديه قبل أن يستطيع أي شخص أن يلقبه بلقب هاكر.
هذه المهارات تتغير ببطئ عما قبل مع مرور الزمن و مع خلق التكنولوجيا لمهارات جديده. فمثلا كانت هذه المهارات من قبل تتضمن تعلم لغة الآلة و مؤخرا تضمنت كتابة HTML. بالنسبة للوقت الحالي فهذه المهارات تتضمن ما هو أكثر من ذلك …
1- تعلم البرمجه :
هذه بالتأكيد هي أول مهارات الهاكر الأساسية. فإذا لم تكن تعلم أي من لغات الحاسب الآلي أنصحك بالبدأ بتعلم لغة python فهي سهلة التعلم للمبتدئين ويوجد لها وثائق تعليمية جيده. و بالرغم من كونها لغة جيده للبدأ بها فهي ليست لعبة بل انها لغة قوية و مناسبة للمشاريع الكبيرة. ولكي تتعرف أكثر لماذا لغة البايثون أنصحك بقراءة هذا المقال التفصيلي عن مميزات هذه اللغة. كما يوجد أيضآ دروس تعليمية ممتازه تجدها على موقع بايثون الرسمي. ويمكنك زيارتها من خلال هذا الرابط.
الجافا هي لغة برمجة جيده جدآ ويعتبر تعلمها من مهارات الهاكر الأساسية. هي أصعب من البايثون أينعم و لكنها تنتج كود أسرع من البايثون. برأي انها تمثل أفضل اختيار ثاني لك. للأسف فالتطبيق المرجع الخاص بشركة صن مازال غير حر. و لكن ليست هذه المشكلة في لغة الجافا نفسها حيث يوجد مترجمين عاليي الجودة و مفتوحين المصدر للجافا. المشكلة الحقيقية تكمن في المكتبات التي تأتي مع لغة البرمجة. المكتبات مفتوحة المصدر أقل جودة من الخاصه بشركة صن. لذلك فإذا اخترت تعلم الجافا قم بالتعلم بواسطة أحد التطبيقات مفتوحة المصدر بدلا من الاعتماد على تطبيق صن المغلق المصدر.
مهارات الهكر في تعلم البرمجة :
اعلم أنك لن تصل إلى مستوى الهاكر أو حتى المبرمج إذا تعرفت على لغة برمجة واحده أو اتنتين فهي أحد أعمدة اكتساب مهارات الهاكر.
يجب أن تتعلم كيفية التفكير في المشاكل البرمجية بشكل عام. مستقلا عن أية لغة برمجة. لكي تصبح هاكر وتكتسب مهارات الهاكر يجب أن تصل إلى مستوي حيث يمكنك تعلم لغة برمجة في أيام عن طريق ربط ما هو موجود في كتيب هذه اللغه بما تعرفه انت مسبقا. و هذا يعني تعلمك للعديد من لغات البرمجة.
اذا بدأت في التعمق في برمجة جدية فسوف يجب عليك تعلم لغة السي، قلب نظام التشغيل يونكس. لغة السي++ قريبه جدا من لغة السي، إذا تعلمت واحده فسوف يصبح من السهل عليك تعلم الأخرى. ليست أي منهما الاختيار الصحيح لكي تبدأ به. في الحقيقة كلما استطعت الابتعاد عن البرمجة بالسي كلما أصبحت أكثر انتاجية.
لغة السي هل هي بهذه الأهمية ؟
السي لغة قوية و موفرة لمصادر جهازك ولكن لكي توفر السي هذه الميزة يتوجب عليك عمل العديد من الوظائف بنفسك للتحكم في المصادر ( كالذاكرة مثلا). كل هذه الشيفرة البرمجية تزيد من احتمالات الخطأ و سوف تتطلب منك وقت أطول في تتبع الأخطاء بالبرنامج. هذه الميزة ليست في غاية الأهمية هذه الأيام مع وجود أجهزة قوية كالموجودة حاليا. يفضل استخدام لغة برمجة تقوم بإهدار مصادر الجهاز و لكنها ستقوم بتوفير وقتك مثل البايثون.
لغات برمجة أخري :
يوجد لغات أخرى تعتبر مهمة لاكتساب مهارات الهاكر من ضمنها البيرل و ليسب. البيرل مهمة لأسباب عملية، فهي تستخدم للصفحات الديناميكية و يستخدمها مديرين النظم. لذلك حتى لو لم تتعلم البرمجة بلغة بيرل فعليك أن تستطيع فهم الكود المكتوب بها. يستخدم العديد من المبرمجين البيرل بنفس الصورة التي أقترح عليك استخدام البايثون بها لتجنب البرمجة بالسي عندما لا تحتاج إلى هذا القدر من التحكم في مصادر الجهاز. سوف تحتاج أن تفهم الكود الذي يكتبه هؤلاء المبرمجين.
لماذا لغة ليسب ؟
تستحق لغة ليسب لفت الانتباه لها لسبب مختلف، بسبب التجربة الرائعة التي سوف تحظى بها عندما تصل إلى فهم هذه اللغه. هذه الخبرة سوف تجعلك مبرمج أفضل لباقية حياتك حتى لو لم تستخدم هذه اللغه كثيرا. يمكنك اكتساب خبرة بسيطه ببساطه عن طريق كتابة أو تعديل بعض الأنماط لمحرر النصوص emacs.
5 لغات يجب تعلمهم :
أفضل اختيار بالطبع أن تتعلم الخمس لغات. البايثون، السي، السي++، الجافا، البيرل، و الليسب. إلى جانب أنهم أهم اللغات للهاكرز فهم يمثلون تعريف بأكثر من تقنية برمجية و كل منهم سوف يعلمك شئ ذو قيمة عاليه.
لا يمكنني شرح كيفية تعلم البرمجة في هذا المقال فهي مهارة معقدة. و لكن يمكنني أن أخبرك بأن الكتب و الدورات لن يؤدوا الغرض. الكثير بل معظم الهاكرز علموا أنفسهم بأنفسهم. يمكنك تعلم شيئ بسيط من الكتب و لكن أهم مهارات الهاكر سوف تتعلمها فقط عندما تبدأ بممارسة البرمجة. ما سوف يعلمك بالشكل الصحيح هو
1- قراءة الكود البرمجي.
2- كتابة الكود البرمجي.
لغات البرمجه وتعلم اللغات البشرية :
تعلم البرمجة يكاد يكون مثل تعلم أي لغه بشريه حيث أفضل طريقة لتعلم اللغات البشريه هي قراءة بعض ما هو مكتوب من قبل أساتذة تلك اللغات و كتابة بعض الأشياء بنفسك و قراءة المزيد و كتابة المزيد حتى تبدأ كتاباتك في التطور لتصل إلى المستوى الذي تريده.
كان العثور على كود لبرامج جيده صعبا بسبب وجود عدد بسيط من البرامج حرة المصدر ليتمكن الهاكرز من قرائتها و التعديل بها ولكن هذا الشئ قد تغير تماما الآن فالبرامج و نظم التشغيل و أدوات البرمجة مفتوحة المصدر و المبنية من قبل الهاكرز متوفرة الآن و هذا ما ينقلني للنقطة التالية.
2- الحصول علي أحد أنظمة ليونكس مفتوحة المصدر :
عليك أن تقوم بالحصول على نسخة من نظام التشغيل لينكس أو نظام التشغيل من عائلة BSD و تقوم بتثبيته على جهازك والعمل به.
نعم يوجد أنظمة تشغيل أخرى و لكنها أنظمة مغلقة المصدر و تصل إليك في الشكل النهائي حيث لا يمكنك قراءة الكود المصدري للنظام ولا يمكنك التعديل به. محاولة تعلم الهاك أثناء استخدام نظام التشغيل وندوز أو ماك أو إس يشبه تماما من يحاول تعلم الرقص و هو يرتدي بذله حديدية.
يمكن التعلم باستخدام نظام MacOS X و لكن ليس كل نظام التشغيل مفتوح المصدر لك فسوف تقابل العديد من العقبات. و كن حذر لكي لا يصبح لديك العادة السيئة و هي الاعتماد على الكود مغلق المصدر الخاص بشركة أبل. إذا ركزت على مبادئ اليونكس الموجوده في النظام فسوف تتعلم شيئا مفيداً.
لماذا يونكس ؟
اليونكس هو نظام تشغيل الانترنت. بينما يمكنك تعلم استخدام الانترنت بدون تعلم اليونكس لن يمكنك أن تصبح هاكر انترنت بدون تعلم اليونكس و فهمه. لهذا السبب فثقافة الهاكرز الآن متمركزة بقوة حول اليونكس ” وتعد أحد أعمدة مهارات الهاكر.
لم يكن هذا موجودا من قبل و يوجد بعض الهاكرز القدامى الغير سعيدين بهذا الشئ و لكن الصلة بين اليونكس و الانترنت أصبحت قوية لدرجة أن ميكروسوفت ليست بالقوة الكافية لتضعف هذه الصلة “.
لذلك قم بجلب نظام تشغيل مثل اليونكس، أنا أفضل اللينكس و لكن يوجد أنظمة أخرى ( نعم يمكنك تثبيت نظامي لينكس و نظام وندوز على نفس الكمبيوتر جنبا إلى جنب). تعلم النظام و قم بالعمل عليه و ادخل على الانترنت عن طريقه. إقرأ الكود و عدل به. سوف تحصل على أدوات أفضل بكثير للبرمجة من أي أدوات يمكن أن تراها على نظام التشغيل وندوز. سوف تحصل على المرح و على الكثير من المعلومات أكثر مما تتخيل أثناء استخدامك و سوف تدرك هذا الشيئ عندما تنظر إلى الوراء لترى ما كنت عليه قبل أن تصبح هاكر.
لكي تحصل على نسخة لينكس راجع هذه التدوينة عن أفضل توزيعات لينوكس للهاكرز وكذلك هذه التدوينة عن أفضل توزيعات اللينوكس للمبرمجين ” وكليهما يحتويان علي روابط تحميل مباشرة “. يمكنك تحميل نسخة لينكس من هناك. بالنسبة للمستخدم الجديد فلا يوجد فرق كبير بين توزيعات اللينكس المختلفه.يمكنك الحصول على المساعده بخصوص نسخ يونكس BSD من الموقع www.bsd.org. حيث يوجد درس عن مبادئ اليونكس و الانترنت.
ملاحظة: لا أنصح بتثبيت اللينكس أو BSD وحدهما على الجهاز إذا كنت مبتدئ. حاول العثور على مجموعة مستخدمي لينكس لتسألهم المساعده.
3- تعلم كيفية استعمال WWW و كيفية كتابة HTML :
معظم الأشياء التي يقوم بها الهاكرز ليست واضحه و مرئية لغير الهاكرز مثل مساعدة الجامعات و المصانع و المكاتب على العمل. ماعدا الويب، و هو لعبة الهاكرز البراقه التي حتى السياسيين يعترفون بأنها تحدث تغييرا في العالم و لهذا السبب بالإضافة إلى أسباب لأخرى يجب أن تتعلم كيفية التعامل مع الويب.
لا يعني هذا أن تتعلم كيف تتعامل مع المتصفح ( أي شخص يمكنه فعل هذا) و لكن يجب أن تتعلم كيف تقوم بكتابة صفحات الانترنت بواسطة HTML. إذا لم تكن تعرف كيف تبرمج فعندما تتعلم كتابة الصفحات بواسطة HTML سوف تتعلم بعض العادات التي سوف تساعدك على تعلم الأشياء الأخرى. قم ببناء صفحة خاصه بك. حاول دائما أن تستخدم XHTML و هي أفضل من ال HTML التقليدية. يوجد العديد من الدروس التعليمية الجيده على الانترنت، هذا واحد منها http://www.make-a-web-site.com
و لكن بناء صفحة على الانترنت لك ليس كافيا لتصبح هاكر. الويب مليئة بالصفحات الشخصية. معظمهم لا جدوى منهم ولا يوجد بهم أي محتوي ذو قيمة و ذو مظهر أبله. للمزيد عن هذا الموضوع راجع صفحة The HTML Hell Page
لكي يصبح لصفحتك قيمة يجب أن يكون بها محتوى يجذب الانتباه أو مفيد للهاكرز الآخرين. و هذا ينقلنا للنقطة التاليه.
4- إذا لم تكن تعرف الإنجليزية، إبدأ في تعلمها :
الانجليزية هي اللغة المعروفة كلغة أساسية لمجتمع الهاكرز و الانترنت و أنك سوف تحتاجها لكي تستطيع التعامل مع مجتمع الهاكرز.
في حوالي سنة 1991 علمت أن العديد من الهاكرز الذين يتحدثون لغات غير الانجليزي يستخدمون الانجليزية في مناقشاتهم التقنية حتى و لو كانت لغتهم الأم واحده. حيث أن اللغة الانجليزية بها مصطلحات تقنية أغنى من أي لغة أخرى و لهذا فهي أسهل في التخاطب في الأمور التقنية. و لذلك فالكتب المترجمة من الانجليزية إلى لغات أخرى ليست بنفس مستوى الكفاءة.
لينوس تورفالدس و هو فنلندي يقوم بكتابة التعليقات على الكود الذي يكتبه بالانجليزية. قدرته على التحدث بالانجليزية لعبت دورا هاماً في قدرته على العمل مع المجتمع الواسع من المطورين على الانترنت لتطوير اللينكس. و هو مثال جدير أن يحتذى به.
يمكنك الاستعانه بهذه التدوينة لتعلم الانجليزية ” اضغط هنا ”
وإلي هنا وصلنا الي نهاية تدوينة اليوم عن ” مهارات الهاكر الاساسية ” من سلسلة تدوينات كيف تصبح هاكر حقيقي. وموعدنا مع لقاء في التدوينة التاليه بإذن الله.
خالص الشكر والتقدير لـ EricStevenRaymond صاحب الموضوع الأصلي من موقع catb.org .
موعدنا اليوم في تدوينة اخري بعنوان خطة عمل لـ احتراف امن المعلومات و في هذه التدوينة سنتكلم عن مجالات امن المعلومات المختلفة فا مجال امن المعلومات هو مجال كبير و متشعب و فيه مجالات كثيرة
في البداية يجب ان تدرس هذه الشهاداتين لكي تتمكن من دخول مجال امن المعلومات
شهادة CS50 :
في طريقك لـ احتراف امن المعلومات يجب عليك دراسة هذه الشهادة و هي اختصار لكلمة Computer Science 50 و في هذه الشهادة ستدرس جميع اساسيات علوم الكمبيوتر مثل :
assembly
c / c++
networking
data structures
algorithms
firewalls
linux security
network security
وبعد حصولك علي هذه الشهادة ستصبح قادرآ علي فهم اشياء كثيرة في مجال علوم الحاسوب, تتعلق بالبرمجيات والشبكات وطرق الحماية وفهم اللوغاريتمات وطرق التشفير وأنظمة التشغيل, واهمها نظام تشغيل لينوكس. وأنصحك بقراءة هذا التدوينات المرجعية فسوف تسهل عليك كثيرآ في فهم المواد التي تدرسها.
لكي تحترف مجال امن المعلومات يجب عليك دراسة هذه الشهادة و هي اختصار لكلمة Global security Essentials و في هذه الشهادة ستدرس جميع امر الحماية التي يجب عليك معرفتها مثل :
Access Control & Password Management
Active Defense
Advanced Persistent Threat
Contingency Plans
Cryptography
Cryptography Algorithms & Deployment
Cryptography Application
Defense in Depth
Defensible Network Architecture
Endpoint Security
Enforcing Windows Security Policy
Incident Handling and Response
IT Risk Management
Linux Security: Structure, Permissions and Access
Linux: Monitoring and Attack Detection
Linux: Security Utilities
Network Device Security
Network Security Devices
Networking & Protocols
Vulnerability Scanning and Penetration Testing
Web Communication Security
Windows Access Controls
Wireless Network Security
و عند الحصول علي هاتان الشهاداتان ستصبح قادر علي التعمق أكثر في مجال امن المعلومات و تكون قد خطوت خطواتك الأولي نحو احتراف أمن المعلومات.
في مجال امن المعلومات توجد فروع كثيرة و لكن من اشهر هذه الفروع :
penetration testing
cyber defense
application security
digital forensics
1- Penetration Testing :
مجال اختبار الاختراق هو من اكثر المجالات تشويقا و متعة في مجال احتراف امن المعلومات فلو كنت تحب الاختراق و تخطي انواع الحمايات فبالطبع ستُحب مجال اختبار الاختراق و لكي تحترف مجال اختبار الاختراق يجب عليك دراسة الاتي :
SANS 560 – Network Penetration Testing and Ethical Hacking – Offensive-Security – PWK – Penetration Testing with Kali – SANS 542 – Web App Penetration Testing and Ethical Hacking – SANS 642 – Advanced Web App Penetration Testing, Ethical Hacking, and Exploitation Techniques – SANS 660- Advanced Penetration Testing, Exploit Writing, and Ethical Hacking.tar – Offensive-Security – CTP – Cracking the Perimeter 1.0
Cyber Defense :
مجال Cyber Defence هو مجال رائع في امن المعلومات ففي هذا المجال ستتعلم كيف تحمي انظمة النشغيل المختلفة و كيف تجعل الشبكات محمية من الاختراق و سوف تحتاج لكي تدرس في مجال cyber defence الي :
– SANS 506 – Securing Linux & UNIX – SANS 505 – Sans Securing Windows with PowerShell – SANS 503 – Intrusion Detection In-Depth
3- Application security :
ويُعد من اهم مجالات امن المعلومات الاكثر احترافية في هذا المجال وستدرس اكتشاف ثغرات في اكواد التطبيقات سواء اكانت تطبيقات هاتف او تطبيقات ويب او حتي تطبيقات تعمل علي سطح المكتب.
و لكن قبل الدخول الي هذا الفرع يجب عليك دراسة لغات برمجة كثيرة و فهم طريقة عمل التطبيقات و الاكواد فيجب ان تبقي علي اطلاع دائما علي اخر اخبار امن التطبيقات و الثغرات التي تكتشف كل يوم و سوف نضع لك روابط ستساعدك في البقاء علي اطلاع علي مستجدات امن التطبيقات و كورسات تجعلك محترف في هذا المجال. وللمزيد أنصحك بزيارة هذه الروابط :
و هو اهم مجال في امن المعلومات من وجهة نظري و هو مجال التحقيق الرقمي فنفترض انك تعمل في شركة و تم اختراق هذه الشركة فيأتي دور ال digital forensic فهو من يقوم بتحليل الـ log files و يفحص النظام و الشبكة و يحلل الفيروسات و يبحث عن الثغرات التي جعلت الهاكر يخترق النظام و لكي تحترف هذه المجال ستدرس :
– SANS 572 – Advanced Network Forensics and Analysis – SANS 408 – Windows Forensic Analysis – SANS 508 – Advanced Digital Forensics and Incident Response – SANS 610 – Reverse-Engineering Malware: Malware Analysis Tools and Techniques
الانترنت اصبح الان شبكة عامة يربط العالم كله مع بعضه البعض و من اجل التحكم في الشارات بين كل جهاز و اخر يجب ان يوجد بروتكولاو قانون دولي يحكم بين جميع الأجهزة و هنا يأتي دور بروتكول نقل البيانات الفائق او ما يعرف HTTP هيا بنا لنتعرف عليه :
عند الدخول علي أي موقع علي الانترنت دائما تري في بداية عنوان الموقع رمز HTTP او موقع امن تلاحظ وجدود في اول عنوان الموقع كلمة HTTPS لاكن ماذا تعني هذه الكلمة و ما أهميتها كشخص يستخدم الانترنت هيا بنا لنري :
كيف يعمل بروتكول نقل البيانات الفائق HTTP او HTTPS :
من المعلوم أنه قبل إرسال البيانات عبر الإنترنت يجب عنونتها من خلال البرتوكول HTTP وهو البروتوكول الذي يقوم بوضع عنونة للبيانات لكي يتعرف بروتوكول TCP على المكان الذي سوف يتم نقل البيانات من خلاله، ويستخدم برتوكول HTTP عن طريق الويب في عملية نقل البيانات من كمبيوتر إلى أخر… ويمكنك ملاحظة ذلك عندما تريد استدعاء عنوان فأنت تقوم بكتابة العنوان المطلوب مسبوقاً بـhttp:// ولذلك فإنك تعلم مباشرة أن الانترنت يستخدم البرتوكول HTTP لإحضار هذه الصفحة.
ولهذا فإن الـ TCP يعد عبارة عن ساعي البريد الذي يقوم بإيصال رسالة ما، هذه الرسالة فيها طابع بريد وعنوان وهو ما نسميه بالـ HTTP.
حيث يتم تمرير الطلب من المستعرض إلى ملقم أو خادم الويب و هو ما يعرف بـ HTTP request ، ويقوم الجهاز الخادم بالبحث في البيانات الموجودة لديه حتى يحصل على البيانات المطلوبة فإذا وجد الصفحة قام بإرسالها على شكل حزم إلى المستخدم الذي قام بطلبها باستخدام بروتوكول TCP ويعنون هذه الحزم لمستعرض الانترنت لديك باستخدام بروتوكول HTTP، ولكن إذا لم يجد خادم الويب الصفحة المطلوبة فانه يقوم بإرسال صفحة تحتوي على رسالة خطا 404، وهذه الصفحة التي أرسلت من ملقم الويب إلى المستعرض لديك تسمي HTTP response.
تعريف بروتكول HTTP :
هو عبارة عن وسيط بين المستخدم و سيرفر الانترنت يسمح للمواقع و التطبيقات بالتواصل مع بعضهم البعض بطريقة سليمة و فواعد منظمة حتي لا تحدث مشاكل.
و الان يجب ان تعرف ما هو القانون او التعليمات التي انت توافق عليها عندما ترغب بالدخول علي موقع من مواقع الانترنت.
HTTP يعتبر بروتكول قائم علي TCP/IP في نقل البيانات.
كلمة HTTP هي اختصار لكلمة (Hyper text Transport Protocol) و تم تصميم هذا البروتكول لتأمين عملية نقل بيانات ملفات HTML اثناء عملية Request Response و المستخدم العادي للإنترنت هو الذي يقوم بإرسال بيانات و السيرفر الذي يقوم باستجابة طلب مستخدم الانترنت.
خصائص بروتكول HTTP :
1 – انعدام الاتصال : بمعني ان بعدما ان ينتهي مستخدم الانترنت من ارسال البيانات الي السيرفر الاتصال الذي يوجد بين المستخدم و السيرفر ينقطع نهائيا و بعدما ان ينتهي السيرفر من عمل معالجة للبيانات يبدأ الوسيط (HTTP) بإعادة الاتصال مرة اخري من اجل إعادة ارسال الطلب من السيرفر الي المستخدم.
2 – انعدم تخزين الحالة : بمعني ان السيرفر و مستخدم الانترنت يجب ان يكونوا هذان الطرفان ان يتم التعرف علي تفاصيل بعضهما البعض وقت التعامل بينهما فقط و بعد انتهاء هذا التعامل يأتي دور الوسيط (HTTP) ، (HTTP) يحرص علي ان كل طرف من الطرفان ان ينسي تفاصيل الاخر تماما و لا يتذكره نهائيا و بالتالي اذا تم عمل تعامل بين نفس الطرفان في أي وقت يكون كأن هذه اول مره هذان الجهازان يتعاملوا مع بعضهم البعض.
و الان لاحظت انه يجب ان يوجد قانون او قواعد او تعليمات يحكم التعامل.
هيا بنا لنري كيف تتم عملية ارسال البيانات الي السيرفر و ارجاعها مرة اخري للمستخدم الانترنت :
1 – مستخدم الانترنت يكتب عنوان الموقع URL في متصفح الانترنت الان يعمل الوسيط (HTTP) (TCP/IP) من اجل ان يتأكد انه يوجد اتصال مبين المستخدم الانترنت و السيرفر و اذا كان هذا الاتصال يعمل بدون مشاكل يتم الموافقة علي طلب مستخدم الانترنت و يتم ارسالها الي السيرفر و بعد هذا يتم قطع هذا الاتصال لأننا تحدثنا سابقنا لماذا تتم هذه العملية السيرفر الان سوف يعالج البيانات التي تم ارسالها من المستخدم و الان يعود الاتصال مره اخري و هذه المرة يتم ارسال رسالة استجابة او HTTP Response Message و بعدما ان يتم توصيل هذه الرسالة او البيانات الي المستخدم يتم قطع الاتصال مرة اخري و كل طرف من الطرفان ينسي و لا يتذكر تفاصيل الاخر و كأن لم يحدث بينهم أي تعامل قبل هكذا و هذا يرجع الي ميزة انعدام تخزين الحالة التي تكلمنا عنها منذ قليل و تستمر هذه العملية طول ما مستخدم الانترنت يتصفح أي موقع.
لاكن الإصدارات الاولي من بروتكول HTTP لم يكن جيد في معظم الوقت المشكلة انك كنت لا تستطيع ان تطلب اكثر من شيء واحد في كل دورة و بالتالي اذا منت تملك أشياء كثيرة علي صفحة الانترنت تكون تحتاج الي دورات كثيرة لتحميل الصفحة بالكامل.
مثال بسيط للتوضيح : نفترض اذا كنت ترغب انت ان تقوم بفتح صفحة من صفحات الانترنت يوجد بها خمسة صور و الذي سوف يحدث ان يقوم البروتكول بفتح ستة صفحات الاولي لصفة HTML و الثانية للصورة الاولي و الثالثة للصورة الثانية و الرابعة للصورة الثالثة و الخامسة للصورة الرابعة و الصفحة السادسة الأخيرة للصورة الخامسة هل فهمت الان ما هو الجيل الأول.
و بعد هذا ظهر الجيل الثاني من بروتكول HTTP باسم بروتكول 1.1 او HTTP1.1 Persistent Connection و ميزة هذه انك كمستخدم للإنترنت تقدر عن طريق وصلة واحدة بين مستخدم الانترنت و السيرفر يمكنك ارسال كثير من البيانات في نفس الوقت و بالتالي توفير كثير من الوقت لتحميل صفحة من علي الإنترنت و هذه أيضا ميزة لأنها تقلل عدد الوصلات التي تم انتاجها علي (TCP/IP).
بالرجوع للمثل السابق : انك يمكنك تحميل الخمس صور عن طريق طلب واحد.
و لاكن بروتكول 1.1 HTTP Persistent Connection يوجد به امر خطير جدا و هو ان البيانات التي انت كمستخدم انترنت ترسلها الي السيرفر و السيرفر يعيد اسال هذه البيانات لك مرة اخري تكون غير مشفرة و بالتالي يكون من السهل علي الهاكرز ان يخترق هذه الإشارات او البيانات سواء اذا كنت ترسل بيانات من السيرفر او تستقبل بيانات من السيرفر و من اجل الحماية من الهاكرز ظهر بروتكول جديد باسم HTTPS لحد هنا و سوف نقف و في تدوينه قادمة بأذن الله سوف نتحدث عن بروتكول HTTPS و في التدونية القادمة سوف نتحدث عن SSLاو هي اختصار لكلمة (Secure Sockets Layers) ، و TLSو هي اختصار لكلمة (TransportLayers Security) و أنواع HTTPS.
DNS نظام أسماء النطاقات “Domain Name System” هو نظام يخزن معلومات تتعلق بأسماء نطاقات في قاعدة بيانات موزعة علىالإنترنت. يقوم خادم اسم النطاق بربط العديد من المعلومات بأسماء النطاقات، ولكن وعلى وجه الخصوص يخزن عنوان الأي بي المرتبط بذلك النطاق.
ماهو الـ DNS :
هو المسؤول عن قراءة روابط المواقع , فعلى سبيل المثال إن اسم نطاق موقع جوجل هو “google.com” وعند زيارة الموقع سيتم كتابة اسم النطاق ضمن مربع العناوين في المتصفح وللأسف فإن الحاسب لا يملك آلية لفهم النطاقات النصية فهو لا يستطيع أن يجد موقع “google.com” في الإنترنت بسهولة لكون التعامل مع الأرقام أسهل بكثير من التعامل مع النصوص في عمليات البحث والفهرسة , إن موقع جوجل موجود على IP ذو العنوان 173.194.39.78 وهو عنوان موقع جوجل على الإنترنت وعندما يتم وضع هذا الرقم في مربع العناوين في المتصفح سيتم تحميل الصفحة حيث يقوم الحاسب بتخزين استجابات طلبات الـ DNS كي لا يتم طلبها في كل مرة يتم الاتصال بها بجوجل.
فعندما يقوم الحاسب بتحديد رقم الـ IP المرتبط باسم عنوان الموقع سيتم تذكر هذا العنوان لفترة محددة من الزمن الأمر الذي يساعد على تسريع التصفح بفضل تخطي مرحلة طلب الـ DNS , كما يمكنك أيضا زيادة درجة الحماية والأمان من خلال استخدام احد الـ DNS التي تقوم بحجب المواقع الغير آمنة.
كيف يسمي الـ DNS النطاقات:
تعتمد تقنية التسمية في النطاق على عملية التجميع الهرمي للأسماء حيث تعرف النطاقات “Domains” عدة مستويات مختلفة في بنية هرمية، وهذه المستويات هي:
النطاق الجذري (Root Domain):
يمثل أعلى مستوى في البنية الهرمية ويشار إليه بنقطة (.).
مستوى القمة للنطاقات (Top-Level Domains):
يمثل هذا المستوى باختصارات من رمزين أو ثلاثة، تعبر عن نوع المنظمة، أو الموقع الجغرافي، أو عن أي شيء .يمكن لنطاقات المستوى الأعلى Top Level Domain أن تحتوي على نطاقات المستوى الثاني Second Level Domains، بالإضافة إلى المستخدمين.
المستوى الثاني للنطاقات (Second Level Domains):
يمكن أن يحتوي هذا المستوى على مستخدمين، وعلى نطاقات أخرى تدعى “Sub domains”.
أسماء المضيفين(Host Names):
تكون أسماء المضيفين إشارة إلى كمبيوترات موجودة على الإنترنت أو في شبكة خصوصية وتكون أسماء المضيفين دائماً في أقصى اليسار ضمن الاسم.
ما هي مكونات الـ DNS:
فضاء الأسماء:
وهو فضاء الأسماء الذي يعبر عن جميع عناصر النطاق، حيث يتم إلحاق أسماء عناصر النطاق به، ويمكن اعتباره قاعدة بيانات النظام.
المخدمات :
تحتوي مخدمات الـ “DNS”على معلومات عن عناوين الحواسيب الزبونة على الشبكة وعناوين الـ IP الموافقة، حيث تقدم هذه المعلومات إلى المستخدمين الذين يقومون بإرسال الطلبات “Requests” من أجل الحصول على مثل هذه المعلومات. في حال لم يكن المخدم “Name Server” قادراً على تقديم المعلومات لسبب أو لآخر، فإن الطلب يمكن أن يمرر إلى مخدم آخر.
الأجهزة الزبونة على الشبكة :
وهم مستخدمو الشبكة الذين يقومون بتقديم طلبات تحويل اسم معطى إلى عنوان IP الموافق والضروري من أجل تحقيق الاتصال عبر الشبكة.
طريقة عمل الـ DNS:
المستخدم يطلب من أقرب خادم مقرر”Resolver” العنوان الرقمي لاسم النطاق “www.matrix219.com”، وعادة ما يكون المقرر معرف في إعدادات الشبكة على جهاز المستخدم.
المقرر يقوم بالبحث عن الخادم الرئيسي لاسم النطاق المطلوب وذلك من خلال سؤال الخادمات الرئيسية العامة (Root Server) ومن ثم الخادمات المسؤولة عن النطاق العلوي الذي يتبع له النطاق إلى أن يصل إلى أحد الخادمات المسئولة عن ذلك النطاق ويرسل الاستفسار إليها.
خادم أسماء النطاقات المسؤول عن النطاق يقوم بالبحث في ملف النطاق المتوفر لديه عن المعلومة المطلوبة ومن ثم يرد على ذلك الاستفسار بالعنوان الرقمي لذلك النطاق.
المقرر يقوم بالرد على استفسار المستخدم بالنتيجة التي حصل عليها ويقوم بتخزينها في السجلات المؤقتة لديه “حتى يستخدم عند طلب نفس الاستفسار من قبل مستخدم آخر خلال مدة معينة”.
طريقة تكوين أسماء النطاقات:
يتكون اسم أي نطاق من مقطعين، يتم الفصل بينهما بنقطة. على سبيل المثال موقع google.com، المقطع الأول هو google والمقطع الثاني هو com، المقطع الثاني من اسم النطاق يشير إلى النشاط الذي يتم استخدام الموقع من أجله، فكلمة com تشير إلى شركة، وكلمة net تشير إلى شبكة، وكلمة org تشير إلى منظمة، وهناك المئات من اللواحق التي ظهرت لتسهيل عملية إدارة المواقع، إلا أن الأكثر انتشارًا في الوقت الحالي هو نطاق com، يليه نطاق net.
قائمة أفضل سيرفرات DNS مجانية :
OpenDNS:
OpenDNS هي أفضل شركة سرفرات DNS مجانية توفر لك أنترنت أسرع و أأمن ، هي شركة قديمة لخدمات DNS ولهذا فانت في ايدٍ أمينة و يمكنك العثور على سرفراتهم على :
208.67.222.222
208.67.220.220
Google Public :
Google Public هو مشروع بدائته جوجل تحت إشرافهم لويب أكثر اماناً و سرعة سرفراتهم تطور بوساطة جوجل و توفر تصفحاً أكثر سرعة و هب أضخم سرفرات DNS عامة مجانية في العالم يأتيها أكثر من 400 مليون طلب يومياً و قد بدائتها جوجل في عام 2009 و هي متاحة على:
8.8.8.8
8.8.4.4
Advantage :
Advantage هي الاخري توفر سرفرات DNS مجانية في كل انحاء العالم و سرفرات DNS الخاصة بها و احدة من اكثر السرفرات شعبية على مستوي العالم بدات في عام 2007 و هي متوفرة على:
156.154.70.1
156.154.71.1
و توجد سرفراتها في امريكا الشمالية و اوروبا و اسيا و افريقيا و سيدني في استراليا.
Comodo Secure :
Comodo Secure هو واحدة من افضل شركات سرفرات DNS المجانية و تم إنشائها بوساطة شركة كومودو لامن الويب و هي متوفرة على:
8.26.56.26
8.20.247.20
Norton DNS:
Norton DNS عند قرائة الاسم لاول وهلة سيخطر ببالك مكافح الفيروسات المعروف نورتون و بالفعل شركة نورتون هي التي توفر هذه السرفرات و هي سرفرات سريعة و امنة طوال الوقت و هي متوفرة على:
السلام عليكم ورحمه الله وبركاته معكم الجنرال للمعلوميات تك
اليوم كما وعدتكم وعد سابق انني سوف اهتم بل المبرمجين المحترفين او المبرمجين الذي في اول حياتهم في البرمجه
اليوم حققت لكم وعدي وسوف ابدا بتنزيل كل مايخص كل مبرمج من ادوات وتطوير لغات برمجه كل هذا واكثر في موقع #الجنرال_للمعلوميات_تك تابعنا ليصلك وتكون اول شخص متابع كل جديد
اليوم هذا البرنامج هو لكل محترف في البرمجه هذا البرنامج الذي هو
بيئة التطوير الجديدة الخاصة بالأندرويد
بيئة جديدة لتطوير برامج الاندوريد
حيث يمكنك ان تصنع تطبيقك بكل سهوله فقط من علي برنامج اندوريد استديو