ping چیست ؟
ping دستوری است که مشخص میکند که آیا یک کامپیوتر خاص که ما ip یا domain آن را میدانیم، روشن و فعال (Active) هست یا نه.
و اینکه اگر فعال باشد مدت زمان رسیدن بستههای tcp/ip از آن کامپیوتر به کامپیوتر ما چقدر است.
کاربرد این دستور به صورت زیر است:
ping ip-or-domain که به جای ip-or-domain باید شماره ip و یا domain آن(اگر داشته باشد) را میگذاریم.
مثلا ping sazin.com را در command prompt تایپ کردم و به نتایج زیر رسیدم :
Pinging sazin.com [63.148.227.65] with 32 bytes of data: Reply from 63.148.227.65: bytes=32 time=1402ms TTL=105Reply from 63.148.227.65: bytes=32 time=941ms TTL=105Reply from 63.148.227.65: bytes=32 time=981ms TTL=105Reply 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
این نتایج نشان میدهد که sazin.com فعال است.
حالا به کامپیوتری با ip شماره 63.148.227.65 (که همان sazin.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=105Reply from 63.148.227.65: bytes=32 time=852ms TTL=105Reply from 63.148.227.65: bytes=32 time=851ms TTL=105Reply 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 یکی از بهترین دستورات برای پیدا کردن ایراد در شبکه است.
Telnet چیست؟
- چگونه به یک پورت Telnet کنیم؟
برای اینکه عملکرد یک پورت برای شما روشن شود، باید به آن پورت Telnet کنید.
(البته معمولا تعدادی از پورتهایی را که ممکن است اطلاعاتی مهم را در اختیار هکرها قرار دهند مثل پورت ۷۹ معمولا بسته است و ارتباط با آنها شاید برقرار نشود.) برای telnet کردن در command prompt دستور زیر را تایپ کنید:
telnet hostname portnum
در این دستور بهجای hostname شماره ip و یا نام سایت را وارد میکنید و بهجای portnum شماره پورت و یا معادل آن از جدول.
مثلا برای تلنت کردن به پورت ۱۳ که ساعت و تاریخ را بهدست میدهد در کامپیوتری به اسم www.iums.ac.ir مینویسید:
telnet iums.ac.ir 13 telnet iums.ac.ir daytime
هر دو این دستورات معادل هم هستند.
هر دو این دستورات معادل هم هستند.
تلنت کردن معمولا اولین کاری است که یک هکر برای هک کردن یک سایت انجام میدهد، زیرا بعضی از پورتها در صورت بسته نبودن روی آن سرور، معمولا حاوی اطلاعات بسیار مهمی هستند.
همین الان شروع کنید و مثل یک هکر واقعی به کامپبوترهای مختلف و پورتهای گوناگون تلنت کنید.
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 برای تعیین نوع کامپیوتر و سیستمعامل سرور اهمیت دارد.
در این سطر مشخص است که 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 استفاده میکند.
119 : NNTP Service 5.00.0984 Version: 5.0.2195.2966 Posting Allowed عبور از پورت 80 پورت ۸۰ چیست؟
پورت ۸۰ یکی از مهمترین پورتهاست.
دنیای وب (صفحات اینترنتی) بر اساس همین پورت کار میکنه.
توضیح اینکه وقتی به یه سایت وصل میشیم و صفحه وب را درخواست میکنیم، در واقع مرورگر اینترنتی به پورت ۸۰ اون کامپیوتر وصل میشه و اطلاعات رو میگیره (البته بعد از گرفتن اطلاعات اون رو تفسیر میکنه و به صورت یه صفحه نشون میده - دقت کنید که اطلاعات در واقع به صورت یک سری تگ HTML است ).
- با پورت ۸۰ صحبت کنیم حالا ما میخواهیم با پورت ۸۰ یک کامپیوتر صحبت کنیم ولی به کمک telnet و nc.
اول باید یه connection (اتصال) با پورت ۸۰ برقرار کنیم (مثلا برای سایت hotmail.com باید بنویسم): telnet www.hotmail.com 80nc -v www.hotmail.com 80 پس اول باید یکی از دستورات بالا را استفاده کنیم.
من همیشه توصیهام استفاده از nc بوده و خواهد بود.
حالا باید شروع به صحبت با پورت ۸۰ کنیم.
من فعلا دو تا جمله براتون میگم و بقیهاش بمونه واسه بعد.
دقت کنید که موقع کار با پورت ۸۰ با تلنت (نه nc) دستوراتی که ما مینویسیم، نمایش داده نمیشود ولی کار میکنه.
۱- اولین جمله اینه: GET / HTTP/1.0 و بعدش دوتا Enter به فاصلهها دقت کنید.
دو طرف / ی که بعد از GET است، فاصله وجود دارد.
این جمله به پورت ۸۰ میگه که هرچی در header داره، نشون بده.
و جواب میشنوم: HTTP/1.0 302 Moved TemporarilyServer: Microsoft-IIS/5.0Date: Thu, 05 Dec 2002 12:02:51 GMTLocation: http://lc2.law5.hotmail.passport.com/cgi-bin/loginX-Cache: MISS from cache5.neda.net.irConnection: close ۲- دومین جمله اینه: GET / what/ever و بعدش دوتا Enter به فاصلهها دقت کنید.
این دستور باعث میشه که هر چی داره، رو کنه.
البته توجه کنید که ما مسیر را مشخص نکردیم.
این حالت که بدون مسیر است خیلی وقتها کار نمیکنه (مثل همین مثال !!) گاهی پیش میآد که یک سری دستورات خاص را همیشه باید پشت سرهم به یه پورت خاص بفرستیم و بخواهیم در وقت صرفهجویی کنیم.
مثلا همین جمله GET / HTTP/1.0 و دو Enter پشت سرهم که همیشه استفاده میکنیم.
در این موارد میتوان این دستورات را در یک فایل تایپ کرد (همراه با Enter ها که باید موقع نوشتن حتما بزنید) و بعد مثلا با نام ali.txt ذخیره کنید و بعد یکی از دستورات زیر را بنویسیم: nc -v www.far30.com 80 که همان کارهای بالایی را انجام میده.
- حالا میخوام مسیر رو مشخص کنم مثلا فرض کنید که میخوام فایلی به اسم index.html را از مسیر startup در سایتی به اسم www.site.com داونلود کنیم.
اول یه nc میکنیم به سایت.
بعد مینویسیم: GET /startup/index.html HTTP/1.0 بعد دو تا Enter میزنیم.
این مثال نشون میده که چطوری مسیر رو میشه مشخص کرد.
همین کار رو میتونیم برای فایلهایی مثل فایلهای گرافیکی و ...
انجام بدیم و حتی میتونید اطلاعاتی که میرسه رو در یک فایل ذخیره کنید.
برای اینکار مینویسید: nc -v www.site.com 80 > index.html (این کاری که کردیم با موردی که در بالا نوشتیم فرق میکنه!
در بالا دستورات GET رو تو یه فایل مینوشتیم و میفرستادیم که اجرا بشه ولی الان داریم نتایجی که بر میگرده رو در یک فایل ذخیره میکنیم!) میشه این دوتا رو ترکیب کرد مثلا نوشت: nc -v www.site.com 80 index.html IP و Port چیست وچگونه آنها را بدست بیاوریم؟
IP شماره ایست که به هر کامپیوتر متصل به اینترنت داده میشود تا بتوان بهکمک آن شماره به آن کامپیوترها دسترسی داشت.
این عدد برای کامپیوترهایی که حالت سرور دارند (مثلا سایتها) و نیز کامپیوترهای کلاینتی که معمولا به روشی غیر از شمارهگیری (Dial Up) به اینترنت وصل هستند، عددی ثابت و برای دیگران عددی متغیر است.
مثلا هر بار که شما با شرکت ISP خود تماس گرفته و به اینترنت وصل میشوید، عددی جدید به شما نسبت داده میشود.
این عدد یک عدد ۳۲ بیتی (۴ بایتی) است و برای راحتی بهصورت زیر نوشته میشود: xxx.xxx.xxx.xxx که منظور از xxx عددی بین ۰ تا ۲۵۵ است (البته بعضی شمارهها قابل استفاده نیست که بعدا علت را توضیح خواهم داد).
مثلا ممکن است آدرس شما به صورت 195.219.176.69 باشد.
حتی اسمهایی مثل www.yahoo.com که برای اتصال استفاده میکنید، در نهایت باید به یک IP تبدیل شود، تا شما سایت یاهو را ببینید.
در IP معمولا xxx اولی معنای خاصی دارد، که بعدا توضیح میدهم...
فقط این را بگویم که اگر به روش Dial Up به اینترنت وصل شوید، معمولا عددی که به عنوان xxx اول میگیرید، مابین 192 تا 223 خواهد بود.این توضیح برای تشخیص کامپیوترهای کلاینت از سرور (حداقل در ایران) بسیار میتواند مفید باشد.
بعد از اتصال به اینترنت برای به دست آوردن IP خود، از دستور IPCONFIG در command prompt استفاده کنید.
بدست اوردن ip دیگران بدون نیاز به برنامه: اگر در چت روم با شخصی در حال چت کردن هستید از او بخواهید یک فایل(عکس) برای شما بفرستد در هنگام دانلود فایل به منوی start رفته و بر روی گزینه run کلیک کنید ودر کادر باز شده ( در ویندوزXP هستید cmd تایپ کنید ،در ویندوز 98 commandتایپ کنید ) یک صفحه داس مانند برای شما باز می شود که مانند دستور روبرو عمل کنیدc:\>netstat –n تایپ کنید می بینید در دو ردیف به شما تعدادی شماره نشان خواهد داد که در ردیف اول ip خود شماست ودر ردیف دوم ip طرف مقابل است .
البته این هم گفته باشم که بعضی از آن شماره ها ip سایتها یست که باز کردیت .
در بخش آموزش نرم افزارها روش های ساده تری را آموزش می دهم.
بدست اوردن ip سایت: برای بد ست اوردن ip سایت می توانیم در همان command prampt از دستور ping استفاده کنیم مانند مثال اگر بخواهیم ip سایت yahoo را پیدا کنیم مانند دستور زیر عمل می کنیم: C:\>ping yahoo.com می بینید که براحتی ip سایت yahoo به شما نشان خواهد داد.
Port در ساده ترین تعریف، محلی است که دادهها وارد با خارج میشوند.
در مبحث هک معمولا با پورتهای نرمافزاری سروکار داریم که به هر کدام عددی نسبت میدهیم.
این اعداد بین ۱ و ۶۵۵۳۵ هستند.
معمولا به یک سری از پورتها کار خاصی را نسبت میدهند و بقیه بهصورت پیشفرض برای استفاده شما هستند.
پورتهای که فعال هستند، هرکدام توسط یک نرمافزار خاص مدیریت میشوند.
مثلا پورت ۲۵ برای ارسال Email است، بنابراین باید توسط یک نرمافزار این کار انجام شود و این نرمافزار بر روی پورت ۲۵ منتظر (فالگوش) میماند.
اینجا ممکن است شخصی از فلان نرمافزار و دیگری از بهمان نرمافزار استفاده کند ولی بههر حال پورت ۲۵ همیشه برای ارسال Email است.
روش بدست اوردن پورتهای باز : شما میتوانید با استفاده از ipeye و داشتن ip طرف مقابل پورتهای باز ان را پیدا کنیم ابتدا وارد cmd شده و مسیر ipeye را فعال کنید یعنی اینکه اگر ipeye درون درایوی :C وجود دارد ابتدا وارد درایو :C شده ودستور زیر را تایپ کنید.
مثال میخواهیم پورتهای باز این ip10.0.0.50 را بدست بیا وریم C:\>ipeye 10.0.0.50 -syn -p 1 2000 این دستور از پرت ۱ تا ۲۰۰۰ را scan می کند وبه شما نشان می دهد که کدام پورت باز و کدام بسته است.