上班族

 找回密码
 立即注册
查看: 550|回复: 1

bash shell走socks5代理

[复制链接]

459

主题

544

帖子

2160

积分

金牌会员

究极白给怪

Rank: 6Rank: 6

积分
2160
QQ
发表于 2021-7-28 23:36:23 | 显示全部楼层 |阅读模式
之前搭了一个VPS,用的是socks5的协议。chrome上有现成的插件所以一直都可以用,但在bash shell上始终不知道应该怎么通过这个代理来访问网站。
在网上查了一下,bash上配置代理是export两个环境变量
  1. export http_proxy=socks5://127.0.0.1:1080
  2. export https_proxy=socks5://127.0.0.1:1080
复制代码
但尝试以后发现根本不行,有人说是因为bash shell不支持socks5代理。解决方法主要是再将socks5代理转成http代理,相当于中间再加一层代理。还有一个简单点的办法是用proxychains,估计原理应该是一样的。
步骤如下:
1、安装proxychains
  1. git clone git clone https://github.com/rofl0r/proxychains-ng.git
  2. cd proxychains-ng
  3. ./configure
  4. make
  5. sudo make install
  6. sudo make install-config
复制代码
2、配置
修改/usr/local/etc/proxychains.conf文件
将最后一行改成
  1. socks5 127.0.0.1 1080
复制代码
即可
3、使用
  1. proxychains4 curl www.google.com
复制代码


回复

使用道具 举报

459

主题

544

帖子

2160

积分

金牌会员

究极白给怪

Rank: 6Rank: 6

积分
2160
QQ
 楼主| 发表于 2021-7-28 23:37:33 | 显示全部楼层
        一般用ping来测试网络是否连通. 在用proxychains代理时,发现ping用不了
1
2
3
4
[wyq@localhost ~]$ proxychains ping 135.32.9.98
ProxyChains-3.1 (http://proxychains.sf.net)
ERROR: ld.so: object 'libproxychains.so.3' from LD_PRELOAD cannot be preloaded: ignored.
PING 135.32.9.98 (135.32.9.98) 56(84) bytes of data.

        proxychains支持的是socks,http, https协议.它们以tcp或者udp协议为基础. 所以proxychains只支持使用tcp或udp协议的程序. ping用的是ICMP协议,不以tcp或udp为基础,所以用不了。
        有其它办法吗?
        以tcp或udp为基础,测试网络是否可用的工具,比较好用的有wget   
1
2
3
4
5
[wyq@localhost ~]$ proxychains wget 135.32.9.98
ProxyChains-3.1 (http://proxychains.sf.net)
--2014-01-16 09:44:57--  http://135.32.9.98/
正在连接 135.32.9.98:80... |S-chain|-<>-192.168.1.115:1080-<><>-135.32.9.98:80-<--denied
失败:拒绝连接。

       虽然提示拒绝连接,但是输出信息,已能说明网络连通了.
       wget本身简单易用,在这种情况下,用来测试网络是否可用,还是比较适合的。

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|shangbanzu.xyz

GMT+8, 2025-5-8 02:44 , Processed in 0.056498 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.. 技术支持 by 巅峰设计

快速回复 返回顶部 返回列表