الاثنين، 18 أكتوبر 2010

شرح الأداة Netcat في لينكس و ويندوز

شرح الأداة NETCAT


مقدمة:
تعد الأداة "netcat" من الأدوات المتعدد أستخدمها , تستطيع تحويلها ألى سيرفر أو كاشف للمنافذ المتاحة , سأتطرق في هذا الموضوع ألى طريقة تثبيت الأداة و أستعمالتها .


التثبيت :


Windows:


1-قم بتنزيل البرنامج من هذا الرابط .
2- قم بفك ضغط الملف في المجلد "c:\Windows\System32".
3-الآن تستطيع استخدام الأمر "nc" من منفذ الأوامر   "cmd"(لكي تتعرف على منفذ الأوامر أتبع الرابط).

Ubuntu:


·         في الغالب تأتي أنظمة لينكس مع البرنامج "netcat" , و لكن في حالة عدم وجوده أستخدم الأمر التالي :
apt-get install netcat
تستطيع التعامل مع الأمر بواسطة المحطة الفرعية "Terminal" أو محث الأوامر بطباعة الأمر "nc".

الأوامر الخاصة بــ"netcat":


الأمر
الشرح
-c
استخدام "/bin/bash" لتنفيذ الأوامر عند اتمام الأتصال (هذا الاختيار موجود في لينكس فقط)
-e
تحديد أسم البرنامج الذي سينفذ عند نجاح الأتصال
-h
أظهار التعليمات لبرنامج Netcat
-i
تحديد الوقت بين كل عملية اتصال يقوم بها البرنامج "هذا الاختيار مفيد في حالة البحث عن المنافذ المتاحة "port scanner" "
-l
يصبح البرنامج في حالة انتظار الاتصال "server mode"
-n
يعتمد البرنامج على "IP" بدل أسم الموقع "domain"
-o
الملف المستخدم في حفظ البيانات المستقبلة.
-p
رقم المنفذ المستخدم
-r
استخدام قيم عشوائية لقيمة المنفذ
-q
عدد الثواني الانتظار قبل إغلاق الاتصال النشط , بعد استلام أشارة نهاية الملف "EOF".
-s
تحديد عنوان المصدر
-t
استخدام "TELNET negotiation" الخاصة برتوكول التلنت
-u
استخدام برتوكول UDP
-v
أظهار المزيد من المعلومات عن الاتصال , أذا اردت عرض جميع المعلومات قم بكتابة "-vv"
-z
يستخدم هذا الأمر في حالة البحث عن المنافذ المتاحة "Port scanning"



الأمثلة:


·         برنامج محادثة بسيط :
قم بكتابة الأمر :
nc –l –p 244
ثم قم بكتابة الأمر التالي في حاسب أخر على نفس الشبكة أو قم باستخدام نافذة أخرى لمحث الأوامر (لقد قمت بتنفيذ الأمر على نفس الحاسب لذا استعملت عنوان الحاسب الداخلي (localhost) أو الأي بي "127.0.0.1" , لذ أذا قمت بتنفيذ الأمر على حاسبين على نفس الشبكة أستبدل العنوان الذي وضعته بالأي بي الخاص بالحاسب) :
nc localhost 244
ستلاحظ أن الكتابة التي تطبع في أي الشاشتين .
·         
 عرض نوع السيرفر الذي يستضيف الموقع :
قم بكتابة الأمر التالي :
nc example.com 80

يقوم الأمر بالاتصال بالموقع "example.com" , عند نجاح الاتصال قم بكتابة الأمر :

GET / HTTP/1.1
<ENTER>
<ENTER>


قم بضغط <ENTER> مرتين بعد السطر الأول , أبحث في السطور الأولى من رد السيرفر عن ما يشابه التالي :

HTTP/1.1 200 OK
Date: Fri, 28 Nov 2008 14:11:49 GMT
Server: Apache/2.2.3 (Debian) mod_ssl/2.2.3 OpenSSL/0.9.8c
Last-Modified: Wed, 26 Nov 2008 19:34:17 GMT
ETag: "228c707-21b1-b6b7e040"
Accept-Ranges: bytes
Content-Length: 8625
Content-Type: text/html


سترى في السطر الأول التعليمة "HTTP/1.1 200 OK" التي تدل على نجاح الاتصال , ثم أنظر الى التعليمة "Server:" سترى أننا نتعامل من سيرفر من نوع apache  و الإصدارة "2.2.3" يعمل على نظام Debian.

·         أنشاء سيرفر HTTP بسيط :

cat page.html > nc –l –p 80

قم باستبدال الأمر "cat" بالأمر "sort" في نظام ويندوز , يقوم الأمر netcat بإرسال محتويات الملف "page.html" ألى المتصفح , لكي ترى عمل السيرفر قم بفتح المتصفح على الحاسوب الذي نفذه عليه الأمر , و أكتب في العنوان "localhost" .

·         برنامج بحث عن منافذ TCP المتاحة :

nc –z –v example.com 2-2344
"2-2344" يدل على مجال المنافذ التي تنفذ عليها عملية البحث , في حالة تفقد حالة منفذ واحد تستطيع كتابته كالتالي "80" , وفي حالة أكثر من قيمة للمنفذ تستطيع أن تمرره كالتالي "70 234 12 234" تفصل بينهما محرف المسافة.

·         برنامج يبحث عن منافذ UDP المتاحة:

nc –z –v –u example.com 123 23 12

الفرق الوحيد بين الأمرين هو وجود التعليمة "-u" , التي تستخدم لبرتوكول "UDP" .









ليست هناك تعليقات:

إرسال تعليق