Closed komomon closed 20 hours ago
感谢师傅的建议。可能我表述的有问题,lastupdatetime
是从代码中移除了。但是实际依旧可以使用。最初设计的时候lastupdatetime
有一部分是占位的功能。因此移除对实际功能没有影响。现在依旧可以使用。比如
fofax -q 'apache' -ff "ip,lastupdatetime"
2.-all-fields
和-dump-all
这个主意很好。我们尽量抽空做一下。
3.针对大批量的数据导出我们有做。可以试一试
https://github.com/xiecat/sylas 这个相对来说好用点。
sylas是只要浏览器登录fofa账号,自己获取api和key,然后进行api获取数据吗,还是网页爬取。看了下是根据不同国家来获取数据,对于普通用户友好,但是依然不能获取最全数据。
第一二条适合新旧会员,第三条更加有助于老版会员。 1、fofaapi给出了各个等级的用户可以通过获取哪些字段,同时fofaapi提供了返回账户信息的api,建议师傅不要直接删除lastupdatetime字段,有些时候当数据超过这个值的时候,大家有个参考,知道通过api查询的最后一条数据日期是什么时候,可以通过web加上before after字段去查看未通过api获取的资产。便于大家获取未通过api获取到的资产,或者根据before after字段,再次通过fofax进行查询,获取第一次未获取到的数据。 实现方法:下面的第二条的的方法,判断用户是否是专业及以上会员,以此来判断是否结果输出lastupdatetime字段。 fofatapi获取账户信息,包括会员等级:
fofa对各个等级会员支持的查询字段和输出字段:
![image](https://user-images.githubusercontent.com/52700174/231422726-f492ab00-fca3-4578-8721-89afe7788c61.png)
2、建议fofax添加一个获取全字段的参数,比如--all-fields,方便有需要lastupdatetime或其他字段的用户获取所需数据。 实现方法:fofax代码中添加各等级会员支持查询和返回的字段的代码,fofax每次查询之前先检查userinfo.json是否存在,如果不存在则fofax先通过api https://fofa.info/api/v1/info/my查询用户的信息(如图1),并将用户信息存到userinfo.json文件中。当查询时,如果用户使用了--all-fields参数,则根据已存在的userinfo.json的会员等级level字段判断用户等级,并返回该等级会员所能返回的所有字段。 这一条针对老版会员的帮助很大。
3、建议fofax添加--dumpall(-dl)或者--report-all(-rl)参数并结合-fs参数,通过自动添加before after参数来导出所有查询数据,这一条针对至少高级会员。 原因:对于老版会员,每次api查询是有数量限制的,超过需要付费,但是可以通过添加before after参数来获取所有查询数据。 实现方法:先获取历史记录的条数总数,然后根据使用的-fs参数自动截断获取指定的条数,然后根据最后一条的日期加一(可以通过转成时间戳加1天再转成时间,就不用担心跨月份之类的问题。同时加一也是为了防止后面还有这一天的数据,而漏掉),拼接上语句
&& before="这个日期"
再获取-fs参数指定的条数,最后去重合并,输出结果。一些建议,再此万分感谢师傅已开发的fofax。