Ubuntu系统命令行使用代理

zxl19 2021-08-13

在安装代理工具后,在Ubuntu 18.04系统中使用proxychains4工具在命令行中使用代理。

系统配置

  1. 操作系统:Ubuntu 18.04;
  2. 代理工具已安装并正常运行,使用的IP地址和端口以127.0.0.1:1080为例:

    • 查看使用代理端口的进程:

        lsof -i:1080
      
    • 查看代理使用的公网IP:

        curl --socks5 127.0.0.1:1080 ip.sb      # 只显示IPv4
        curl --socks5 127.0.0.1:1080 cip.cc     # 显示IPv4和地址信息
      

安装

sudo apt install proxychains4

配置

  1. 打开proxychains4工具的默认配置文件:

     sudo gedit /etc/proxychains4.conf
    
  2. 在配置文件最后进行设置:

     # socks4 127.0.0.1 9050 # 注释掉原内容
     socks5 127.0.0.1 1080   # 代理使用的端口
    

使用

  1. 在需要使用代理的命令前添加proxychains4即可:

     proxychains4 [ -f configfile.conf ] <program>
    

    示例:

     sudo proxychains4 rosdep init
     proxychains4 rosdep update
    
  2. 如果Git已配置代理可不使用proxychains4
  3. 由于proxychains4只代理TCP连接,而ping命令使用ICMP连接,所以无法使用proxychains4代理ping命令;

参考

  1. Ubuntu下实现命令行走代理/终端走代理的方法-lyh458的文章-知乎
  2. linux命令行代理神器-proxychains-TimeMachine的文章-知乎
  3. 什么是公网IP?公网IP与内网IP的区别?-埃文科技的文章-知乎
  4. Linux查看公网IP和私网(内网)IP的方法-CSDN博客