Port Scanning
S h a b g a r d . O R G
.::Security Group::.

*Nix *Nix *Nix *Nix *Nix *Nix *Nix مبتدی مبتدی مبتدی

    Search for in  

  خانه

  *Nix

      مبتدی

      متوسط

      تخصصی

  Windows

      مبتدی

      متوسط

      تخصصی

  network

  Programming

      PHP

  Security

  Hacking

  Program

      MS-Word

      Graphic

  Cisco

  Hardware



Port Scanning
Posted by www.tur2.com on Jan 18, 2005, 04:59

- چگونه يک ارتباط TCP برقرار می‌شود که بگوييم فلان پورت باز است يا نه؟

برای اينکه تعيين کنيم که يک پورت روی يک سرور باز است يا نه، معمولا بايد يک TCP connect scan انجام دهيم. اول اين را بگم که Port Scanning انواع مختلف دارد که فعلا ما نوع TCP connect را مدنظر داريم. اين نوع اسکن سه مرحله دارد که به آن TCP"s 3-way handshakeمی‌گويند:
۱- اول کامپيوتر ما به سمت سرور يک SYN packet می‌فرستد که به معنی درخواست اتصال است.
۲- اگر سرور اين درخواست را قبول کند، در مرحله دوم سرور به سمت ما يک SYN/ACK packet می‌فرستد.
۳- در مرحله آخر کامپيوتر ما يک ACK packet به سمت سرور می‌فرستد.

نوع ديگری از پورت اسکن TCP SYN scan نام دارد. با توجه به اينکه معمولا اگر پورت اسکن به روش بالا (TCP connect scan) انجام دهيم، معمولا در سرور اين اتصال ذخيره خواهد شد و بعدا می‌تواند ما را رديابی کنند، به جای آن می‌توان از TCP SYN scan استفاده کرد. در اين نوع اسکن، مراحل ۱ و ۲ از بالا انجام می‌شود ولی مرحله ۳ نه! اگر در مرحله ۲ به ما يک SYN/ACK برسد، آن پورت باز است و اگر يک RST/ACK برسد، يعنی بسته است.

انواع ديگری از پورت اسکنينگ هم وجود دارد مثل UDP scan, TCP Window scan, TCP ACK scan, TCP Null, TCP Xmas Tree, TCP FIN Scan


- چگونه می‌توان عمل Port scanning را انجام داد؟

در تمام مطالبی که تا اين مرحله گفته‌ام سعی کرده‌ام که فقط از ابزارهای موجود در ويندوز استفاده کنم و هيچ ابزار ديگری به‌کار نبرم، اما در مبحث پورت اسکنينگ چون هيچ ابزاری در ويندوز برای اين‌ کار نيست، به‌ناچار بايد يک سری برنامه را از اينترنت داون‌لود کنيد. (توجه داشته باشيد که فعلا حرفی از لينوکس نزده‌ام و سعی می‌کنم فعلا هيچ بحثی را در مورد آن مطرح نکنم)

برای Port Scanning می‌توان از ابزارهای مختلفی استفاده کرد که اکثرا برای لينوکس طراحی شده‌اند، اما مهم‌ترين پورت اسکنرها برای ويندوز عبارتند از:

۱- نرم‌افزار NMapWin v1.3.0 :
نسخه گرافيکی و مخصوص ويندوز برای nmap است (nmap در لينوکس استفاده می‌شود). nmap از کامل‌ترين ابزارهايی است که هکر‌ها استفاده می‌کنند که علاوه بر توانايی انواع پورت اسکنينگ‌ها، می‌تواند کارهای بسياری چون تشخيص سيستم‌عامل سرور و ... را انجام دهد. اين ابزار را بعدا توضيح خواهم داد ولی فعلا برای کار ما بيش‌ از حد کامله ;-)

۲- NetScanTools Pro 2000 :
اين هم از بهترين‌هاست ولی چون پولی است به‌ جای داون‌لود بايد در CD هايی که در بازار هست پيدايش کنيد.

۳- WinScan :
برای اسکن کردن TCP (ونه UDP) می‌توانيد از آن استفاده کنيد. من زياد ازش خوشم نيومد.

۴- ipEye v1.2 :
من در این درس از اين نرم‌افزار استفاده خواهم کرد، برای داون‌لود آن می‌توانيد به سايت www.ntsecurity.nu مراجعه کنيد يا مستقيما با کليک روی اين لينک آن را داون‌لود کنيد. لازم است بگويم که اين نرم‌افزار فقط در ويندوز ۲۰۰۰ و xp کار می‌کند و نيز در يک بار اجرا فقط يک ip را می‌تواند تست کند. ضمنا فقط TCP را تست می‌کند.


- چگونه از ipEye برای پورت اسکنينگ استفاده کنيم؟

با تايپ ipEye در command prompt اين نتايج ظاهر می‌شود:
ipEye 1.2 - (c) 2000-2001, Arne Vidstrom (arne.vidstrom@ntsecurity.nu)
- http://ntsecurity.nu/toolbox/ipeye/

Error: Too few parameters.

Usage:

ipEye <target IP> <scantype> -p <port> [optional parameters]
ipEye <target IP> <scantype> -p <from port> <to port>
[optional parameters]

<scantype> is one of the following:
-syn = SYN scan
-fin = FIN scan
-null = Null scan
-xmas = Xmas scan>br>
(note: FIN, Null and Xmas scans don"t work against Windows systems.

[optional parameters] are selected from the following:
-sip <source IP> = source IP for the scan
-sp <source port> = source port for the scan
-d <delay in ms> = delay between scanned ports in milliseconds
(default set to 750 ms)


فرض کنيد که می‌خواهيم سايت سازين را از نظر پورت‌ها از پورت ۱ تا ۲۰۰ تست کنيم. اول بايد ip آن را به دست بياوريم که می‌شود، 63.148.227.65 و حالا به کمک دستور زير آن را بررسی می‌کنيم:

ipeye 63.148.227.65 -syn -p 1 200
دقت کنيد که 63.148.227.65 عدد ip سازين، syn- يعنی SYN SCAN و p 1 200- يعنی تست از پورت ۱ تا ۲۰۰ باشد. البته پارامترهای ديگری را هم می‌شود ست کرد که فعلا به درد ما نمی‌خورد. با اجرای اين دستور به نتايج زير می‌رسيم:
ipEye 1.2 - (c) 2000-2001, Arne Vidstrom (arne.vidstrom@ntsecurity.nu)
- http://ntsecurity.nu/toolbox/ipeye/

1-20 [drop]
21 [open]
22 [closed or reject]
23-24 [drop]
25 [open]
26-52 [drop]
53 [open]
54-79 [drop]
80 [open]
81-109 [drop]
110 [open]
111-142 [drop]
143 [open]
144-200 [drop]
201-65535 [not scanned]
Closed يعنی کامپيوتر در آن طرف هست ولی به پورت گوش نمی‌دهد، Reject يعنی اينکه يک firewall هست که اجازه اتصال به آن پورت را نمی‌دهد، Drop يعنی اينکه يک firewall همه‌چيز را پس‌ می‌زند و يا اصلا کامپيوتری اونور نيست، Open هم که يعنی باز.
در مورد سازين می‌بينيد که از بين پورت‌های ۱ تا ۲۰۰ ، پورت‌های ۲۱، ۲۵، ۵۳، ۸۰، ۱۱۰، ۱۴۳ باز است و می‌توان به‌ آنها telnet کرد. دقت کنيد که تا تمام پورت‌هايی که مشخص شده، تست نشده است، هيچ نتيجه‌ای نشان داده نمی‌شود و يه‌کم صبر می‌خواد.


- تعيين پورت‌های باز کامپيوتر خودتان

می‌خواهيم درباره کامپيوتر خودمان اين اطلاعات را پيدا کنيم. برای اين کار يکی از دستورات زير را به کار می‌بريم:
netstat -an
netstat -a
فرق اين دو دستور در اين است که اولی پورت‌ها را به صورت عددی و دومی به صورت معادل اسمی آن پورت می‌نويسد. مثلا معادل اسمی پورت 7 ، echo است.

مثلا اگه netstat -an را تايپ کنم، به اطلاعات زير می‌رسم:
Active Connections

Proto Local Address Foreign Address State
TCP 0.0.0.0:7 0.0.0.0:0 LISTENING
TCP 0.0.0.0:9 0.0.0.0:0 LISTENING
TCP 0.0.0.0:13 0.0.0.0:0 LISTENING
TCP 0.0.0.0:17 0.0.0.0:0 LISTENING
TCP 0.0.0.0:19 0.0.0.0:0 LISTENING
TCP 0.0.0.0:21 0.0.0.0:0 LISTENING
TCP 0.0.0.0:25 0.0.0.0:0 LISTENING
TCP 0.0.0.0:53 0.0.0.0:0 LISTENING
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING
TCP 0.0.0.0:119 0.0.0.0:0 LISTENING
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
TCP 0.0.0.0:143 0.0.0.0:0 LISTENING
TCP 0.0.0.0:443 0.0.0.0:0 LISTENING
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
TCP 0.0.0.0:515 0.0.0.0:0 LISTENING
TCP 0.0.0.0:563 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1025 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1026 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1033 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1037 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1040 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1041 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1043 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1755 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1801 0.0.0.0:0 LISTENING
TCP 0.0.0.0:3372 0.0.0.0:0 LISTENING
TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING
TCP 0.0.0.0:6034 0.0.0.0:0 LISTENING
TCP 0.0.0.0:6666 0.0.0.0:0 LISTENING
TCP 0.0.0.0:7007 0.0.0.0:0 LISTENING
TCP 0.0.0.0:7778 0.0.0.0:0 LISTENING
TCP 0.0.0.0:8181 0.0.0.0:0 LISTENING
TCP 127.0.0.1:1039 0.0.0.0:0 LISTENING
TCP 127.0.0.1:1433 0.0.0.0:0 LISTENING
TCP 127.0.0.1:2103 0.0.0.0:0 LISTENING
TCP 127.0.0.1:2105 0.0.0.0:0 LISTENING
TCP 127.0.0.1:2107 0.0.0.0:0 LISTENING
UDP 0.0.0.0:7 *:*
UDP 0.0.0.0:9 *:*
UDP 0.0.0.0:13 *:*
UDP 0.0.0.0:17 *:*
UDP 0.0.0.0:19 *:*
UDP 0.0.0.0:68 *:*
UDP 0.0.0.0:135 *:*
UDP 0.0.0.0:161 *:*
UDP 0.0.0.0:445 *:*
UDP 0.0.0.0:1030 *:*
UDP 0.0.0.0:1036 *:*
UDP 0.0.0.0:1038 *:*
UDP 0.0.0.0:1042 *:*
UDP 0.0.0.0:1075 *:*
UDP 0.0.0.0:1434 *:*
UDP 0.0.0.0:1645 *:*
UDP 0.0.0.0:1646 *:*
UDP 0.0.0.0:1755 *:*
UDP 0.0.0.0:1812 *:*
UDP 0.0.0.0:1813 *:*
UDP 0.0.0.0:3456 *:*
UDP 0.0.0.0:3527 *:*
UDP 127.0.0.1:53 *:*
UDP 127.0.0.1:1028 *:*
UDP 127.0.0.1:1029 *:*
UDP 127.0.0.1:1035 *:*
UDP 127.0.0.1:1044 *:*
UDP 127.0.0.1:1045 *:*
UDP 127.0.0.1:1100 *:*
من دستور را موقعی اجرا کردم که به اينترنت متصل نبودم. اگر همين کار را در زمان اتصال به اينترنت انجام می‌دادم، يک سری سطرهای جديد هم اضافه می‌شد که مربوط به آن اتصال می‌شد. و نيز دقت کنيد که من سويچ an- را استفاده کردم و پورت‌ها به صورت عددی نمايش داده شده است که همين الان - الساعه - براتون توضيح می‌دم:

اولين نکته‌ای که به نظر می‌رسد، نامی است که برای هر ستون نوشته شده است:
  Proto      Local Address       Foreign Address       State
- Proto : يعنی پروتکل، که می‌تواند TCP يا UDP باشد.
- Local Address : نشان‌دهنده ip کامپيوتر خودمان و شماره پورت‌هاست. مثلا سطر اول می‌گويد که ip من 0.0.0.0 است (دقت کنيد که من به اينترنت متصل نيستم) و اولين پورت باز (از نوع TCP با توجه به اول سطر) عدد ۷ است زيرا اين به صورت 0.0.0.0:7 نوشته شده است که قسمت قبل از کاراکتر : ، ip است و بعد از کاراکتر :، پورت است.
- Foreign Address : چون در اين مثال از سويچ a- يا an- استفاده کرده‌ايم، کاربردی ندارد. ولی بعدا خواهيد ديد که اگر از يک سويچ ديگر استفاده کنيم، می‌تواند مهم باشد.
- State : وضعيت اتصال را نشان می‌دهد


حالا اگه پورت‌ها را يکی يکی بررسی کنيد، می‌بينيد که در پروتکل TCP ، پورت‌های ۷، ۹، ۱۳، ۱۷، ۱۹، ۲۱ و... باز است و در پروتکل UDP ، پورت‌های ۷، ۹، ۱۳، ۱۷، ۱۹، ۶۸ و ... باز است.

حالا ممکن است بپرسيد که اين اطلاعات به چه دردی می‌خورد؟
جواب اين است که دانستن اين اطلاعات برای محافظت از خودتان در برابر همکارانتان (هکرها) است. مثلا اگر يک تروجان روی کامپيوتر شما نصب شده باشد، با اين دستور می‌توان آن را کشف کرد.






---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
Latest Headlines

 *Nix
 نصب سيستم عامل لينوكس وفارسي نويسي در محيط
kavoshgar.blogsky.com
 نصب سيستم عامل لینوکس مندریک 9.2 Mandrake linux
 راهنماي كاربران جديد لينوكس
 راهنماي كاربران جديد لينوكس
 تعاريف پايه و نكات كاربردي در لينوكس و يونيكس
 تنظیماتIP و شبکه در گنو / لینوکس
 تعیین سطوح دسترسی کاربران در لینوکس
 تاریخچه لینوکس
 ظاهر پوسته فرمان
 استفاده از پوسته فرمان در لینوکس
 Windows
 بازگرداندن ویندوز خراب شده به حالت قبل از بروز مشکل
 چگونه میتوان در ويندوز 98 و ME به درايو NTFS دسترسي داشت
 با افزودن پسورد دوم براي ورود به ویندوز XP امنیت خود را تا حد زیادی افزایش دهید
 برنامه های تحت داس و قدیمی را چگونه در XP اجرا کنیم
 نصب ويندوز 98 يا ME در محیط ويندوز NT يا XP فقط در یک دقیقه و نیم
 مقدمات و نيازهاي شما براي يادگيري TCP/IP
 امكانات شبكه اي ويندوز
 SSL چيست ؟
 آموزش HyperTerminal
 آموزش كرك فايل هاي SAM
 network
 كارت شبكه يا LAN Card
 شبكه سرى يا BNC
 شبكه Hub
 تنظيم و كنترل برنامه Network Neighborhood
 استفاده از شبكه و عمل Sharing
 نصب و تنظيم برنامه Wingate جهت اتصال شبكه به سرور و اينترنت
 AAA (Authentication, Authorization and Accounting)
 مقدمه ای بر شبکه خصوصی مجازی (VPN)
 ip و port
  RFC چيست؟
 Programming
 زبان برنامه نویسی D قسمت اول
 زبان برنامه سازی D تحت لینوکس قسمت دوم
 زبان برنامه‌نويسی D بخش سوم
 زبان برنامه نویسی D بخش چهارم
 زبان برنامه نویسی D بخش پنجم
 زبان برنامه‌نویسی D بخش ششم
 نرم‌افزار آزاد یا باز‌متن چیست؟
 مقدمه ای بر برنامه نويسی شی گراء در دات نت
 آموزش رتينا
 ايجاد فايل XML با استفاده از يک بانک اطلاعاتی
 Security
 بررسی نحوه عملکرد فایروال Firewallیا ديواره آتش
 مقايسه سرورهای لينوکس و ويندوز
 چه فایلهائی میتوانند برای کاربران مخاطره آمیز باشند !
 امنيت برنامه های وب ( بخش اول )
 امنيت برنامه های وب ( بخش دوم )
 امنيت برنامه های وب ( بخش سوم )
 امنيت برنامه های وب ( بخش چهارم )
 امنيت برنامه های وب ( بخش پنچم )
 امنيت نامه های الکترونيکی ( بخش اول )
 مفاهيم اوليه پروتکل TCP/IP ( بخش اول )
 Hacking
 چگونه هکر شویم؟ بخش اول
 چگونه هکر شویم؟ بخش دوم
 هنر هشتم : كرك كردن
 مقدمات قبل از شروع يادگيری هک
 Port Scanning
 Port Scanning
  کاربرد نرم‌افزار nmap
 IP Scanning
 پورت ۷۹
 پورت ۸۰ چيست؟
 Program
  آموزشهاي افكتهاي فتوشاپ
 Shocking Text
 مبانی آشنايی با Word
  آموزش ساخت متن یخی
 نصب تم در موزیلا فایرفاکس
 کلید های میانبر در فایرفاکس
 Cisco
 آشنايي با مدارک سيسکو
 Cisco Systems
 Hardware
 آشنايي با پورت USB
 نحوه انتخاب يك كارت صدا