پورت ?? یکی از مهمترین پورتهاست. دنیای وب (صفحات اینترنتی) بر اساس همین پورت کار میکنه. توضیح اینکه وقتی به یه سایت وصل میشیم و صفحه وب را درخواست میکنیم، در واقع مرورگر اینترنتی به پورت ?? اون کامپیوتر وصل میشه و اطلاعات رو میگیره (البته بعد از گرفتن اطلاعات اون رو تفسیر میکنه و به صورت یه صفحه نشون میده - دقت کنید که اطلاعات در واقع به صورت یک سری تگ 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 < ali.txttype 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 < dastoorat.txt > index.html
برگرفته از سایت مهدی لاری