防封ip解决方案之ip代理池

VSole2023-04-03 09:51:00

本项目其实就是个简单的代理服务器,经过我小小的修改。加了个代理池进来。渗透、爬虫的时候很容易就会把自己ip给ban了,所以就需要ip代理池了。

ProxyPool 爬虫代理IP池

______                        ______             _
| ___ \_                      | ___ \           | |
| |_/ / \__ __   __  _ __   _ | |_/ /___   ___  | |
|  __/|  _// _ \ \ \/ /| | | ||  __// _ \ / _ \ | |
| |   | | | (_) | >  < \ |_| || |  | (_) | (_) || |___
\_|   |_|  \___/ /_/\_\ \__  |\_|   \___/ \___/ \_____\
                       __ / /
                      /___ /
ProxyPool

爬虫代理IP池项目,主要功能为定时采集网上发布的免费代理验证入库,定时验证入库的代理保证代理的可用性,提供API和CLI两种使用方式。同时你也可以扩展代理源以增加代理池IP的质量和数量。

  • 文档: https://proxy-pool.readthedocs.io/zh/latest/
  • 支持版本:  
  • 测试地址: http://demo.spiderpy.cn (勿压谢谢)
  • 付费代理推荐: luminati-china. 国外的亮数据BrightData(以前叫luminati)被认为是代理市场领导者,覆盖全球的7200万IP,大部分是真人住宅IP,成功率扛扛的。付费套餐多种,需要高质量代理IP的可以注册后联系中文客服,开通后有5美金赠送和教程指引(PS:用不明白的同学可以参考这个使用教程)。

运行项目

下载代码:
  • git clone
git clone git@github.com:jhao104/proxy_pool.git
  • releases
https://github.com/jhao104/proxy_pool/releases 下载对应zip文件
安装依赖:
pip install -r requirements.txt
更新配置:
# setting.py 为项目配置文件# 配置API服务HOST = "0.0.0.0"               # IPPORT = 5000                    # 监听端口# 配置数据库DB_CONN = 'redis://:pwd@127.0.0.1:8888/0'# 配置 ProxyFetcherPROXY_FETCHER = [    "freeProxy01",      # 这里是启用的代理抓取方法名,所有fetch方法位于fetcher/proxyFetcher.py
    "freeProxy02",    # ....]

启动项目:

# 如果已经具备运行条件, 可用通过proxyPool.py启动。# 程序分为: schedule 调度程序 和 server Api服务# 启动调度程序python proxyPool.py schedule# 启动webApi服务python proxyPool.py server

Docker Image

docker pull jhao104/proxy_pool
docker run --env DB_CONN=redis://:password@ip:port/0 -p 5010:5010 jhao104/proxy_pool:latest

docker-compose

项目目录下运行:

docker-compose up -d

使用

  • Api

启动web服务后, 默认配置下会开启 http://127.0.0.1:5010 的api接口服务:

  • 爬虫使用

如果要在爬虫代码中使用的话, 可以将此api封装成函数直接使用,例如:

import requestsdef get_proxy():    return requests.get("http://127.0.0.1:5010/get/").json()def delete_proxy(proxy):    requests.get("http://127.0.0.1:5010/delete/?proxy={}".format(proxy))# your spider codedef getHtml():    # ....
    retry_count = 5
    proxy = get_proxy().get("proxy")    while retry_count > 0:        try:            html = requests.get('http://www.example.com', proxies={"http": "http://{}".format(proxy)})            # 使用代理访问
            return html
        except Exception:            retry_count -= 1
    # 删除代理池中代理
    delete_proxy(proxy)    return None

扩展代理

项目默认包含几个免费的代理获取源,但是免费的毕竟质量有限,所以如果直接运行可能拿到的代理质量不理想。所以,提供了代理获取的扩展方法。

添加一个新的代理源方法如下:

  • 1、首先在ProxyFetcher类中添加自定义的获取代理的静态方法, 该方法需要以生成器(yield)形式返回host:ip格式的代理,例如:
class ProxyFetcher(object):    # ....
    # 自定义代理源获取方法
    @staticmethod
    def freeProxyCustom1():  # 命名不和已有重复即可
        # 通过某网站或者某接口或某数据库获取代理
        # 假设你已经拿到了一个代理列表
        proxies = ["x.x.x.x:3128", "x.x.x.x:80"]        for proxy in proxies:            yield proxy
        # 确保每个proxy都是 host:ip正确的格式返回
  • 2、添加好方法后,修改setting.py文件中的PROXY_FETCHER项:

PROXY_FETCHER下添加自定义方法的名字:


PROXY_FETCHER = [    "freeProxy01",    
    "freeProxy02",    # ....
    "freeProxyCustom1"  #  # 确保名字和你添加方法名字一致]

 schedule 进程会每隔一段时间抓取一次代理,下次抓取时会自动识别调用你定义的方法。

免费代理源

目前实现的采集免费代理网站有(排名不分先后, 下面仅是对其发布的免费代理情况, 付费代理测评可以参考https://zhuanlan.zhihu.com/p/33576641):

(具体地址可看项目地址)

项目地址

https://github.com/jhao104/proxy_pool

本项目其实就是个简单的代理服务器,经过我小小的修改。加了个代理池进来。渗透、爬虫的时候很容易就会把自己ip给ban了,所以就需要ip代理池了。

ProxyPool 爬虫代理IP池

______                        ______             _
| ___ \_                      | ___ \           | |
| |_/ / \__ __   __  _ __   _ | |_/ /___   ___  | |
|  __/|  _// _ \ \ \/ /| | | ||  __// _ \ / _ \ | |
| |   | | | (_) | >  < \ |_| || |  | (_) | (_) || |___
\_|   |_|  \___/ /_/\_\ \__  |\_|   \___/ \___/ \_____\
                       __ / /
                      /___ /
ProxyPool

爬虫代理IP池项目,主要功能为定时采集网上发布的免费代理验证入库,定时验证入库的代理保证代理的可用性,提供API和CLI两种使用方式。同时你也可以扩展代理源以增加代理池IP的质量和数量。

  • 文档: https://proxy-pool.readthedocs.io/zh/latest/
  • 支持版本:  
  • 测试地址: http://demo.spiderpy.cn (勿压谢谢)
  • 付费代理推荐: luminati-china. 国外的亮数据BrightData(以前叫luminati)被认为是代理市场领导者,覆盖全球的7200万IP,大部分是真人住宅IP,成功率扛扛的。付费套餐多种,需要高质量代理IP的可以注册后联系中文客服,开通后有5美金赠送和教程指引(PS:用不明白的同学可以参考这个使用教程)。

运行项目

下载代码:
  • git clone
git clone git@github.com:jhao104/proxy_pool.git
  • releases
https://github.com/jhao104/proxy_pool/releases 下载对应zip文件
安装依赖:
pip install -r requirements.txt
更新配置:
# setting.py 为项目配置文件# 配置API服务HOST = "0.0.0.0"               # IPPORT = 5000                    # 监听端口# 配置数据库DB_CONN = 'redis://:pwd@127.0.0.1:8888/0'# 配置 ProxyFetcherPROXY_FETCHER = [    "freeProxy01",      # 这里是启用的代理抓取方法名,所有fetch方法位于fetcher/proxyFetcher.py
    "freeProxy02",    # ....]

启动项目:

# 如果已经具备运行条件, 可用通过proxyPool.py启动。# 程序分为: schedule 调度程序 和 server Api服务# 启动调度程序python proxyPool.py schedule# 启动webApi服务python proxyPool.py server

Docker Image

docker pull jhao104/proxy_pool
docker run --env DB_CONN=redis://:password@ip:port/0 -p 5010:5010 jhao104/proxy_pool:latest

docker-compose

项目目录下运行:

docker-compose up -d

使用

  • Api

启动web服务后, 默认配置下会开启 http://127.0.0.1:5010 的api接口服务:

  • 爬虫使用

如果要在爬虫代码中使用的话, 可以将此api封装成函数直接使用,例如:

import requestsdef get_proxy():    return requests.get("http://127.0.0.1:5010/get/").json()def delete_proxy(proxy):    requests.get("http://127.0.0.1:5010/delete/?proxy={}".format(proxy))# your spider codedef getHtml():    # ....
    retry_count = 5
    proxy = get_proxy().get("proxy")    while retry_count > 0:        try:            html = requests.get('http://www.example.com', proxies={"http": "http://{}".format(proxy)})            # 使用代理访问
            return html
        except Exception:            retry_count -= 1
    # 删除代理池中代理
    delete_proxy(proxy)    return None

扩展代理

项目默认包含几个免费的代理获取源,但是免费的毕竟质量有限,所以如果直接运行可能拿到的代理质量不理想。所以,提供了代理获取的扩展方法。

添加一个新的代理源方法如下:

  • 1、首先在ProxyFetcher类中添加自定义的获取代理的静态方法, 该方法需要以生成器(yield)形式返回host:ip格式的代理,例如:
class ProxyFetcher(object):    # ....
    # 自定义代理源获取方法
    @staticmethod
    def freeProxyCustom1():  # 命名不和已有重复即可
        # 通过某网站或者某接口或某数据库获取代理
        # 假设你已经拿到了一个代理列表
        proxies = ["x.x.x.x:3128", "x.x.x.x:80"]        for proxy in proxies:            yield proxy
        # 确保每个proxy都是 host:ip正确的格式返回
  • 2、添加好方法后,修改setting.py文件中的PROXY_FETCHER项:

PROXY_FETCHER下添加自定义方法的名字:


PROXY_FETCHER = [    "freeProxy01",    
    "freeProxy02",    # ....
    "freeProxyCustom1"  #  # 确保名字和你添加方法名字一致]

 schedule 进程会每隔一段时间抓取一次代理,下次抓取时会自动识别调用你定义的方法。

免费代理源

目前实现的采集免费代理网站有(排名不分先后, 下面仅是对其发布的免费代理情况, 付费代理测评可以参考https://zhuanlan.zhihu.com/p/33576641):

(具体地址可看项目地址)

项目地址

https://github.com/jhao104/proxy_pool

如有侵权,请联系删

http代理ip代理
本作品采用《CC 协议》,转载必须注明作者和本文链接
0x01 前言使用Burpsuite进行渗透测试时经常会遇到的这两个场景:1.目标站点在国内,但测试时不想暴露自己的真实IP,或者仅允许指定的白名单IP才能访问,2.目标站点在国外,需要翻墙后才能访问。
在内网横向过程中,经常会用frp、狗洞、nps等工具,在内网环境中搭建一个反向socks5代理,方便红队人员开展内网渗透工作。socksProxyVersion版本号是5或者是4,默认是5版本,也就是Socks5代理,这里也可以指定。
各大平台公开 IP,但很多网友表现出 IP 地址可以随意切换,有什么解决办法吗?如何获取真实的ip而非代理
App 服务端测试基本就是 Web 安全那一套,但如果抓不到服务器的包?模拟器和测试手机的安卓版本建议在 7 以下,生态较好。
隧道与端口转发
2021-11-18 08:26:13
如果想获得课程报名资格,请添加文末小助手微信咨询。查看是否禁止了出站ip或者禁止了出站端口或者禁止了出站协议。情况1:目标禁止出站ip如果目标主机设置了严格的策略,防火墙只允许目标内网机器主动连接公网指定的ip。这样的话,没法反弹shell。情况2:禁止出站端口Linux系统使用Linux系统自带命令探测出网端口。
可以看见命令执行成功。接下来直接写入一个shell ,使用php 的 file_put_contents 函数写个一句话木马:http:. 验证成功,直接使用蚁剑进行连接。对 192.168.22.x/24 网段进行扫描:.虽然在之前的扫描中发现了Target2 80端口存在一个cms,但是 渗透总是照着软柿子捏,我们尝试使用nmap 对Target2 进行端口扫描,寻找其开放的端口。Bage cms 渗透通过查看网页底部指纹信息,知道这是一个bage cms搭建的网站,而且从时间上来看有些老旧。
关于mubengmubeng是一款功能强大的代理检查和IP地址轮转工具。该工具具备以下几种功能特性:代理IP轮换:在每次发送请求之后变更你的IP地址。支持传递所有的参数和URI。支持HTTP&Socksv5代理协议。Docker安装直接运行下列命令即可将mubeng的Docker镜像拉取到本地:?
本项目其实就是个简单的代理服务器,经过我小小的修改。加了个代理池进来。渗透、爬虫的时候很容易就会把自己ip给ban了,所以就需要ip代理池了。ProxyPool 爬虫代理IP池______ ______ _. | ___ \_ | ___ \ | |. | |_/ / \__ __ __ _ __ _ | |_/ /___ ___ | |. | __/| _// _ \ \ \/ /| | | || __// _ \ / _ \ | |. | | | | | | > < \ |_| || | | | || |___. \_| |_| \___/ /_/\_\ \__ |\_| \___/ \___/ \_____\. 免费代理源目前实现的采集免费代理网站有(排名不分先后,
网络世界里为人们所熟知的DDoS攻击,多数是通过对带宽或网络计算资源的持续、大量消耗,最终导致目标网络与业务的瘫痪;这类DDOS攻击,工作在OSI模型的网络层与传输层,利用协议特点构造恶意的请求载荷来达成目标资源耗尽的目的。 除了这类在网络传输层大做文章的DDoS攻击,还有一类DDoS攻击把目光聚焦到了应用层。随着互联网的飞速发展,接入流量逐年攀高,承载这些流量的网络应用也被黑产、黑客们盯上,在
通过WEBRTC结合stun服务器实现获取真实主机IP测试:真实IP:挂代理之后的ip保存以下代码到本地:. 在挂代理的条件下,访问,即可获得 代理后面的真实IP:具体WEBRTC、STUN的原理,感兴趣的自行google
VSole
网络安全专家