如何突破网络审查
ar en es fa fr my ru vi

SOCKS 代理

SOCKS是一种互联网协议,它显示了一种特殊的代理服务器 SOCKS代理的默认端口是1080,但它们也可能在其他端口上。与普通的HTTP代理的实际区别是,SOCKS代理不仅可以用来网络浏Web浏览,但也可为其他应用程序使用,如视频游戏、文件传输或即时通信客户端。和VPN类似,它们作为一个安全的隧道。
普通的SOCKS版本包括44A5。第4版创建一个连接总是需要IP地址,所以DNS解析仍然在客户端上进行。这使得它不能满足很多绕行需要。4A版通常使用主机名。第5版包括身份验证、UDPIPv6等新技术,但它通常使用IP地址,所以它也可能不是完美的解决方案。另见本章末尾的DNS泄漏部分。
各种软件可以利用SOCKS代理来绕过过滤器或其他限制,不仅仅是浏览器,还包括即时通信和电子邮件应用程序等其他互联网软件。

尽管确实存在公共SOCKS代理,但大部分SOCKS代理运行在你的本地计算机上,并且由软件程序提供。因为SOCKS隧道非常灵活,一些审查绕行软件可以在你的计算机上创建一个本地代理(通常可以通过账户名localhost或者IP地址127.0.0.1访问)。这个本地代理可以让网页浏览器等软件使用绕行软件。这类工具包括TorYour-Freedom,以及通过PuTTY安装的ssh隧道。

本地代理爱好者T恤(明白了?)

geekfashion

为了使用应用代理绕开审查,在和其它网络通信时,你必须让本地计算机上的软件知道你想使用代理。

有些网络软件通常不支持代理,因为软件开发者没有提供代理支持。但很多软件可以通过“SOCKS化(socksifier软件支持SOCKS代理,这些软件的一些例子包括:

配置应用软件

在大多数情况下,通过设置软件使用SOCKS代理的方法和使用HTTP代理的方法差不多。软件如果支持SOCKS代理,在它的菜单或者选项对话框里设置HTTP代理的地方通常会有一个单独的部分让你设置SOCKS代理。有些软件会让你选择SOCKS 4SOCKS 5代理设置,一般选择SOCKS 5更好,但有的SOCKS代理只支持SOCKS 4.

有些软件,如火狐(Firefox)允许用户同时设置HTTPSOCKS代理。这种情况下,你就可以在正常网页浏览时使用HTTP代理,当访问视频播放等内容使用SOCKS代理。

Mozilla Firefox

配置Mozilla Firefox使用SOCKS代理:    

  1. 选择工具(Tools菜单,点击选项(Options
    1_1

  2. 会出现选项(Options窗口: 
    2

  3. 在窗口顶部工具栏选择高级(Advanced 
    3_1

  4. 点击网络(Network选项卡:  
    4_1

  5. 点击设置(Settings。火狐弹出连接设置(Connection Settings窗口:
    5

  6. 选择手动设置代理(Manual proxy configuration,然后其下的选项就可以更改了。
    6a_1

  7. 输入“SOCKS代理(SOCKS proxy地址和端口(Port号,选择“SOCKS v5”然后点击“OK”
    6a

现在火狐就可以使用SOCKS代理了。

微软IE 浏览器

通过以下步骤让IE浏览器使用SOCKS代理:

  1. 工具(Tools菜单选择“Internet选项(Internet Options  
    FLOSS_Manuals__en____Microsoft_Internet__2008_11_12__22_40_02

  2. IE弹出“Internet选项(Internet Options窗口: 
    InternetOptions06

  3. 单击连接(Connections选项卡: 
    Internet_Options__2008_11_12__22_40_09

  4. 单击“LAN设置(LAN SettingsIE会弹出局域网设置(Local Area Network LAN Settings窗口:
    Local_Area_Network__LAN__Settings__2008_11_13__11_44_41

  5. 选择LAN使用代理服务器(Use a proxy server for your LAN然后点击高级(AdvancedIE弹出代理设置(Proxy Settings窗口:
    proxy_settings_6

  6. 确保没有选中为所有协议使用同一代理服务器(Use the same proxy server for all protocols
    proxy_settings_7

  7. SOCKS行输入使用的代理地址(Proxy address to use端口(Port号,然后点击“OK” 
    proxy_settings_5

现在IE就可以使用SOCKS代理了。

为其他程序设置 SOCKS 代理

除浏览器之外的很多网络程序也可以通过SOCKS代理连接到网络,绕开网络屏蔽。以下设置的即时通讯软件Pidgin就是一个典型的例子,但是设置其它软件使用SOCKS代理的具体步骤可能略有不同。

  1. 工具(Tools菜单单击首选项(Preferences”:
    PidginConfigProxy1_1

  2. Pidgin会弹出首选项窗口: 
    PidginConfigProxy2_1

  3. 点击网络选项卡。 
    PidginConfigProxy3_1

  4. 代理类型(Proxy type里选择“SOCKS 5”,然后会出现更多选项。  
    PidginConfigProxy4_1

  5. 输入你想使用的SOCKS代理的主机(Host端口(Port号。
    PidginConfigProxy7_1

  6. 点击关闭(Close

这样Pidgin就可以使用SOCKS代理了。

用完代理之后

在你用完代理之后,尤其是在共享计算机上,一定要把修改过的设置恢复到默认状态。不然,这些程序将继续尝试使用代理。如果你不想让别人知道你用过代理,或者提供本地代理的绕行程序没有同时运行,这会带来麻烦。

DNS 泄漏

使用SOCKS代理会存在一个严重的问题,即有些支持SOCKS代理的程序不会一直通过代理进行网络通信。最常见的就是域名系统(DNS)请求可能不通过代理发出。这种DNS泄漏会造成隐私问题,并可能导致你试图利用代理绕过的DNS被屏蔽。软件是否存在DNS泄漏问题视版本不同而不同。 Mozilla Firefox当前的默认设置存在DNS泄漏问题,但是你可以通过永久设置更改阻止DNS泄漏,避免DNS泄漏的发生:

  1. 像输入网址一样在火狐地址栏输入“about:config”(你可能会看到一个关于改变高级设置的警告):
    becarful

  2. 如有必要,点击我会小心,我保证!(I'll be careful, I promise!来确认你想修改浏览器设置。浏览器会显示一个配置设置信息列表。
  3. 过滤器(Filter一栏输入“network.proxy.socks_remote_dns”。这里只会出现这一个设置选项。
    search

  4. 如果该设置的值为假(false),双击改变为真(true

现在火狐就可以阻止DNS泄漏了。一旦该值显示为真(true),火狐就会自动永久保存该设置。

如果不使用外部程序,目前还无法阻止微软IE浏览器内的DNS泄漏问题。

   在本文撰写时,使用SOCKS 5代理的Pidgin软件还没有发生过DNS泄漏的情况。

HELPING OTHERS