wappalyzer_scan

command
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 1, 2026 License: MIT Imports: 6 Imported by: 0

README

技术栈识别示例(v3.0 Engine API)

本示例演示 (*Engine).WappalyzerScan 与 (*Engine).GetBaseInfo 的复用。

运行

cd example/wappalyzer_scan
go run main.go

核心代码

engine, _ := sdk.NewEngine(ctx,
    sdk.WithTimeout(10*time.Second),
)
defer engine.Close()

// 方式一:从 GetBaseInfo 拿 TechStack(一次请求获取所有基础信息)
baseInfo, _ := engine.GetBaseInfo(ctx, target)
ts := baseInfo.TechStack

// 方式二:仅技术栈识别
ts, _ := engine.WappalyzerScan(ctx, target)

TechStack 字段

type TechStack struct {
    WebServers           []string  // 如 [Nginx, OpenResty]
    ProgrammingLanguages []string  // 如 [PHP, Node.js]
    WebFrameworks        []string  // 如 [Spring Boot, Laravel]
    JavaScriptFrameworks []string  // 如 [Vue.js, React]
    JavaScriptLibraries  []string  // 如 [jQuery, lodash]
    Security             []string  // 如 [HSTS, CSP]
    Caching              []string  // 如 [Varnish]
    ReverseProxies       []string  // 如 [Cloudflare]
    StaticSiteGenerator  []string
    HostingPanels        []string
    Other                []string
}

单 Engine 多目标复用

同一个 *Engine 可在不同 goroutine 中并发调用,无需重复初始化指纹库:

var wg sync.WaitGroup
for _, target := range targets {
    wg.Add(1)
    go func(t string) {
        defer wg.Done()
        ts, _ := engine.WappalyzerScan(ctx, t)
        // 处理 ts
    }(target)
}
wg.Wait()

Documentation

Overview

wappalyzer_scan 演示仅技术栈识别(不跑指纹匹配)。

  • 同一个 Engine 跨多目标复用
  • GetBaseInfo(含 TechStack 字段)与 WappalyzerScan(仅 TechStack)取值方式

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL