Redian新闻
>
Linux —— curl 命令使用代理、以及代理种类介绍

Linux —— curl 命令使用代理、以及代理种类介绍

公众号新闻

链接:https://www.cnblogs.com/panxuejun/p/10574038.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不使用代理访问:

[[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透明代理访问:

[[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匿名代理访问:

[[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高匿名代理访问:

[[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代理访问:

[[email protected] ~]# curl --socks5 122.192.32.76:7280 http://aiezu.com/test.phpArray( [REMOTE_ADDR] => 180.96.54.198)

可以看出此SOCKS5代理也是高匿名代理。

END

官方站点:www.linuxprobe.com

Linux命令大全:www.linuxcool.com

刘遄老师QQ:5604215

Linux技术交流群:2636170

(新群,火热加群中……)

想要学习Linux系统的读者可以点击"阅读原文"按钮来了解书籍《Linux就该这么学》,同时也非常适合专业的运维人员阅读,成为辅助您工作的高价值工具书!


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
最新研究:每天4杯咖啡,癌症复发和死亡风险降低32%!但有一种类型的咖啡不行......巧用 20 个 Linux 命令贴士与技巧,让你生产力瞬间翻倍?System76 推出 Lemur Pro Linux 笔记本:酷睿 Ultra 处理器,1399 美元起Linux之父 Linus Torvalds 在技术上可谓是从不私藏,也绝不闭门造车盘点 | 缺德舅新款小零食,种类超多挑花眼!当女人野心勃勃、以自我为中心、掠夺(而不是奉献)Linux 路由网关——生产常见问题带房私 | 女生寻找Waterloo或Vauxhall,能步行到火车站的单间,预算£499,可4月入住!linux磁盘管理LVM的使用使用 HyperLynx/ Calibre 助力您的 3D IC 电子仿真|西门子EDA在线研讨会直播预告云开源公司成“恶龙”?——指控Linux基金会旗下开源项目盗用代码吴清首度公开亮相!我到任这个岗位还没有“满月”,边学边干、以学为主课间打闹撞断护栏,小学生仍在ICU抢救!学生妈妈:教学楼3年前才投入使用因为中国,澳洲所有人都要多交一笔钱!全世界首创的税收种类,这才是真的抢钱!新加坡外交部总司长认罪!涉提供假资料、以权谋私Linux 运维工程师频繁使用的 10 款工具肚子赘肉多?最新研究显示 这种类型的身材更易罹患大肠癌Linux常用的网络命令linux监控命令全覆盖(图文说明)84、长篇家庭伦理小说《嫁接》第二十二章 柔情似水(3)谷歌前招聘官:不要在简历中使用这三种类型的短语世道真变了!没有想到美、以、伊三方也能同台演戏?Hilton与Small Luxury Hotels of The World达成合作伙伴关系 部分合作细节泄露,可用积分和FN7045 血壮山河之枣宜会战 宜昌溃战 1卷心菜榨汁“以人定房、以房定地、以房定钱”能做到么?动画电影《小倩》发布定档海报;艾玛·斯通新片《善良的种类》首曝预告黄仁勋给马斯克人工智能芯片的那个办公室墙上写的是什么上岸笔记 | 恭喜 NU学员 斩获 Guggenheim Securities 实习offer【买房】Lexington优质学区大独栋 | 近95和Burlington商场 | 6b4.5b 4,636sqft $195W从 160 行代码到 200 亿安装量:Curl 的传奇故事新员工入职 5 年最少赚 2 亿元、以前挖人现在撬整个团队,AI 公司抢人大战再升级!旅行的尽头是日本(18)Bellustar的寿司店[干货] 实用句型:cure sb. of sth.云开源公司成“恶龙”?——指控 Linux 基金会旗下开源项目盗用代码
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。