دانش شبکه و هک

هکککککککککککککککککککککککککککککککککککک

دانش شبکه و هک

هکککککککککککککککککککککککککککککککککککک

جامع ترین آموزش هک از مبتدی تا پیشرفته بامثالهای زیاد و متنوع

 تقسیم‌بندی پورت‌ها از روی شماره آنها :

- پورت‌های 0 تا 1023 : مشهورترین پورت‌ها هستند و معمولا هرکدام برای یک سرویس خاص استفاده می‌شود. 

۲- پورت‌های 1024 تا 49151 : این سری از پورت‌ها مشخصا با هیچ‌یک از سرویس‌های اینترنتی مرتبط نیستند بلکه وقتی که با یک ابزار شبکه مانند مرورگر اینترنت(مثل Internet Explore یا Netscape Navigator )، نرم‌افزار ارسال و دریافت E-mail (مثل Outlook یا Edura )، نرم‌افزارهای FTP (مثل WS-FTP یا Cute-FTP ) کار می‌کنید، یکی از این پورت‌ها به صورت random باز شده و یک ارتباط با سرور (با توجه به‌نوع سرویس اینترنتی که می‌دهد که یکی از پورت‌های 0 تا 1023 است) برقرار شده و داده‌ها ارسال و دریافت می‌شوند. یعنی پورت شما یکی از پورت‌های این قسمت است و پورت سرور یکی از پورت‌های بالایی.این سری پورت‌ها را پورت‌های register شده هم می‌گویند.

ادامه در ادامه............عینک

 تقسیم‌بندی پورت‌ها از روی شماره آنها :

- پورت‌های 0 تا 1023 : مشهورترین پورت‌ها هستند و معمولا هرکدام برای یک سرویس خاص استفاده می‌شود. با تعدادی از این پورت‌ها در جلسات قبل آشنا شده‌اید.

۲- پورت‌های 1024 تا 49151 : این سری از پورت‌ها مشخصا با هیچ‌یک از سرویس‌های اینترنتی مرتبط نیستند بلکه وقتی که با یک ابزار شبکه مانند مرورگر اینترنت(مثل Internet Explore یا Netscape Navigator )، نرم‌افزار ارسال و دریافت E-mail (مثل Outlook یا Edura )، نرم‌افزارهای FTP (مثل WS-FTP یا Cute-FTP ) کار می‌کنید، یکی از این پورت‌ها به صورت random باز شده و یک ارتباط با سرور (با توجه به‌نوع سرویس اینترنتی که می‌دهد که یکی از پورت‌های 0 تا 1023 است) برقرار شده و داده‌ها ارسال و دریافت می‌شوند. یعنی پورت شما یکی از پورت‌های این قسمت است و پورت سرور یکی از پورت‌های بالایی.این سری پورت‌ها را پورت‌های register شده هم می‌گویند.

۳- پورت‌های 49152 تا 65535 : این سری از پورت‌ها به‌ندرت استفاده می‌شوند. کاربرد اساسی آنها برای یک سری سرویس‌های خاص اینترنتی است و یا توسط trojanها (که برای Hack کردن کامپیوتر است) است. البته خیلی از trojanهای معروف از پورت‌های ردیف ۲ هم استفاده می‌کنند و این تقسیم‌بندی‌ها همیشه برقرار نیست و به‌همین علت است که گاهی پورت‌ها را به دو‌دسته زیر 1024 و بالای 1024 تقسیم‌ می‌کنند.

-               TCP و UDP چیست؟ مدل TCP/IP که برای ارتباط اینترنتی به‌کار می‌رود، می‌توان به لایه‌های مختلفی تقسیم‌بندی کرد که بعدا بیشتر توضیح می‌دم، اما یکی از این لایه‌ها، لایه ارتباط host2host است که خود شامل دو پروتکل است به نامهای:

 TCP و UDP : (TCP (Transmission Control Protocol

 این پروتکل قوی‌تر و قابل اعتمادتر است و اصولا پروتکل مهمتری نسبت به UDP محسوب می‌شود. این پروتکل توانایی بازبینی بسته‌هاو کنترل خطا را هم دارد.

 ۲- (UDP (User Datagram Protocol : این پروتکل برای کاهش overflow طراحی شده است و در خیلی از موارد وابسته به TCP است. نکته مهم این است که وقتی با یک پورت خاص روی یک کامپیوتر دیگر ارتباط برقرار می‌کنیم، این ارتباط می‌تواند از نوع TCP یا UDP باشد. بنابراین وقتی می‌خواهیم یک کامپیوتر خاصی را از نظر پورت‌ها بررسی کنیم، هردو باید بررسی شود.

 معمول‌ترین Scanning ها کدامند؟ دو نوع معمول Scanning وجود دارد:

0-    IP Scanning : فرض کنید که شما یک سری IP مربوط به یک ISP خاص را دارید و می‌خواهید بدانید که در این لحظه کدام‌ها فعال (up) هستند تا فقط آنها را بررسی کنید و نه‌ همه را. این موضوع را بعدا توضیح می‌دم ( این کار معمولا موقعی پیش می‌آید که قرار است کلاینت هک کنید و مهم نیست چه کسی باشد )

۲- Port Scanning : در این حالت ما IP یا IPهای مورد نظر را انتخاب کرده‌ایم و حالا می‌خواهیم بدانیم که کدام پورت‌ها روی آن کامپیوترها باز است. این کار به کمک نرم‌افزارهای خاصی انجام می‌شود که مبحث امروز ماست.

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

 برای اینکه تعیین کنیم که یک پورت روی یک سرور باز است یا نه، معمولا باید یک TCP connect scan انجام دهیم. اول این را بگم که Port Scanning انواع مختلف دارد که فعلا ما نوع TCP connect را مدنظر داریم. این نوع اسکن سه مرحله دارد که به آن TCPs

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 : من در این درس از این نرم‌افزار استفاده خواهم کرد، برای دان‌لود آن می‌توانید به سایت http://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 -p [optional parameters] ipEye -p [optional parameters] is one of the following: -syn = SYN scan -fin = FIN scan -null = Null scan -xmas = Xmas scan>br> (note: FIN, Null and Xmas scans dont work against Windows systems. [optional parameters] are selected from the following: -sip = source IP for the scan -sp = source port for the scan -d = 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 کرد.

دقت کنید که تا تمام پورت‌هایی که مشخص شده، تست نشده است، هیچ نتیجه‌ای نشان داده نمی‌شود و یه‌کم صبر می‌خواد. ادامه بحث whois قبلا در مورد ip whois و dns whois صحبت کردم. بحث dns whois (کسب اطلاعات در مورد یک domain خاص) رو ادامه می‌دم. در درس قبلی از سایت SamSpade استفاده کردم. اگر این whois رو تست کرده باشید، می‌دانید که برای یک سری از domain (دامنه ها)، جواب نمی‌دهد. مثال آن سایت‌هایی است که دارای دامنه جغرافیایی مثلا ایران هستند، در مورد دامنه‌های جغرافیایی ایران باید گفت که به ir. ختم می‌شوند ( مثلا: neda.net.ir ). مثال دیگری که در whois سایت SamSpade کار نمی‌کند، تعدادی از دامنه‌های org , .net , .com. هستند که در internic.net ثبت نشده‌اند، بلکه در domainpeople.com ثبت شده‌اند  (مثلا sanjesh.org).

چند سال پیش ثبت domain هایی که در گروه org, net, com بودند، مختص به internic.net بود ولی الان دیگر اینطور نیست. کاری که شما باید برای whois کردن باید انجام دهید، توجه به نوع آن domain است که از نوع com است یا ir است یا biz است و  بعد از آن از یکی از سایت‌های زیر استفاده کنید :

 ۱- internic.net : برای edu , org , net , com عالی است. برای museum , int , info , coop , biz , arpa, aero هم‌ می‌تواند استفاده شود. صفحه وب مربوطه عبارت‌ است از : http://www.internic.net/whois.html

یا می‌توانید مستقیما در مرورگر بنویسید: http://www.internic.net/cgi/whois?type=domain&whois_nic=xxxxxxxx

که به‌جای xxxxxxxx مثلا باید بنویسید:

hcbt.blogfa..com nic.ir

2- برای ir استفاده می‌شود. صفحه وب مربوطه عبارت‌ است از

http://whois.nic.irwww.tv

 3- برای cc , info , biz , tv عالی است. صفحه وب مربوطه عبارت‌ است از :

 http://www.tv یا می‌توانید مستقیما در مرورگر بنویسید:

http://www.tv/en-def-8e33e8cf5e3c/cgi-bin/whois.cgi?domain=yyyyyy&tld=zzzz

که اگر بخواهم مثلا hack.tv را whois کنم به‌جای yyyyy باید بنویسید hack و به جای zzzz باید بنویسید

 tv domainpeople.com

4- برای name , biz , info , org , net , com عالی است. صفحه وب مربوطه عبارت‌ است از http://whois.domainpeople.com همانطور که ملاحظه می‌فرمایید، org , net , com در ۱ و ۴ مشترک است. علت آن است که بعضی‌ها در اولی و بعضی‌ها در چهارمی ثبت می‌شوند ولی برای whois کردن فرقی نمی‌کنه که شما از اولی استفاده کنید یا چهارمی چون همدیگر رو ساپورت می‌کنند.

ping چیست ؟ ping دستوری است که مشخص می‌کند که آیا یک کامپیوتر خاص که ما ip یا domain آن را می‌دانیم، روشن و فعال (Active) هست یا نه. و اینکه اگر فعال باشد مدت زمان رسیدن بسته‌های tcp/ip از آن کامپیوتر به کامپیوتر ما چقدر است. کاربرد این دستور به صورت زیر است:

 ping ip-or-domain که به جای ip-or-domain باید شماره ip و یا domain آن(اگر داشته باشد) را می‌گذاریم. مثلا :

 ping prdev.com را در command prompt تایپ کردم و به نتایج زیر رسیدم :

Pinging prdev.com [63.148.227.65] with 32 bytes of data: Reply from 63.148.227.65: bytes=32 time=1402ms TTL=105 Reply from 63.148.227.65: bytes=32 time=941ms TTL=105 Reply from 63.148.227.65: bytes=32 time=981ms TTL=105 Reply from 63.148.227.65: bytes=32 time=851ms TTL=105 Ping statistics for 63.148.227.65: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 851ms, Maximum = 1402ms, Average = 1043ms

 این نتایج نشان می‌دهد که prdev.com فعال است. حالا به کامپیوتری با ip شماره 63.148.227.65 (که همان prdev.com است)، ping می‌کنم. نتایج همان است فقط با تغییراتی در سطر اول. (البته time که معنای مدت زمان رسیدن پکت را می‌دهد، با توجه به ترافیک شبکه، کم و زیاد خواهد شد). برای ping کردن به این ip ، دستور 63.148.227.65 ping را صادر می‌کنم :

 Pinging 63.148.227.65 with 32 bytes of data: Reply from 63.148.227.65: bytes=32 time=861ms TTL=105 Reply from 63.148.227.65: bytes=32 time=852ms TTL=105 Reply from 63.148.227.65: bytes=32 time=851ms TTL=105 Reply from 63.148.227.65: bytes=32 time=881ms TTL=105 Ping statistics for 63.148.227.65: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 851ms, Maximum = 881ms, Average = 861ms

 فرض کنید که به یک ip که فعال نیست، ping کنیم:

 Pinging 217.66.196.1 with 32 bytes of data: Request timed out. Request timed out. Request timed out. Request timed out. Ping statistics for 217.66.196.1: Packets: Sent = 4, Received = 0, Lost = 4 (100% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms

 که نشان می‌دهد که آن ip در آن لحظه فعال نیست. البته تمام مطالبی که در بالا ذکر شد، در حالتی است که مستقیما به اینترنت وصل شده‌اید و یا اگر از طریق شبکه محلی به اینترنت وصل هستید، شبکه شما به درستی پیکربندی شده باشد. اصولا ping یکی از بهترین دستورات برای پیدا کردن ایراد در شبکه است.

tracert چیست ؟ tracert ( در یونیکس می‌شود traceroute ) ابزاری است که نشان می‌دهد که یک packet اطلاعاتی از کامپیوتر شما چه مسیری را طی می‌کند و از چه کامپیوترهایی می‌گذرد تا به یک مقصد خاص برسد. مقصد را ما مشخص می‌کنیم و معمولا همان کامپیوتری است که داریم footprinting می‌کنیم. کاربرد این دستور به صورت زیر است: tracert ip-or-domain مثلا می‌خواهم ببینم که از چه کامپیوترهایی باید رد شویم تا به prdev.com برسیم. برای اینکار می‌توان از یکی از دستورهای زیر استفاده کرد: tracert prdev.com tracert 63.148.227.65 به نتیجه زیر رسیدم:

Tracing route to prdev.com [63.148.227.65] over a maximum of 30 hops: 1 160 ms 160 ms 160 ms 217.218.84.3 2 381 ms 691 ms 1772 ms 217.218.84.5 3 * * 2324 ms 217.218.77.1 4 201 ms 1101 ms 180 ms 217.218.0.252 5 341 ms 220 ms 180 ms 217.218.0.2 6 1993 ms 180 ms 181 ms 217.218.158.41 7 180 ms 160 ms 160 ms 195.146.63.101 8 2824 ms * * 195.146.32.134 9 1472 ms 1463 ms 871 ms 195.146.33.73 10 791 ms 841 ms 811 ms if-1....eglobe.net [207.45.218.161] 11 1692 ms * 2654 ms if-4-....eglobe.net [207.45.222.77] 12 1282 ms 891 ms 1052 ms if-1-....globe.net [207.45.220.245] 13 902 ms 931 ms 881 ms if-15.....globe.net [66.110.8.134] 14 931 ms 861 ms 871 ms if-8-....leglobe.net [64.86.83.174] 15 901 ms 841 ms 852 ms if-5-.....globe.net [207.45.223.62] 16 841 ms 862 ms 851 ms pos6-.....vel3.net [209.0.227.33] 17 841 ms 842 ms 941 ms so-4-1.....vel3.net [209.247.10.205] 18 882 ms 931 ms 851 ms so-0-1....vel3.net [209.247.11.197] 19 871 ms 891 ms 951 ms gige9....vel3.net [209.247.11.210] 20 1011 ms 851 ms 902 ms unknown.Level3.net [63.208.0.94] 21 852 ms * 882 ms 64.156.25.74 22 961 ms 942 ms 841 ms 63.148.227.65 Trace complete.

 این نتایج نشان می‌دهد که باید از ۲۲ کامپیوتر بگذرم تا به prdev.com برسم. این اطلاعات همان‌طور که بعدا خواهید دید، حاوی اطلاعات زیادی برای پیدا کردن فایروال‌ها و ... است. (بعضی سطرها رو کوتاه کردم و به‌جاش .... گذاشتم) tracert دارای تعدادی switch است که دوتاش رو توضیح می‌دم:

 d- == > با استفاده از این سویچ در نتایج حاصله فقط ip ها نمایش داده می‌شود. مثلا می‌نویسیم: tracert prdev.com -d h max-hops- ==> حداکثر تعداد گام‌ها را تعیین می‌کند. حالت پیش‌فرض ۳۰ است. مثلا می‌نویسیم: tracert prdev.com -h 50

از این دستور بعدا بسیار استفاده خواهیم کرد. تکمیل لیست پورت‌ها قبلا در مورد مهمترین پورت‌ها صحبت کردم. حالا یک لیست کامل‌تر را در این درس می‌گم. اگر می‌خواهید یک مرجع نسبتا کامل برای مراجعه داشته باشید، اینجا را کلیک کنید. دقت کنید این درس و نیز لینک بالا هیچ بحثی در مورد تروجان‌ها نمی‌کند زیرا تروجان‌های شناخته شده هم یک سری پورت پیش‌فرض دارند که در جای خود بحث خواهد شد. Ports TCP/UDP Service or Application ------ ------- ---------------------------------------- 7 tcp echo 11 tcp systat 19 tcp chargen 21 tcp ftp-data 22 tcp ssh 23 tcp telnet 25 tcp smtp 42 tcp nameserver 43 tcp whois 49 udp tacacs 53 udp dns-lookup 53 tcp dns-zone 66 tcp oracle-sqlnet 69 udp tftp 79 tcp finger 80 tcp http 81 tcp alternative for http 88 tcp kerberos or alternative for http 109 tcp pop2 110 tcp pop3 111 tcp sunrpc 118 tcp sqlserv 119 tcp nntp 135 tcp ntrpc-or-dec 139 tcp netbios 143 tcp imap 161 udp snmp 162 udp snmp-trap 179 tcp bgp 256 tcp snmp-checkpoint 389 tcp ldap 396 tcp netware-ip 407 tcp timbuktu 443 tcp https/ssl 445 tcp ms-smb-alternate 445 udp ms-smb-alternate 500 udp ipsec-internet-key-exchange (ike) 513 tcp rlogin 513 udp rwho 514 tcp rshell 514 udp syslog 515 tcp printer 515 udp printer 520 udp router 524 tcp netware-ncp 799 tcp remotely possible 1080 tcp socks 1313 tcp bmc-patrol-db 1352 tcp notes 1433 tcp ms-sql 1494 tcp citrix 1498 tcp sybase-sql-anywhere 1524 tcp ingres-lock 1525 tcp oracle-srv 1527 tcp oracle-tli 1723 tcp pptp 1745 tcp winsock-proxy 2000 tcp remotely-anywhere 2001 tcp cisco-mgmt 2049 tcp nfs 2301 tcp compaq-web 2447 tcp openview 2998 tcp realsecure 3268 tcp ms-active-dir-global-catalog 3268 udp ms-active-dir-global-catalog 3300 tcp bmc-patrol-agent 3306 tcp mysql 3351 tcp ssql 3389 tcp ms-termserv 4001 tcp cisco-mgmt 4045 tcp nfs-lockd 5631 tcp pcanywhere 5800 tcp vnc 6000 tcp xwindows 6001 tcp cisco-mgmt 6549 tcp apc 6667 tcp irc 8000 tcp web 8001 tcp web 8002 tcp web 8080 tcp web 9001 tcp cisco-xremote 12345 tcp netbus 26000 tcp quake 31337 udp backorifice 32771 tcp rpc-solaris 32780 udp snmp-solaris 43188 tcp reachout 65301 tcp pcanywhere-def

 ادامه بحثtelnet  هم جزو مواردی است که در footprinting مورد استفاده قرار می‌گیرد. کاربرد آن در حالتیست که بخواهیم بدانیم که روی فلان پورت چه برنامه‌ای فال‌گوشه و version آن چنده. به این صورت که به یک پورت خاص (که می‌دانیم روی آن سرور باز است) تلنت می‌کنیم و بعد می‌بینیم که نتایجی ظاهر می‌شود که نشان‌دهنده اطلاعاتی‌ است که به‌کار می‌رود. گاهی با مکثی طولانی مواجه می‌شویم و هیچ چیزی نمایش داده نمی‌شود، در این حالت یکی دوبار , Ctrl+Z , Ctrl+D , Ctrl+C , Ctrl+break را می‌زنیم و خارج می‌شویم. در مثال پایین جمع‌بندی مواردی که تا حالا از footprinting گفته‌ام را می‌آورم. جمع‌بندی مطالب گفته شده و بررسی یک سایت فرض کنید می‌خواهیم در مورد www.iums.ac.ir اطلاعاتی کسب کنیم :

 ◊ به سایت پینگ می‌کنم و ip آن را به‌دست می‌آورم: 194.225.184.15

 ◊ به کمک ip که به‌دست آوردیم، به کمک یک پورت اسکنر پورت‌ها را بررسی می‌کنیم و می‌بینیم که پورت‌هایی مثل ۲۱، ۲۵، ۴۲، ۵۳، ۸۰، ۱۱۰، ۱۱۹، ۱۳۹، ۱۴۳ و ... باز است. ◊ چون domain به ir ختم می‌شود، برای whois کردن از whois.nic.ir استفاده می‌کنم و Name Server آن را به دست می‌آورم که 194.225.184.20 است.

 ◊ به کمک این Name Server ، یک nslookup می‌کنم و به نتایج زیر می‌رسم: iums.ac.ir. SOA sina.i........0 345600) iums.ac.ir. NS sina.iums.ac.ir iums.ac.ir. NS ns1.nic.ir iums.ac.ir. MX 10 sina.iums.ac.ir smtp.iums.ac.ir. A 195.146.34.181 sina.iums.ac.ir. HINFO Sun-SuperSPARC5/75 UNIX-Solaris-2.6 sina.iums.ac.ir. MX 10 sina.iums.ac.ir sina.iums.ac.ir. A 194.225.184.20 sina.iums.ac.ir. A 195.146.34.181 sun.iums.ac.ir. CNAME sina.iums.ac.ir cisco.iums.ac.ir. CNAME router.iums.ac.ir webmail.iums.ac.ir. A 195.146.34.181 linux.iums.ac.ir. A 194.225.184.19 linux.iums.ac.ir. HINFO Intel-Xeon/800 RedHat-Linux-7.2 mta.iums.ac.ir. A 195.146.34.181 pop3.iums.ac.ir. CNAME sina.iums.ac.ir localhost.iums.ac.ir. A 127.0.0.1 proxy.iums.ac.ir. CNAME arvand.iums.ac.ir www.iums.ac.ir. A 195.146.34.180 atrak.iums.ac.ir. A 194.225.184.14 ns1.iums.ac.ir. CNAME sina.iums.ac.ir arvand.iums.ac.ir. A 194.225.184.13 router.iums.ac.ir. A 194.225.184.1 router.iums.ac.ir. HINFO Cisco3640/Access-Server IOS-IP-12.0 iums.ac.ir. SOA sina.iu.......3456000 345600)

تک تک سطرهای این نتایج کاربرد دارد که خواهیم رسید. الان فقط در مورد HIFNO صحبت می‌کنم که برای مشخص تر بودن در بالا به صورت کمی فرورفته‌تر نوشتم. مثلا : sina.iums.ac.ir. HINFO Sun-SuperSPARC5/75 UNIX-Solaris-2.6 HIFNO برای تعیین نوع کامپیوتر و سیستم‌عامل سرور اهمیت دارد. در این سطر مشخص است که sina.iums.ac.ir از Sun-SuperSPARC5/75 UNIX-Solaris-2.6 استفاده می‌کند.

 ◊ چون پورت‌های باز را هم توسط پورت اسکنر به دست آورده‌ام به آنها تلنت می‌کنم با دستور: telnet www.iums.ac.ir portnum نتایج حاصل از بعضی را می‌بینید:

 25 : ... master.iums.ac.ir Microsoft ESMTP MAIL Service, Version: 5.0.2195.4905 ready at 220 پس پورت ۲۵ (smtp) در آن کامپیوتر از Microsoft ESMTP MAIL Service, Version: 5.0.2195.4905 استفاده می‌کند. 110 : .OK Microsoft Exchange 2000 POP3 server version 6.0.5762.3 (master.iums.ac.ir) ready+

پس پورت ۱۱۰ (pop3) در آن کامپیوتر از :                                                      Microsoft Exchange 2000 POP3 server version 6.0.5762.3 استفاده می‌کند.

در یادآوری قبلا گفتم که برای اینکه هکر خوبی بشید، زبان C را باید یاد بگیرید. امروز اولین برنامه اینترنتی خود را به زبان C شروع می‌کنیم.برنامه‌ای که امروز می‌نویسیم، یک پورت اسکنر ساده (Simple Port Scanner) است که acw_spscan.exe نام دارد. acw یعنی Artawill Commandline Windows و spscan یعنی  Simple Port Scanner. من سورس این برنامه را با Borland C++ 5.02 کامپایل کردم ولی فکر کنم روی هر نوع کامپایلر C ویندوز کار کند. یک سری نکات در مورد هر برنامه‌ای که با C برای ویندوز خواهم نوشت هست که فقط امروز می‌گم و بعدا دیگه اشاره نخواهم کرد.

۱- هر برنامه‌ای که من می‌نویسم، شامل دو فایل است که باید دان‌لود کنید: فایل اصلی که پسوند C یا CPP دارد و یک فایل به یکی از نامهای acw_sock.h یا agw_sock.h یا acu_sock.h و یا axu_sock.h که با توجه به نوع سیستم‌عامل (ویندوز یا یونیکس) و نوع ظاهر برنامه (خط‌ فرمان یا گرافیکی) یکی از این چهارتا خواهد بود. اگر برنامه برای ویندوز نوشته شده است، باید قبل از کامپایل نهایی فایل WS2_32.LIB را هم به پروژه اضافه کنید.

 ۲- هر بار که برنامه جدیدی خواهم نوشت فایلی که پسوند h دارد، کامل و کامل‌تر می‌شود، پس هر وقت یک فایل جدید C یا CPP دان‌لود می‌کنید، فایل h مربوطه را هم دان‌لود کنید

۳- کامپایلر مورد استفاده در برنامه‌های ویندوز Borland C++ 5.02 است. اگر از کامپایلر دیگری استفاده می‌کنید، ممکن است لازم باشد که تغییراتی اعمال کنید.

۴- سورس تمام توابع و برنامه‌ها مشمول کپی‌ رایت است ولی استفاده از توابع در برنامه‌هایتان در صورت عدم اعمال تغییرات در سورس بلامانع است. درباره برنامه

Artawill Command-prompt Windows - Simple Prot Scanner = acw_spscan

 برنامه acw_spscan.exe عمل پورت اسکنینگ را به صورت tcp و udp انجام می‌دهد. همانطوری که از نامش پیداست، برای ویندوز و به‌صورت خط فرمان عمل می‌کند.

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد