ProxyPoolxSocks与Fofa-hack配合自建代理池

  1. ProxyPoolxSocks与Fofa-hack配合自建代理池
  2. 先抓代理
  3. 搭建代理池
    1. 服务端
    2. 客户端

ProxyPoolxSocksFofa-hack配合自建代理池

两个工具

Anyyy111/ProxyPoolxSocks: ☁️Socks代理池服务端自动化搭建工具☁️ (github.com)

Cl0udG0d/Fofa-hack: 非付费会员,fofa数据采集工具 (github.com)

这两天项目天天封我ip,草,他还是一堆域名一起封禁的,我整个公司的站都进不去了。电脑上的全局代理工具也代理不了burp,Proxifier虽然可以代理burp但是我没有那么多代理啊,所以决定研究一下代理池。

先抓代理

抓代理,很简单,给一个fofa语法先

protocol=="socks5" && "Version:5 Method:No Authentication(0x00)" && after="2023-11-23" && country="CN"

然后用fofahack来抓代理

fofa-hack.exe --keyword "protocol=='socks5' && 'Version:5 Method:No Authentication(0x00)' && after='2023-11-23' && country='CN'" --authorization "fofatoken"
 --endcount 5000 --output OUTPUT --timesleep 2

这里贴一下参数吧

  -h, --help            show this help message and exit
  --keyword KEYWORD, -k KEYWORD
                        fofa搜索关键字
  --inputfile INPUTFILE, -i INPUTFILE
                        指定文件,从文件中批量读取fofa语法
  --base BASE, -b BASE  以base64的形式输入关键字 -b InRoaW5rcGhwIg==
  --timesleep TIMESLEEP, -t TIMESLEEP
                        爬取每一页等待秒数,防止IP被Ban,默认为3
  --timeout TIMEOUT, -to TIMEOUT
                        爬取每一页的超时时间,默认为180秒
  --endcount ENDCOUNT, -e ENDCOUNT
                        爬取结束数量
  --level LEVEL, -l LEVEL
                        爬取等级: 1-3 ,数字越大内容越详细,默认为 1
  --output OUTPUT, -o OUTPUT
                        输出格式:txt、json,默认为txt
  --outputname OUTPUT, -on OUTPUTNAME
                        指定输出文件名,默认为fofaHack
  --fuzz, -f            关键字fuzz参数,增加内容获取粒度
  --proxy PROXY         指定代理,代理格式 --proxy '127.0.0.1:7890'
  --authorization AUTHORIZATION
                        指定Authorization值

image-20240223235634246

好,反正现在已经抓下来了。准备搭建代理池

搭建代理池

服务端

先去下一下吧Anyyy111/ProxyPoolxSocks: ☁️Socks代理池服务端自动化搭建工具☁️ (github.com)

然后这个分为服务端和客户端,我们这里把服务端搭建在vps上面,

这里的代理前面需要加一个socks://,我这里写了个py脚本,来批量让抓取的代理地址前面加上这个文本,脚本如下:

# 读取原始txt文件
with open('fofaHack.txt', 'r') as file:
    lines = file.readlines()

# 处理每一行,添加"socks://"
new_lines = ['socks://' + line.strip() for line in lines]

# 将处理后的内容写入新的txt文件
with open('output_file.txt', 'w') as file:
    file.write('\n'.join(new_lines))

print("处理完成,请查看output_file.txt文件。")

image-20240224000441767

代理池从github下载下来之后,直接传到vps上面,然后里面的node.txt文件里面填写我们刚刚弄的代理地址。

我草我服了,这也能报错啊,
image-20240224001016240
这里我弄了三千多个节点进去,然后报错了,待我把代码放本地来调试一下。。。。

好,改好了,把当前文件夹下面的都getaddress.py的第51行代码改成如下内容

try:
    parts = node.split('socks://')[1].split(':')
    if len(parts) >= 2:
        addr, port = parts[:2]
        # 执行接下来的操作
    else:
        print("无法正确解析地址和端口")
except IndexError:
    print("无法正确解析地址和端口")

image-20240224002514322
改成这样
image-20240224002524734

这样就好了,现在我们把vps上面的服务端搭建起来

直接python run.py,注意必须要python3.7版本已上。。这centos yum下载的是2的版本,要改版本可以参考此博客
centos7安装python3.7 - Mr_Yun - 博客园 (cnblogs.com)
又改了一万年

然后直接运行run.py就行
image-20240224010141686

好力!

客户端

可以在文件夹Client-check里面的client.py来检测一下可用性

或者直接用proxifier即可。但是很多抓取到的ip其实是不能用的,不过夜无所谓,这样就好了。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。后续可能会有评论区,不过也可以在github联系我。