zoukankan      html  css  js  c++  java
  • Kali Linux(Debian)代理工具:ProxyChains使用教程

    ProxyChains是一个开源代理工具,能够强制使任何应用的TCP连接使用SOCKS4,SOCKS或者HTTP(S)代理进行连接。首先简单介绍一下ProxyChains的具体操作流程,如下:

    一、ProxyChains下载与安装

    由于Kali Linux系统测试这个系统中已经自带了ProxyChains,因此就不多说了,简单说下:

    ProxyChains下载地址:https://github.com/rofl0r/proxychains-ng

    二、ProxyChains 配置

    ProxyChains运行的所有配置都在“/etc/proxychains.conf ”文件中;

    ProxyChains 配置文件

    ProxyChains 配置文件

    在 [ProxyList] 下面添加代理IP和端口,可以任意添加代理,一行一个记录。

    例如,我添加代理IP和端口,如下图

    其它配置项用法如下:

    • dynamic_chain:该配置项能够通过ProxyList中的每个代理运行流量,如果其中一个代理关闭或者没有响应,它能够自动选择ProxyList中的下一个代理;
    • strict_chain:改配置为ProxyChains的默认配置,不同于dynamic_chain,也能够通过ProxyList中的每个代理运行流量,但是如果ProxyList中的代理出现故障,不会自动切换到下一个。
    • random_chain:该配置项会从ProxyList中随机选择代理IP来运行流量,如果ProxyList中有多个代理IP,在使用proxychains的时候会使用不同的代理访问目标主机,从而使主机端探测流量更加困难。

    三、ProxyChains 使用

    大致了解了proxychains的配置项之后,可以测试一下proxychains使用代理访问的情况,proxychains使用起来也非常简单,命令形式为:

    proxychains <运行的命令> <命令参数>

    1、使用ProxyChains代理访问网站

    root@kali:~# proxychains curl https://www.xxx.com

     

    2、接下来,我们可以亲自实践一下sqlmap+proxychains代理的效果。

    第一步:首先,直接运行sqlmap扫描目标地址,然后在某云上的WAF看到拦截日志及源IP:

     

    第二步:接着,利用proxychains代理sqlmap扫描目标地址,然后在某云上的WAF上能过看到拦截日志及源IP已经变成了代理IP:

     

    可以看到攻击IP已经变成了代理IP,所属地区也变成了代理IP的地区,试验成功。

    四、ProxyChains自动添加代理

    接下来就是说说,如何实现ProxyChains自动添加代理?大致分为以下几个步骤:

    1. 需要有一个提供免费代理的地址;
    2. 解析该地址提供的内容获取代理IP和端口;
    3. 将获取的代理IP和端口加入到proxychains.conf配置文件的ProxyList配置项中;

    免费代理的网站百度或者谷哥就能得到很多答案,例如:

    • 快代理:https://www.kuaidaili.com/free/
    • ProxyList:https://proxy-list.org/english/index.php;PorxyList是国外的一个提供免费代理的网站,貌似需要翻墙访问,这里我使用快代理提供的IP和端口。

    唯一需要注意的是:在使用proxychains代理转发过程中,如果目标对象为https,那么需要使用支持SSL/https协议的代理,快代理提供的免费代理均只支持http协议;Proxy List中有支持SSL/HTTPS协议且免费的代理。

    ProxyChains自动添加代理具体步骤如下:

    1、访问快代理并解析网页内容获取代理IP和端口;

     

    2、将获取的代理IP和端口更新写入ProxyList配置项中;

     

    3、查看代理IP是否写入配置文件成功?配置文件更新成功之后,就可以运行该脚本看看效果了,出现如下图结果,

     整个Python脚本代码如下:

    #!/usr/bin/python

    # -*- coding: utf-8 -*-

    import json

    import requests

    import time

    import os

    from bs4 import BeautifulSoup

    url = "https://www.kuaidaili.com/free/"

    headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36'}

      def get_proxy_datas():

        r = requests.get(url,headers=headers)

        content = r.content

        soup = BeautifulSoup(content,'lxml')

        ips =soup.find_all('td',attrs={'data-title':'IP'})

        ports = soup.find_all('td',attrs={'data-title':'PORT'})

        print('开始写入代理IP和端口......')

        write_conf(ips,ports)

        print("代理ID和端口写入完成,将退出......")

      def write_conf(ips,ports):

        for i in range(0,len(ips)):

          print("--->IP:"+ips[i].string+"PORT:"+ports[i].string+"<---")

          time.sleep(1)

          with open('/etc/proxychains.conf','a+') as f:

            f.write('http %s %s '%(ips[i].string,ports[i].string))

    get_proxy_datas()

    转载:https://www.fujieace.com/kali-linux/proxychains.html

  • 相关阅读:
    SYSTEM32 下的几乎所有文件的简单说明
    Windows2000 下管理员账户真的不安全
    Windows2000 下管理员账户真的不安全
    SYSTEM32 下的几乎所有文件的简单说明
    看看你电脑里面有多少垃圾文件浪费内存
    巧妙利用三招保护局域网中的 IP 地址
    Sun推出OpenSolaris 为技术立异注入生机
    高质量C /C编程指南附录B :C /C试题和答案
    高质量C /C编程指南第8章 C 函数的初级特性
    俄罗斯邮政将迁徙到Linux 有关机构已入手入手测试Linux
  • 原文地址:https://www.cnblogs.com/thespace/p/12492506.html
Copyright © 2011-2022 走看看