当前位置:首页 > CN2资讯 > 正文内容

Linux curl命令使用代理、以及代理种类介绍(转)linux curl 代理

12小时前CN2资讯
Linux curl命令使用代理、以及代理种类介绍    本文转自http://aiezu.com/article/linux_curl_proxy_http_socks.html,感谢作者   有时出于个人隐私的原因,我们希望隐藏自己的IP,让http服务器无法记录我们访问过它,这时我们可以使用代理服务器。
  代理服务器(Proxy Server)是工作在浏览器与http服务器之间的一个服务应用,所有经过代理服务器的http请求,都会被转发到对应的http服务器上。
  当然,除了http可以使用代理外,https、ftp、RTSP、pop3等协议同样可以使用代理访问,不过本文介绍的是支持http、https协议访问的代理。
  

一、代理服务器分类:

  我们比较常用、支持http(s)协议代理主要分为两大类:http代理和socks代理,见下表: 大类 小类 子类 描述 http代理 http代理
https代理 透明代理 http服务器知道浏览器端使用了代理,并能获取浏览器端原始IP; 匿名代理 http服务器知道浏览器端使用了代理,但无法获取浏览器端原始IP; 高匿名代理 http服务器不知道浏览器端使用了代理,且无法获取浏览器端原始IP; SOCKS代理 SOCKS4 被称为全能代
理,支持http
和其他协议 只支持TCP应用; SOCKS4A 支持TCP应用;支持服务器端域名解析; SOCKS5 支持TCP和UDP应用;支持服务器端域名解析;
支持多种身份验证;支持IPV6;  

二、Linux curl命令代理设置参数:

  linux curl命令可以使用下面参数设置http(s)代理、socks代理,已经设置它们的用户名、密码以及认证方式: 参数 用法 -x host:port
-x [protocol://[user:pwd@]host[:port]
--proxy [protocol://[user:pwd@]host[:port] 使用HTTP代理访问;如果未指定端口,默认使用8080端口;
protocol默认为http_proxy,其他可能的值包括:
http_proxy、HTTPS_PROXY、socks4、socks4a、socks5;
如:
--proxy 8.8.8.8:8080;
-x "http_proxy://aiezu:[email protected]:80" --socks4 <host[:port]>
--socks4a <host[:port]>
--socks5 <host[:port]> 使用SOCKS4代理;
使用SOCKS4A代理;
使用SOCKS5代理;
此参数会覆盖“-x”参数; --proxy-anyauth
--proxy-basic
--proxy-diges
--proxy-negotiate
--proxy-ntlm 代理认证方式,参考:
--anyauth
--basic
--diges
--negotiate
--ntlm -U <user:password>
--proxy-user <user:password> 设置代理的用户名和密码;
 

三、Linux curl命令设置代理举例:

1、linux curl命令设置http代理:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 # 指定http代理IP和端口 curl -x 113.185.19.192:80 http://aiezu.com/test.php curl --proxy 113.185.19.192:80 http://aiezu.com/test.php   #指定为http代理 curl -x http_proxy://113.185.19.192:80 http://aiezu.com/test.php   #指定为https代理 curl -x HTTPS_PROXY://113.185.19.192:80 http://aiezu.com/test.php   #指定代理用户名和密码,basic认证方式 curl -x aiezu:[email protected]:80 http://aiezu.com/test.php curl -x 113.185.19.192:80 -U aiezu:123456 http://aiezu.com/test.php curl -x 113.185.19.192:80 --proxy-user aiezu:123456 http://aiezu.com/test.php   #指定代理用户名和密码,ntlm认证方式 curl -x 113.185.19.192:80 -U aiezu:123456 --proxy-ntlm http://aiezu.com/test.php   #指定代理协议、用户名和密码,basic认证方式 curl -x http_proxy://aiezu:[email protected]:80 http://aiezu.com/test.php  

2、Linux curl命令设置socks代理:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 #使用socks4代理,无需认证方式 curl --socks4 122.192.32.76:7280 http://aiezu.com/test.php curl -x socks4://122.192.32.76:7280 http://aiezu.com/test.php   #使用socks4a代理,无需认证方式 curl --socks4a 122.192.32.76:7280 http://aiezu.com/test.php curl -x socks4a://122.192.32.76:7280 http://aiezu.com/test.php   #使用socks5代理,basic认证方式 curl --socks5 122.192.32.76:7280 -U aiezu:123456 http://aiezu.com/test.php curl -x socks5://aiezu:[email protected]:7280 http://aiezu.com/test.php   #使用socks5代理,basic认证方式,ntlm认证方式 curl -x socks5://aiezu:[email protected]:7280 --proxy-ntlm http://aiezu.com/test.php  

四、测试代理的隐匿度:

1、测试前准备:

  测试前,我们先在网站根目录也一个php页面“test.php”,用于输出http服务器接收到的访客IP地址信息,"test.php"测试页的代码如下: 1 2 3 4 5 6 7 8 9 <?php $array = array('HTTP_USER_AGENT', 'HTTP_HOST', 'HTTP_ACCEPT', 'PATH', 'SERVER_SIGNATURE', 'SERVER_SOFTWARE', 'SERVER_NAME', 'SERVER_ADDR', 'SERVER_PORT', 'DOCUMENT_ROOT', 'SERVER_ADMIN', 'SCRIPT_FILENAME', 'REMOTE_PORT', 'GATEWAY_INTERFACE', 'SERVER_PROTOCOL', 'REQUEST_METHOD', 'QUERY_STRING', 'REQUEST_URI', 'SCRIPT_NAME', 'PHP_SELF', 'REQUEST_TIME'); //  将 $_SERVER 数组赋予 $srv数组; $srv = $_SERVER; // 释放掉 $srv中不相关的键 foreach($array as $name ) {     unset($srv[ $name ]); } print_r($srv);   保存好"test.php"后,然后我们通过不用代理,和使用透明代理、匿名代理、高匿名代理、SOCKS分别去访问,看页面输出的内容结果。
  

2、测试使用不同代理输出结果:

  ①.  通过linux curl不使用代理访问: 1 2 3 4 5 [[email protected] ~]# curl http://aiezu.com/test.php Array (     [REMOTE_ADDR] => 114.112.104.126 )   可以看出,http服务器获取到的"REMOTE_ADDR"IP地址为"114.112.104.126",此IP地址就是客户端lcurl的真实IP地址。 
 
  ②. 通过linux curl命令使用http透明代理访问: 1 2 3 4 5 6 7 8 9 [[email protected] ~]# curl -x 37.139.9.11:80 http://aiezu.com/test.php Array (     [HTTP_VIA] => 1.1 ThunderVPN (squid/3.3.8)     [HTTP_X_FORWARDED_FOR] => 114.112.104.126     [HTTP_CACHE_CONTROL] => max-age=259200     [HTTP_CONNECTION] => keep-alive     [REMOTE_ADDR] => 37.139.9.11 )   可以看出REMOTE_ADDR字段变成了代理服务器的IP地址,同时真实IP地址也能从HTTP_X_FORWARDED_FOR字段获取到,还多了一个“HTTP_VIA”字段,可以看出出代理并不能隐藏真实IP,而且也会让http服务器自动浏览器端使用了代理。
 
  ③. 通过linux curl命令使用http匿名代理访问: 1 2 3 4 5 6 [[email protected] ~]# curl -x 60.21.209.114:8080 http://aiezu.com/test.php Array (     [HTTP_PROXY_CONNECTION] => Keep-Alive     [REMOTE_ADDR] => 60.21.209.114 )   从上面可以看出,REMOTE_ADDR字段变成了代理服务器的IP地址,而且在响应不包含原来的真实IP地址,但是多了HTTP_PROXY_CONNECTION,能判断出使用了代理,得出结论此浏览器客户端使用了匿名代理。

  ④. 通过linux curl命令使用http高匿名代理访问: 1 2 3 4 5 [[email protected] ~]# curl -x 114.232.1.13:8088 http://aiezu.com/test.php Array (     [REMOTE_ADDR] => 114.232.1.13 )   这次我们惊奇的发现,REMOTE_ADDR同样变成了代理的IP地址,同时不留下任何残留证据证明使用了代理,可以得出结论,这就是传说中的高匿名代理。
  
  ④. 通过linux curl命令使用socks5代理访问: 1 2 3 4 5 [[email protected] ~]# curl --socks5 122.192.32.76:7280 http://aiezu.com/test.php Array (     [REMOTE_ADDR] => 180.96.54.198 )   可以看出此SOCKS5代理也是高匿名代理。
    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/24763.html

    分享给朋友:

    “Linux curl命令使用代理、以及代理种类介绍(转)linux curl 代理” 的相关文章

    JustHost评测:高性价比VPS服务的最佳选择

    JustHost是一家成立于2006年的俄罗斯主机商。多年来,它在VPS和服务器租用方面积累了相当的声誉,并建立了一个庞大的客户群体。刚开始时,它的目标是帮助用户实现更灵活、高效的网络解决方案,逐渐扩展到如今的多种服务提供。无论你是中小企业还是个人用户,JustHost的产品都能满足不同层次的需求。...

    香港云电脑:灵活、高效、经济的现代计算解决方案

    香港云电脑概述 香港云电脑,是基于云计算技术的一种崭新电脑服务模式。其实你可以把它想象成一种“租赁”的概念。我们不需要像以前那样花大价钱去购买实体电脑,而是可以通过网络租用需要的计算、存储和软件资源,与此同时,拥有几乎完整的电脑功能。这种模式的好处多多,包括灵活性、低成本、高效性以及可扩展性。无论是...

    双ISP配置:提升网络可靠性与速度的最佳解决方案

    双ISP,顾名思义,就是同时连接两个互联网服务提供商。这种配置听起来可能有点复杂,但其实它是为了确保我们在享受网络服务时能够拥有更高的可靠性和更好的体验。想象一下,当你正在进行重要的在线会议或下载一个大文件,网络突然断了,这可真让人头疼。而双ISP就能帮助我们避免这样的困境。 双ISP的基本概念是,...

    反向代理的工作原理与应用场景详解

    反向代理概述 反向代理,听起来似乎有点复杂。实际上,这是一个位于客户端和服务器之间的“中间人”,它对客户端是透明的。换句话说,客户端并不知道有这个反向代理的存在。它的主要任务是接收客户端的请求,然后把这些请求转发给后端的服务器,再把服务器的响应返回给客户端。想象一下,反向代理就像一个邮递员,负责将信...

    zgocloud:提升数据管理效率的创新云计算解决方案

    zgocloud的定义与背景 在当今数字化快速发展的时代,zgocloud作为一种创新的云计算解决方案逐渐崭露头角。简单来说,zgocloud是一种基于云技术的平台,可以提供灵活的存储和计算能力。它的设计旨在更好地满足不同企业和个人用户在数据处理和管理方面的需求。成立之初,zgocloud就定位于提...

    狗云:高效便捷的云计算存储与协作服务

    在谈论“狗云”之前,我常常会想起狗狗那种无条件的信任与陪伴。狗云这个词汇的出现,让我联想到一种同样能让我们的工作与生活变得更加顺畅的平台。狗云,确切说是一种云计算服务,专注于为用户提供存储、管理、共享和协作的功能。简单来说,狗云就是一个可以存放和处理各种数据的线上空间。 狗云的背景相当有趣,它并不是...