python小工具之fofa小脚本

本文介绍了使用Python编写的小工具,该工具能够从Fofa平台进行查询并把结果保存到CSV文件。通过输入查询语法,利用requests库发送请求,base64编码处理查询参数,然后使用pandas库处理查询结果并将其转化为CSV格式。最终,数据以'域名'、'IP'、'端口'为列名存储在CSV文件中,方便进一步分析。
摘要由CSDN通过智能技术生成
                     python小工具之fofa小脚本

记录一个将python列表处理为csv文件的学习过程,并完成一个fofa查询的小工具编写
需要用到的库为如下库

import requests        //request库,用来请求数据
import base64         //base64,进行base64编码
import pandas as pd          //pandas库,数据处理,此处用来处理csv
import csv              //csv文件

fofaApi验证数据如下图
在这里插入图片描述
本地验证的代码如下


```python
headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0"}

getquery=input("查询语法:",)
strquery=str.encode(getquery)
bquery=base64.b64encode(strquery)
fquery=str(bquery,"utf-8")
url="https://fofa.so/api/v1/search/all?email=邮箱&key=fofakey&"+"qbase64="+fquery+"&page=1&size=1000&results={ip}"
print(url)
html=requests.get(url=url,headers=headers).json()

``
效果如下
在这里插入图片描述
返回的数据类型为json格式
在这里插入图片描述
然后需要将查询结果进行处理,再保存至csv文件
代码如下

key= list(html.values())[4:5]   //取出结果中的results,转换为list
m = key[0]       //处理多余的'[]'

处理结果如下
在这里插入图片描述
创建csv文件的列名

t=['域名','IP','端口']

创建csv文件

outputfile=open('test.csv', 'w', newline='')
outputfile.close()

将数据写入csv文件

df=pd.DataFrame(columns=t, data=m)
df.to_csv("test.csv",encoding='ANSI', index=False)

最终效果如下
在这里插入图片描述
最终代码如下

import requests
import base64
import pandas as pd
import csv



headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0"}

getquery=input("查询语法:",)
strquery=str.encode(getquery)
bquery=base64.b64encode(strquery)
fquery=str(bquery,"utf-8")
url="https://fofa.so/api/v1/search/all?email=邮箱&key=apiKey&"+"qbase64="+fquery+"&page=1&size=1000&results={ip}"
html=requests.get(url=url,headers=headers).json()

outputfile=open('test.csv', 'w', newline='')
outputfile.close()
key= list(html.values())[4:5]
print(key)

t=['域名','IP','端口']

m = key[0]

df=pd.DataFrame(columns=t, data=m)
df.to_csv("test.csv",encoding='ANSI', index=False)

简单的小脚本就写完了。。。pandas库是真的好用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值