- Command Prompt چیست؟
در بسیاری از درسهای آینده از Command Prompt (خط فرمان) ویندوز استفاده خواهیم کرد. برای باز کردن آن یکی از روشهای زیر را به کار برید:
۱- مسیر زیر را در ویندوز طی کنید:
Start > Programs > Accessories > Command Prompt۲- در قسمت Run بنویسید: command یا cmd
- پیدا کردن ip یک سایت با دانستن آدرس اینترنتی آن (پیدا کردن ip سرور)
برای این کار روشهای مختلفی هست:
۱- در (Internet Explorer (IE آدرس را تایپ کنید و Enter را فشار دهید. در قسمت پایین مرورگر یعنی Status Bar پس از چند لحظه برای مدت کوتاهی ip نمایش داده میشود و میتوانید آنرا یادداشت کنید. اگر طول این مدت بسیار کوتاه است میتوانید از صفحه عکس بگیرید ( با دکمه Print Screen ) و در یک نرمافزار گرافیکی بعد از باز کردن یک صفحه خالی به کمک Ctrl+V آنرا مشاهده کنید. [ عجب راه احمقانهای ;-)
اگر این کار را برای www.yahoo.com انجام دهیم.
که همان شماره ip برای www.yahoo.com است.
نکته بسیار مهم این است که بهدلیل ضریب اشتباه بسیار بالای آن هیچگاه از این روش استفاده نکنید. نتایج ممکن است کاملا اشتباه باشد که بعدا میگم چرا.
۲- دستور ping را در command prompt صادر کنید:
ping domainدر این حالت میتوانم ip آن سایت را ملاحظه کنم. (البته کار اصلی ping یک چیز دیگست و میشه گفت داریم ازش سوءاستفاده میکنیم). مثلا برای پیدا کردن ip سازین مینویسم:
ping sazin.comو جواب میشنوم:
Pinging sazin.com [63.148.227.65] with 32 bytes of data:ملاحظه میفرمایید که ip سازین 63.148.227.65 است.
Reply from 63.148.227.65: bytes=32 time=821ms TTL=111
Reply from 63.148.227.65: bytes=32 time=821ms TTL=111
Reply from 63.148.227.65: bytes=32 time=822ms TTL=111
Reply from 63.148.227.65: bytes=32 time=811ms TTL=111
Ping statistics for 63.148.227.65:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 811ms, Maximum = 822ms, Average = 818ms
اگر دستور ping را بهجای sazin.com برای www.sazin.com صادر کنید، جواب همان است. البته برای سایتهای بزرگ جوابهای حاصل متفاوت خواهد بود.
۳- روش بعدی و کاملترین روش whois کردن به بعضی سایتهای خاص است. بعدا این را کاملتر توضیح میدم ولی فعلا روشش رو میگم. آدرس زیر را در مرورگر خود تایپ کنید:
http://www.samspade.org/t/ipwhois?a=xxxxxxکه بهجای xxxxxx آدرس مورد نظر را تایپ کنید. مثلا برای sazin.com یکی از دو آدرس زیر را باید تایپ کرد:
http://www.samspade.org/t/ipwhois?a=sazin.comچیزی که در صفحه ظاهر میشود به صورت زیر است:
http://www.samspade.org/t/ipwhois?a=www.sazin.com
whois -h magic 63.148.227.65که آدرس ip در سطر اول و دوم ذکر شده است.
sazin.com resolves to 63.148.227.65
Trying whois -h whois.arin.net 63.148.227.65
Qwest Communications NET-QWEST-BLKS-2 (NET-63-144-0-0-1)
63.144.0.0 - 63.151.255.255
Neutron Digital Media Corp. QWST-63-148-224 (NET-63-148-224-0-1)
63.148.224.0 - 63.148.231.255
# ARIN Whois database, last updated 2002-09-04 19:05
# Enter ? for additional hints on searching ARIN"s Whois database.
اگر دو روش آخر را برای سایت بزرگ yahoo انجام دهیم، نتایج زیر را میبینیم:
--> روش ping :
www.yahoo.com ====> 64.58.76.229
yahoo.com ====> 66.218.71.198
--> روش whois :
...و www.yahoo.com ====> 66.218.71.86
64.58.79.230 و yahoo.com ====> 66.218.71.198
نتایج حاصل گویای آن است که چرا بهتر است از whois استفاده کنیم.
- تقسیم بندی آدرسهای ip
آدرسهای ip به ۵ کلاس تقسیمبندی میشوند که A تا E نام دارند ولی از این بین سه کلاس اول (یعنی C,B,A) کاربرد عملی دارند که آنها را شرح میدهیم:
۱- کلاس A: اگر ip را بهصورت xxx.yyy.yyy.yyy در نظر بگیرید، این کلاس تمام ipهایی را شامل میشود که xxx بین ۱ تا ۱۲۶ است. این کلاس ویژه backbone های بزرگ اینترنتی است و در هنگام ثبت domain برای گرفتن ip از آنها استفاده میشود. بنابراین اکثر سایتها چنین ipهایی دارند. این کلاس را 8/ هم میگویند.
۲- کلاس B: این کلاس تمام ipهایی را شامل میشود که xxx بین ۱۲۸ و ۱۹۱ است. این کلاس هم از جمله کلاسهای پرکاربرد است. این کلاس را 16/ هم میگویند.
۳- کلاس C: این این کلاس تمام ipهای را شامل میشود که xxx بین ۱۹۲ و ۲۲۳ است. این کلاس معمولا به ISP هایی که خدمات dial-up ارائه میدهند، تعلق میگیرد (این جمله چندان مستند نیست.). بنابراین اگر بهصورت dial-up به اینترنت متصل شوید، چنین ip میگیرید. این کلاس را 24/ هم میگویند.
سوالی که پیش میآید این است که xxx چرا نه در کلاس A و نه در B، عدد ۱۲۷ را شامل نمیشود؟ جواب این است که ۱۲۷ برای کامپیوتر خودمان رزرو شده است. مثلا 127.0.0.1 معمولا یعنی localhost یعنی خودمان.
- بهدست آوردن ip خودتان بعد از اتصال به اینترنت
برای اینکار راههای متفاوتی وجود دارد:
۱- راحتترین راه استفاده از دستور ipconfig است. من با تایپ کردن آن به نتایج زیر رسیدم:
Windows 2000 IP Configurationکه آدرس ip تان را میتوانید در سطر Ip Address ببینید. (مسئله پروکسی را فعلا نادیده بگیرید)
PPP adapter neda:
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 217.66.198.116
Subnet Mask . . . . . . . . . . . : 255.255.255.255
Default Gateway . . . . . . . . . : 217.66.198.116
۲- بعد از اتصال به اینترنت حداقل یک صفحه باز کنید و بعد دستور netstat -n را در command prompt تایپ کنید. من با تایپ این دستور به نتایج زیر رسیدم:
Active Connectionsستونی که زیر عبارت Local Address قرار دارد، ip من در آن اتصال است. بنابراین ip من در آن اتصال 217.66.198.116 بوده است.
Proto Local Address Foreign Address State
TCP 217.66.198.116:2469 64.58.76.177:80 ESTABLISHED
TCP 217.66.198.116:2471 66.163.175.130:80 ESTABLISHED
TCP 217.66.198.116:2473 212.73.194.143:80 ESTABLISHED
TCP 217.66.198.116:2474 212.73.194.143:80 ESTABLISHED
TCP 217.66.198.116:2476 212.73.194.136:80 SYN_SENT
- پیدا کردن ip طرف مقابل هنگام chat با yahoo messenger - این روش قدیمی شده، الان دیگه کار نمیکنه
میخواهیم درباره یک کلاینت مثلا کسی که مثل شما یک اتصال مثلا dial-up به اینترنت دارد و فرضا دارد با شما chat میکند، کسب اطلاعات کرد.
در این مورد هم اولین نکتهای که باید کشف شود، ip اوست. در این جلسه میخوام بهتون یاد بدم که وقتی با یه نفر از طریق yahoo messenger به صورت pm چت میکنید، چطوری میتونید ip اش رو پیدا کنید. البته باید توجه کرد که این روش گاهی کار نمیکند. نیز فرض میکنم که فقط با یک نفر دارید چت میکنید.
یکی از دستورهای زیر را تایپ میکنید:
netstat -nدستور اولی برای پیدا کردن ip طرف مقابل است و دستور دوم گاه میتواند اسم کامپیوتر او را برای شما نشان دهد.
netstat
من دستور netstat -n را تایپ کردم و به نتایج زیر رسیدم:
Active Connectionsاولین کاری که میکنید این است که سطری را پیدا میکنید که در Local Address یا Foreign Address آن، پورت 5101 داشته باشد. در این مثال سطر آخر، سطر مورد نظر ماست. زیرا در ستون Foreign Address از سطر آخر، پورت آن 5101 است. البته اگر در ستون Local Address هم بود، فرقی نمیکرد. وقتی آن سطر را پیدا کردید، ip طرف مقابل را از ستون Foreign Address از همان سطر پیدا میکنیم. در این مثال ip طرف مقابل 212.234.112.74 است.
Proto Local Address Foreign Address State
TCP 195.219.176.126:1296 66.163.173.77:5050 ESTABLISHED
TCP 195.219.176.126:1341 66.218.75.149:80 LAST_ACK
TCP 195.219.176.126:1325 212.234.112.74:5101 SYN_SENT
اگر بهجای netstat -n ، از netstat استفاده میکردم، به نتایج زیر میرسیدم:
Active Connectionsملاحظه میفرمایید که همه ip ها به معادل های اسمی تبدیل شدهاند و در مورد همان سطر آخر به جای ip طرف مقابل اسم کامپیوتر فرد را مینویسد (البته در حالتی که طرف مقابل dial-up نباشد، قضیه فرق میکند.)
Proto Local Address Foreign Address State
TCP artawill...:1296 cs55.msg.sc5.yahoo.com:5050 ESTABLISHED
TCP artawill...:1298 dl3.yahoo.com:http TIME_WAIT
TCP artawill...:1325 Majid:5101 SYN_SENT
حالا فرض کنید که یک pm دیگر هم اضافه میشود. و دوباره دستور netstat -n را تایپ میکنم. حالا نتایج زیر را میبینم:
Active Connectionsالان دوتا سطر دارم که دارای پورت 5101 باشد، و چون میدانم که 212.234.112.74 مربوط به نفر قبلی بود، پس 194.225.184.95 مربوط به pm دومی است.
Proto Local Address Foreign Address State
TCP 195.219.176.126:1296 66.163.173.77:5050 ESTABLISHED
TCP 195.219.176.126:1344 64.58.77.197:80 ESTABLISHED
TCP 195.219.176.126:5101 212.234.112.74:3735 ESTABLISHED
TCP 195.219.176.126:5101 194.225.184.95:1460 ESTABLISHED