经验分享 | 基于代理IP的挖掘与分析
字数 1130 2025-08-18 11:36:57

基于代理IP的挖掘与分析教学文档

1. 代理IP概述

代理IP是指介于客户端和目标服务器之间的中间服务器,用于转发客户端请求并隐藏真实IP地址。代理IP在网络安全、数据爬取、隐私保护等领域有广泛应用。

2. 代理IP挖掘与分析流程

2.1 整体思路

  1. 获取代理地址
  2. 验证代理地址可用性
  3. 提取代理指纹信息
  4. 自动化挖掘代理
  5. 数据分析与利用

2.2 代理IP的主要用途

  • 网络爬虫
  • 隐藏真实IP
  • 访问受限内容
  • 薅羊毛活动
  • 安全研究

3. 代理IP获取方法

3.1 公开代理IP平台

  • www.xicidaili.com(国内高匿/普通/HTTPS/HTTP代理)
  • cn-proxy.com(需要梯子)

3.2 爬取代理IP示例代码

#coding:utf-8
from requests import *
import re

headers = {
    "accept":"text/html,application/xhtml+xml,application/xml;",
    "accept-encoding":"gzip",
    "accept-language":"zh-cn,zh;q=0.8",
    "referer":"Mozilla/5.0(compatible;Baiduspider/2.0;+http://www.baidu.com/search/spider.html)",
    "connection":"keep-alive",
    "user-agent":"mozilla/5.0(windows NT 6.1;wow64) applewebkit/537.36 (khtml,like gecko)chrome/42.0.2311.90 safari/537.36"
}

for i in range(1,835):
    url = 'http://www.xicidaili.com/wn/' + str(i)
    html = get(url,timeout=3,headers=headers)
    html.encoding = html.apparent_encoding
    proxyip = r'(<td>.*</td>)'
    iplist = re.findall(proxyip,html.text)
    i = 1
    for ip in iplist:
        ip = (ip.split('<td>')[1]).split('</td>')[0]
        f = open('./ip.txt','a')
        print(ip,file=f)
        if i%5==0:
            print('\n',file=f)
        i = i + 1

4. 代理IP验证

4.1 验证方法

通过代理访问baidu.com,返回状态为200则说明代理可用

4.2 验证代码示例

#coding:utf-8
from requests import *
import re

for proxy in open("https.txt"):
    proxy = proxy.replace('\n','')
    proxies={"https":proxy}
    headers = {
        "Host": "www.baidu.com",
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0",
        "Accept": "*/*",
        "Accept-Language": "en-US,en;q=0.5",
        "Accept-Encoding": "gzip, deflate",
        "Referer": "https://www.baidu.com/"
    }
    url = 'https://www.baidu.com'
    try:
        html = get(url,timeout=10,headers=headers,proxies=proxies)
        if html.status_code == 200:
            proxy = proxy.split('https://')[1]
            f = open('./proxyip.txt','a')
            print(proxy,file=f)
    except Exception as e:
        print(e)
        pass

5. 代理指纹提取

5.1 指纹提取方法

  1. 使用Nmap扫描识别服务类型
  2. 分析HTTP响应头部信息(特别是Server字段)

5.2 常见代理指纹

  • MikroTik http proxy
  • Squid
  • App-webs
  • Tengine
  • Proxy
  • Microsoft-IIS
  • PCSERVER
  • Apache

5.3 指纹提取代码

#coding:utf-8
from requests import *

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0",
    "Accept": "*/*",
    "Accept-Language": "en-US,en;q=0.5",
    "Accept-Encoding": "gzip, deflate",
}

for url in open("proxytest.txt"):
    url = url.split('\n')[0]
    try:
        html = get(url,timeout=3,headers=headers)
        html = html.headers['server']
    except Exception as e:
        pass
    f = open('./proxyanalysis.txt','a')
    print(url,html,file=f)

6. 代理指纹实战应用

6.1 使用搜索引擎查找代理

  • Fofa搜索语法:server:"MikrotikHttpProxy"
  • Shodan、Zoomeye等也可用于搜索

6.2 常见代理端口分布

对29700个HTTPS代理端口的分析显示,以下端口出现频率较高(>100次):

  • 8080
  • 3128
  • 80
  • 8888
  • 8081
  • 8000
  • 1080
  • 9000
  • 443
  • 8082

7. 数据分析与安全应用

7.1 长期存活的代理IP分析

SELECT * FROM httpsproxy 
WHERE LiveDays LIKE '%天' AND LiveDays > 100 
ORDER BY LiveDays DESC;

7.2 安全分析

  1. 识别政企单位泄露的代理
  2. 使用云悉平台查询IP关联域名:
    http://yunsee_info.vuln.cn/?type=webip&url=1.2.3.4

7.3 批量查询代码

#coding:utf-8
from requests import *
import re

for ip in open('livedays.txt'):
    url = 'http://yunsee_info.vuln.cn/?type=webip&url=' + ip
    html = get(url)
    html = html.text
    if '404' not in html:
        f = open('./ipipip.txt','a')
        print(ip,html,file=f)

8. IP情报应用

代理IP可作为IP信誉情报的一部分:

  • 识别恶意IP
  • 防范薅羊毛行为
  • 增强安全防护

9. 总结与建议

9.1 安全观

  • 专注于细分领域深度研究
  • 采用简单有效的解决方案
  • 网络层防护优先于应用层防护

9.2 最佳实践

  1. 定期爬取公开代理IP
  2. 建立代理IP指纹库
  3. 分析长期存活的代理IP
  4. 将代理IP纳入威胁情报系统
  5. 关注政企单位泄露的代理配置

9.3 扩展方向

  • 代理IP区域分布分析
  • 代理服务器业务组件指纹
  • 路由器等设备代理特征
  • 自动化代理IP挖掘系统开发

通过系统化的代理IP挖掘与分析,可以有效提升网络安全防护能力,并为威胁情报提供重要数据支持。

基于代理IP的挖掘与分析教学文档 1. 代理IP概述 代理IP是指介于客户端和目标服务器之间的中间服务器,用于转发客户端请求并隐藏真实IP地址。代理IP在网络安全、数据爬取、隐私保护等领域有广泛应用。 2. 代理IP挖掘与分析流程 2.1 整体思路 获取代理地址 验证代理地址可用性 提取代理指纹信息 自动化挖掘代理 数据分析与利用 2.2 代理IP的主要用途 网络爬虫 隐藏真实IP 访问受限内容 薅羊毛活动 安全研究 3. 代理IP获取方法 3.1 公开代理IP平台 www.xicidaili.com(国内高匿/普通/HTTPS/HTTP代理) cn-proxy.com(需要梯子) 3.2 爬取代理IP示例代码 4. 代理IP验证 4.1 验证方法 通过代理访问baidu.com,返回状态为200则说明代理可用 4.2 验证代码示例 5. 代理指纹提取 5.1 指纹提取方法 使用Nmap扫描识别服务类型 分析HTTP响应头部信息(特别是Server字段) 5.2 常见代理指纹 MikroTik http proxy Squid App-webs Tengine Proxy Microsoft-IIS PCSERVER Apache 5.3 指纹提取代码 6. 代理指纹实战应用 6.1 使用搜索引擎查找代理 Fofa搜索语法: server:"MikrotikHttpProxy" Shodan、Zoomeye等也可用于搜索 6.2 常见代理端口分布 对29700个HTTPS代理端口的分析显示,以下端口出现频率较高(>100次): 8080 3128 80 8888 8081 8000 1080 9000 443 8082 7. 数据分析与安全应用 7.1 长期存活的代理IP分析 7.2 安全分析 识别政企单位泄露的代理 使用云悉平台查询IP关联域名: http://yunsee_info.vuln.cn/?type=webip&url=1.2.3.4 7.3 批量查询代码 8. IP情报应用 代理IP可作为IP信誉情报的一部分: 识别恶意IP 防范薅羊毛行为 增强安全防护 9. 总结与建议 9.1 安全观 专注于细分领域深度研究 采用简单有效的解决方案 网络层防护优先于应用层防护 9.2 最佳实践 定期爬取公开代理IP 建立代理IP指纹库 分析长期存活的代理IP 将代理IP纳入威胁情报系统 关注政企单位泄露的代理配置 9.3 扩展方向 代理IP区域分布分析 代理服务器业务组件指纹 路由器等设备代理特征 自动化代理IP挖掘系统开发 通过系统化的代理IP挖掘与分析,可以有效提升网络安全防护能力,并为威胁情报提供重要数据支持。