پروکسی چیست؟
پروکسی در لغت به معنای “وکیل” و “به نیابت کسی کاری را انجام دادن” است. در دنیای اینترنت پروکسی به کامپیوتری گفته میشود که به سایر کامپیوترها اجازه میدهد تا از طریق آن با مقصدشان یک ارتباط غیر مستقیم برقرار کنند. بیایید این مطلب را با یک مثال ساده بیشتر توضیح دهیم. فرض کنید شما در یک اداره کار میکنید. هر اتاق این اداره یک خط تلفن دارد که به تلفنخانه مرکزی اداره وصل است. حال اگر شما بخواهید از اداره به منزلتان زنگ بزنید لازم است یک شماره (مثلاً ٩) را بگیرید و بعد از تلفنچی اداره بخواهید که شماره تلفن منزلتان را گرفته و به شما وصل کند. نقش تلفنخانه و تلفنچی در این مثال دقیقاً مانند نقش پروکسی در اینترنت است. وقتی کامپیوتری از طریق پروکسی به اینترنت وصل است و میخواهد به یک فایل دسترسی پیدا کند، ابتدا درخواستش را به پروکسی میفرستد. سپس پروکسی به کامپیوتر مقصد متصل شده و فایل درخواستی را دریافت میکند و بعد آن را برای کامپیوتر درخواست کننده میفرستد.
شکل ۱ : این شکل ارتباط مستقیم بین کامپیوترهای سرویس دهنده و سرویس گیرنده را نمایش میدهد.
شکل ۲ : این شکل ارتباط از طریق پروکسی را نشان میدهد. همانطور که میبینید عملاً هیچ ارتباط مستقیمی بین کامپیوتر سرویس دهنده و کامپیوتر سرویس گیرنده وجود ندارد.
همانطور که میبینید پروکسی در اینجا به عنوان یک واسطه عمل میکند و عملاً هیچ ارتباط مستقیمی بین کامپیوترهای سرویسدهنده و سرویسگیرنده وجود ندارد. حال ممکن است برایتان این سوال پیش آید که کاربرد پروکسی چیست و چرا گاهی از آن استفاده میشود. پاسخ این است که برای استفاده از پروکسی دلایل زیادی وجود دارد که ذیلاً به مهمترین آنها اشاره میشود:
بالا بردن امنیت شبکه:
گاهی مدیران شبکه برای بالا بردن امنیت شبکهشان و حفاظت کاربران در برابر هکرها از پروکسی استفاده میکنند. در این حالت به جای این که تکتک کاربران مستقیماً به اینترنت متصل شوند، همگی از طریق یک پروکسی به اینترنت وصل میشوند. به این ترتیب مدیر شبکه می تواند با نصب فایروال و سایر نرمافزارهای امنیتی و با نظارت بر پروکسی از کل شبکه تحت مدیریتش محافظت کند.
اعمال محدودیت بر کاربران:
گاهی علت استفاده مدیران شبکه از پروکسی، اعمال محدودیت بر کاربران است. البته توجه کنید که اعمال محدودیت، صرفاً به معنی فیلترینگ یا سانسور نیست بلکه ممکن است مدیر شبکه فقط استفاده از برخی نرمافزارها (مانند چت) را برای کاربرانش ممنوع کند.
کش کردن (Caching):
یکی از کاربردها مهم پروکسی انجام کش است. کش به یک نسخه بایگانی شده از محتویات اینترنت بر روی پروکسی گویند. فرض کنید در شبکهای که از پروکسی ایستفاده میکند چند صد کاربر وجود دارد. حال یکی از این کاربران مخواهد اخبار سایت بیبیسی را بخواند، لذا درخواستی را به پروکسی فرستاده و پروکسی نیز صفحه مورد نظر را از سایت بیبیسی گرفته و برایش ارسال میکند. در اینجا پروکسی میتواند یک نسخه از این صفحه را بر روی هارد دیسکش ذخیره کند. حال اگر کاربر دیگری تقاضای همین صفحه را بکند دیگر لازم نیست پروکسی مجدداً به سایت بیبیسی مراجعه کند، بلکه خیلی راحت نسخهای که روی هارد دیسکش ذخیره شده را برای وی میفرستد. با انجام این کار هم به سرعت و کارایی شبکه اضافه میشود و هم از ترافیک و بار شبکه کاسته میگردد. البته انجام عمل کش، الگوریتم پیچیدهای دارد و پروکسی باید به نحوی این کار را انجام دهد تا از ارسال اطلاعات تاریخ گذشته اجتناب شود.
حفظ هویت:
علت استفاده بعضی کاربران از پروکسی، مخفی ماندن و شناسایی نشدن است، زیرا از دید کامپیوتر میزبان، آن کسی که تقاضای اطلاعات کرده پروکسی است نه کاربر. البته هر کس برای مخفی کاری دلایل خاص خود را دارد. ممکن است شما یک شخص معروف باشید و نخواهید کسی بفهمد که شما از چه سایتهایی بازدید کردهاید. حالت دیگر این است که یک هکر بخواهد به یک سیستم نفوذ کند و هیچ ردپایی از خود بجا نگذارد.
توجه داشته باشید که همه پروکسیها برای مخفی کاری مناسب نیستند و از این نظر به دو دسته ناشناس (Anonymous) و غیر ناشناس (Non-Anonymous) تقسیم میشوند. پروکسیهای ناشناس، هویت فردی که ازشان استفاده میکند را حفظ میکنند در حالی که پروکسیهای غیر ناشناس هویت (IP آدرس) کاربرشان را به کامپیوتر هدف اطلاع میدهند.
تحت نظر گرفتن و سرقت اطلاعات:
به مثالی که در اول این بحث آورده شد برگردید. همواره برای تلفنچی اداره این امکان وجود دارد که به مکالمات شما دزدکی گوش دهد و از کارتان سر درآورد. عین همین مسئله برای پروکسی صادق است. گاهی یک سازمان امنیتی یا یک نهاد دولتی مثل FBI اقدام به ایجاد پروکسی عمومی میکند و سعی میکند با تحت نظر قرار دادن کسانی که از پروکسی آنها استفاده میکنند، اقدام به شناسایی هکرها و خرابکاران کند. گاهی نیز این هکرها و دزدان اینترنتی هستند که اقدام به ایجاد پروکسی میکنند و قصدشان این است تا با زیر نظر گرفتن کاربران، اطلاعات مهم آنها مثل شماره کارت اعتباری و پسوردها را سرقت کنند.
گذشتن از سد سانسور (فیلترینگ):
این خصوصیت پروکسی که یک ارتباط غیر مستقیم بین مبدا و مقصد بوجود میآورد، آن را برای دور زدن سیستمهای فیلترینگ بسیار مناسب ساخته است. زمانی که ارتباط مستقیم شما با یک سایت به دلیل فیلترینگ قطع شده، شما میتوانید به طور غیر مستقیم و به کمک پروکسی به آن دسترسی پیدا کنید، البته به شرط این که خود پروکسی فیلتر نشده باشد. در ادامه این کاربرد پروکسی را بیشتر توضیح میدهیم.
اگر شما قصد دارید از پروکسی برای عبور از فیلتر استفاده کنید، لازم است ٣ مرحله را طی کنید. اول این که یک پروکسی آزاد در خارج از محدوده فیلترینگ پیدا کنید. سایتهای زیادی وجود دارند که لیستی از پروکسیها را در اختیارتان میگذارند. آدرس تعدادی از این سایتها در اینجا آمده است:
به احتمال زیاد دسترسی شما به اکثر سایتهای فوق مسدود شده است. اگر چنین است با تایپ عبارت “proxy list” در گوگل سعی کنید سایتی را پیدا کنید که فیلتر نشده باشد. برای این کار میتوانید از کش (Cache) گوگل نیز کمک بگیرید. مطمئناً با کمی حوصله میتوانید به لیستی از پروکسیها دسترسی پیدا کنید! ولی توجه داشته باشید که ممکن است تنها تعداد کمی از آن پروکسیها برای شما کار کنند. راهنمائیهای زیر شما را در انتخاب پروکسی مناسب کمک میکند:
پورت پروکسی:
پروکسیها نیز مانند سایر سرویسهای اینترنت خدمات خود را بر روی پورتهای خاصی ارائه میدهند. پورتهای متعارف (Common Ports) برای پروکسیها عبارتند از 80، 1080، 3128 و 8080 . به طور معمول شماره پورت پروکسی به همراه دو نقطه : در انتهای آدرس پروکسی نوشته میشود، مثلاً:
-
195.175.37.6:8080
-
proxy.net:3128
بسیاری از سانسور کنندگان اینترنت برای این که جلوی استفاده کاربرانشان از پروکسی را بگیرند، پورتهای متعارف را مسدود میکنند. لذا شما باید به دنبال پروکسی بگردید که خدماتش را بر روی پورتی ارائه کند که مسدود نباشد.
در ایران پروکسیهایی که روی پورت 80 قرار دارند برایتان کار نخواهند کرد. پس وقتتان را بیهوده تلف نکرده و به راحتی از آنها صرفنظر کنید. پروکسیهایی که روی پورتهای 3128 و 8080 هستند چندان قابل اعتماد نیستند، زیرا دیده میشود که ISPها و مخابرات مکرراً این پورتها را بلوک میکند.سایر پورتها باز هستند ولی متأسفانه پیدا کردن پروکسی که روی پورتهای نامتعارف کار کند چندان آسان نیست.
آدرس پروکسی:
آدرس پروکسی که قصد استفاده از آن را دارید نباید در لیست سیاه مخابرات باشد وگرنه کار نخواهد کرد. عملاً این امکان برای سانسور کنندگان وجود ندارد که آدرس تمام پروکسیها را در لیست سیاهشان قرار دهند؛ چون هر روزه هزاران پروکسی شروع به کار میکنند و صدهها عدد نیز از ارائه سرویس باز میمانند. کنترل و شناسایی همه پروکسیها برای سانسور کنندگان کاری غیر ممکن است.
پروکسی عمومی :
بسیاری از پروکسیها توسط سازمانها و مؤسسات و برای ارائه خدمت به کاربران خودشان ایجاد شدهاند. این دسته از پروکسیها از ارائه سرویس به شما امتناع خواهند کرد. برای استفاده از گروهی دیگر از پروکسیها ممکن است نیاز به پسورد داشته باشید. برای این که بتوانید از آنها استفاده کنید باید مشترکشان شوید و آبونمان بپردازید. خوب، اگر قصد پول خرج کردن ندارید تنها گزینه باقیمانده برایتان پروکسیهای عمومی و پروکسیهای حفاظت نشده هستند. پروکسیهای حفاظت نشده در اصل متعلق به مؤسسات و سازمانها هستند و برای استفاده داخلی خودشان طراحی شدهاند ولی به علت ضعف در مدیریت و پیکربندی، به افراد خارج از آن سازمان نیز سرویس میدهند. بدیهی است که عمر این پروکسیها بسیار کوتاه میباشد و به محض این که صاحبان پروکسی به سوء استفاده از پروکسیشان پی ببرند آن را خواهند بست. پروکسی عمومی (Public Proxy) به پروکسی میگویند که برای استفاده رایگان عموم کاربران اینترنت طراحی شده است. عملاً چنین پروکسی وجود ندارد؛ چرا که ایجاد و نگهداری یک پروکسی هزینه زیادی برای صاحب آن دارد و در مقابل هیچ منفعتی هم برای او به همراه ندارد (البته بجز وب پروکسیها). بنابراین نسبت به پروکسیهای عمومی به دیده احتیاط نگاه کنید، زیرا ممکن است متعلق به سازمانهای جاسوسی یا دزدان اینترنتی باشد. البته گاهی چنین پروکسیهایی از طرف سازمانهای مبارزه با سانسور هم راه اندازی میشوند.
پروکسی فیلتر کننده:
گاهی ممکن است به پروکسیهای حفاظت نشدهای بر بخورید که خودشان برای اعمال سانسور طراحی شدهاند. از آنجایی که این پروکسیها متعلق به سایر کشورها هستند ممکن است بتوانید از آنها برای دسترسی به سایتهای سیاسی فیلتر شده استفاده کنید.
همان طور که از مطالب بالا متوجه شدید تنها تعداد کمی از پروکسیها برای شما کار خواهند کرد. پس قدم دوم بعد از این که لیستی از پروکسیها را بدست آوردید این است که آنها را امتحان کنید تا ببینید کدامیک برای شما کار میکنند. برای چک کردن پروکسیها، برنامههایی وجود دارد که لیست پروکسیها را از شما گرفته و یک به یک آنها را تست میکند. به این نرمافزارها اصطلاحاً پروکسی چکر (Proxy Checker) میگویند. شما میتوانید لیستی از نرمافزارهای مرتبط با پروکسی را در اینجا پیدا کنید:
بعد از این که یک پروکسی خوب پیدا کردید، قدم سوم این است که مرورگر خود را طوری تنظیم کنید تا به جای ارتباط مستقیم با اینترنت از پروکسی استفاده کند.
اگر مراحل فوق را با موفقیت انجام داده باشید، اکنون میتوانید آزادانه در اینترنت گردش کنید. توجه داشته باشید که از پروکسی فقط برای سایتهای فیلتر شده استفاده کنید و برای سایر سایتها پروکسی را غیر فعال کنید، زیرا ممکن است سرعت اینترنت شما را کاهش دهد.
حال که با اصول و روش کار پروکسیها آشنا شدید، لازم است کمی هم راجع به انواع پروکسیها بدانید. از نظر فنی پروکسیها به چند گروه تقسیم میشوند که مهمترین آنها عبارتند از:
-
پروکسی HTTP: اکثر پروکسیهایی که به آنها برخورد میکنید از این گروه هستند. این پروکسیها برای دیدن صفحات وب طراحی شدهاند و فقط از پروتکل HTTP پشتیبانی میکنند. البته گاهی پروتکل FTP نیز توسط بعضی از آنها پشتیبانی میگردد. از این پروکسیها نمیتوان برای دیدن صفحات رمزنگاری شده (Secure) استفاده کرد، زیرا پروتکل مورد استفاده برای این صفحات HTTPS است.
-
پروکسی HTTPS: معمولاً این پروکسیها از هر دو پروتکل HTTP و HTTPS پشتیبانی میکنند و میتوان از آنها برای مرور صفحات وب رمزنگاری شده نیز بهره برد.
-
پروکسی ساکس (Socks): این پروکسیها که خود به دو دسته Socks 4 و Socks 5 تقسیم میشوند، طوری طراحی شدهاند تا از کل پروتکلهای اینترنت پشتیبانی کنند. این پروکسیها، غالباً روی پورت 1080 قرار دارند.
-
وب پروکسی (CGI-Proxy): این پروکسیها که در اصطلاح عوام به آنها فیلترشکن میگویند با سایر پروکسیهای فوقالذکر اختلاف ریشهای دارند. اینها در واقع وب سایتهایی هستند که به کاربر اجازه میدهند از طریق آنها به سایر وب سایتها دسترسی یابد و برای این منظور از برنامههایی (اسکریپت) استفاده میکنند که به زبانهای برنامه نویسی تحت وب (مثل PHP و Perl) نوشته شدهاند. از آنجایی که کار کردن با این پروکسیها بسیار ساده است، محبوبیت زیادی پیدا کردهاند.