Haziran 20, 2010

SOCKS ve ProxyChains ile Engelleri Kırmak

Kimi zaman interneti rahat kullanmak için proxy'leri geçmek zorunda kalıyorum. Hele de friendfeed'deki gözüken bütün resimler web filtreleri tarafından porno kategorisine sokulunca bu artık zorunlu hale geliyor. Bu tür engellemeler bir web filtresi üzerinden yapılıyor yani port bazlı bir engelleme söz konusu olmayınca dışarıdaki sunucuların ssh portları erişmek mümkün oluyor. Ben de bu durumda SSH'in SOCKS protokol özelliğini kullanarak, kendi makinamda bir SOCKS sunucusu oluşturarak, HTTP trafiğimi buradan aktarıyorum; eğer internete çıkan uygulamamda SOCKS bilgilerini girebileceğim bir yer yok ise onu da ProxyChains ile kullanıyorum, bu sayede internette rahat bir dolaşım sağlıyorum. Şimdi kısaca bunların nasıl gerçekleştiğini anlatayım.

Dışarıda SSH sunucusuna bağlanabileceğiniz bir makina olduğunu varsayıyorum ve bu makina outside.test.com olsun. Bu durumda şu komutu kullanıyoruz.

ssh outside.test.com -D 9999
Bu komut ile kendi makinamızda bir SOCKS sunucusu oluşturduk. Şimdi kullandığınız web tarayıcısının ağ ayarları 
bölümünde SOCKS ayarlarına şekilde görüldüğü gibi SOCKS sunucusu olarak 127.0.0.1 port olarak da 9999 yazmanız gerekecek. Artık web trafiğiniz bağlandığınız sunucu üzerinden gerçekleşecek.
Diyelim ki öyle bir uygulama kullanıyorsunuz ki bu uygulamada SOCKS ayarlarını 
yapacak bir yer yok ya da ayarı nasıl yapacağınızı bilmiyorsunuz. Mesela bunun için örnek olarak links kullanalım. links metin tabanlı bir web tarayıcısı, aslında links parametreleri kullanılarak SOCKS sunucusu kullanılabiliyor ama bu örnekte anlatmak istediğim ProxyChains'in nasıl kullanıldığı. ProxyChains kurmak Ubuntu üzerinde herhangi bir başka paketi kurmak kadar kolay:
apt-get install proxychains
Kurulumdan sonra /etc/proxychains.conf dosyasına kendi makinanızdaki SOCKS sunucusunu tanımlamanız gerekiyor ki o da aşağıdaki satırı bu dosyaya eklemekle oluyor:

socks5 127.0.0.1 9999
Artık SOCKS sunucusu kullanarak internete çıkıp çıkmadığınızı anlamak için şu iki komutu kullanabilirsiniz.
proxychains links  http://www.ip-numaram.com/
links  http://www.ip-numaram.com/

Bu iki komutun sonucunda farklı IP adresleri görmeniz gerekiyor. İlkinde SSH sunucusunun bulunduğu makinanın IP adresi, ikincisinde sizin IP adresiniz belirmeli.

0 comments: