Skip to main content

Python library for FOFA (https://fofa.info)

Project description

FOFA SDK 使用说明

简介

基于 FOFA API 编写的 pythonSDK, 方便 python 开发者快速将 FOFA 集成到自己的项目中。

Api Documentation

FOFA 命令行工具

基于FOFA python SDK实现的简单命令行工具,用于简单的FOFA数据查询

安装

pip install fofa-py

用法

显示所有支持的命令

fofa

设置fofa api key

通过环境变量设置认证信息

环境变量Key Value
FOFA_EMAIL 用户登陆 FOFA 使用的 Email
FOFA_KEY 前往 个人中心 查看 API Key

search

搜索子命令,从fofa搜索数据,

搜索数据

搜索数据并展示结果

fofa search domain=bing.com --size 1000 -f ip,port,domain,title,certs_match,certs_expired

统计搜索结果数量

fofa search domain=bing.com --count
382128

查询聚合信息

fofa search domain=bing.com -f port,domain,protocol,title --stats --size 10

保存结果数据

保存结果数据为csv或xls格式,示例:

# 保存数据为csv文件
fofa search domain=bing.com -f ip,port,domain,link,title,certs_match,certs_expired --size 50000 --save bing.csv

# 搜索证书匹配的数据
fofa search 'domain="bing.com" && cert.is_match=true' -f ip,port,domain,link,title,certs_match,certs_expired --size 50000 --save bing_cert_expired.xls

host

查看一个域名或ip的host信息,示例

fofa host www.bing.com
{
    "asn": 59067,
    "category": [
        "其他企业应用"
    ],
    "consumed_fpoint": 0,
    "country_code": "CN",
    "country_name": "China",
    "domain": [
        "tuzhiji.com",
        "61.129.255.240:8080"
    ],
    "error": false,
    "host": "www.bing.com",
    "ip": "202.89.233.101",
    "org": "Microsoft Mobile Alliance Internet Services Co., Ltd",
    "port": [
        443,
        80,
        8080
    ],
    "product": [
        "Microsoft-RSA-TLS-CA",
        "Microsoft-RSA-TLS-CA-02"
    ],
    "protocol": [
        "https",
        "http"
    ],
    "required_fpoints": 0,
    "update_time": "2023-06-27 08:00:00"
}

代码使用sdk

# -*- coding: utf-8 -*-
import fofa

if __name__ == "__main__":
    email, key = ('test@test.com', 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')  # 输入email和key
    client = fofa.Client(email, key)                # 将email和key传入fofa.Client类进行初始化和验证,并得到一个fofa client对象
    query_str = 'header="thinkphp" || header="think_template"'
    for page in range(1, 51):                       # 从第1页查到第50页
        fpoint = client.get_userinfo()["fofa_point"]      # 查询F点剩余数量
        if fpoint < 100:
            break                                   # 当F点小于100时,不再获取数据
        data = client.search(query_str, size=100, page=page, fields="ip,city")  # 查询第page页数据的ip和城市
        for ip, city in data["results"]:
            print "%s,%s" % (ip, city)              # 打印出每条数据的ip和城市

协议

FOFA SDK 遵循 MIT 协议,查看 协议文件

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

FOFA-py-2.0.2.tar.gz (10.4 kB view details)

Uploaded Source

Built Distribution

FOFA_py-2.0.2-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

Details for the file FOFA-py-2.0.2.tar.gz.

File metadata

  • Download URL: FOFA-py-2.0.2.tar.gz
  • Upload date:
  • Size: 10.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.17

File hashes

Hashes for FOFA-py-2.0.2.tar.gz
Algorithm Hash digest
SHA256 41e0aca1189f1632b1286e5c36e2fe664f258c8866bcb397d21a7c23143349c4
MD5 f2de54e3a22ec23cf389f149240bd078
BLAKE2b-256 4f168e7742d78dabfb85525895a7d4219f4399b33b41f5fc63865ef9eeb9d623

See more details on using hashes here.

File details

Details for the file FOFA_py-2.0.2-py3-none-any.whl.

File metadata

  • Download URL: FOFA_py-2.0.2-py3-none-any.whl
  • Upload date:
  • Size: 12.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.17

File hashes

Hashes for FOFA_py-2.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f818814e0cd34cc304d0533a14022d8521d6fc869ff6e22734edecf0f4e5c851
MD5 229e6d1a66fe8a82a8c13a4a920e6c22
BLAKE2b-256 8ee969c347d18af839b6bccb14add868cd739e2cd7d8d5e2fe56b97d9489f367

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page