Documentation
¶
Overview ¶
credit vscan
Index ¶
- Constants
- Variables
- func AddDataToTable(table prettytable.Writer, data []string)
- func AddStringToString(x string, seps []string, y string) []string
- func ApiDeDuplicate(RootPath string, directory string)
- func CheckFinger(finger string, title string, Url string, contentType string, location string, ...) []string
- func CloneDefaultTransport() *http.Transport
- func CloseLog()
- func CollectHostErrorStats(reset bool) map[string]HostErrorStat
- func ConfigInit()
- func Debug(format string, args ...interface{})
- func DecodeData(s string) ([]byte, error)
- func DecodePattern(s string) ([]byte, error)
- func Deduplicate[T comparable](slice []T) []T
- func DefaultLLMProfilePath(baseDir string) string
- func DirBrute(baseUrl string, dir string) []string
- func DisplayHeader(Url string, Method string)
- func Error(format string, args ...interface{})
- func Errorf(format string, args ...interface{}) error
- func ExportHTMLReport(ctx context.Context, db *sql.DB, outputPath string, llmCfg *LLMConfig) error
- func Failed(format string, args ...interface{})
- func Fatal(format string, args ...interface{})
- func FilReadUrl(filename string) []string
- func FileReadLine(filename string) []string
- func FileWrite(filename string, format string, args ...interface{})
- func FindFaviconURL(urlStr string) (string, error)
- func FindFaviconURLFromHTML(rootURL string, htmlBody string) (string, error)
- func FirstCharToUpper(Name string) string
- func GenerateWeakPassword() []string
- func GetCurrentTime() string
- func GetSpiderDB() *sql.DB
- func GetStructCodeMap() map[int][]byte
- func HalfCharToUpper(Name string) string
- func HighLight(data string, keywords []string, fingers []string, Url string)
- func HttpGetServerHeader(Url string, NeedTitle bool, Method string) (string, string, string, error)
- func IconDetect(Url string) (string, string, string, error)
- func IconDetectAuto(target string) (string, string, string, error)
- func ImportantApiJudge(ApiResult string, Url string)
- func Info(format string, args ...interface{})
- func InfoFile(format string, args ...interface{})
- func InitHttp()
- func InitHttpClient(threadsNum int, downProxy string, timeout time.Duration) error
- func InitLog(path string) error
- func InitSpiderDB(path string) (*sql.DB, error)
- func IsJavaScriptPath(Path string) bool
- func LastCharToUpper(Name string) string
- func LogBeautify(levelText string, colorAttr color.Attribute, msg string, level int)
- func MapToJson(param map[string][]string) string
- func MightBeChineseName(Name string) bool
- func MightBeIdentityCard(IdentityCard string) bool
- func MightBePhone(Phone string) bool
- func Mmh3Hash32(raw []byte) string
- func Normalize(raw string, base string) string
- func ParseJavaScriptUrl(Url string, RootPath string, doc string, directory string, apiCounter *int, ...)
- func ParsePortsString(portsStr string) ([]int, error)
- func PortScan(IpRange string, PortRange string)
- func PrintFinger(Url string, Depth int)
- func PrintTable(Url string, key string, data []SensitiveData)
- func QuickPortScan(ip string, ports []int, workers int, dialTimeout time.Duration) []int
- func Quote(x string) string
- func RemoveDuplicateElement(originals interface{}) (interface{}, error)
- func RemoveDuplicatesString(arr []string) []string
- func ReplaceWithTable(input string) string
- func SaveAPIPaths(db *sql.DB, rootURL, sourceURL string, paths []string, saveDir string) error
- func SaveCDNHosts(db *sql.DB, rootURL string, hosts []string) error
- func SaveGraphDB(db *sql.DB, edges []GraphEdge) error
- func SaveGraphJSON(path string, edges []GraphEdge) error
- func SaveLLMProfiles(path, secret string, profiles []LLMProfile) error
- func SavePageSnapshot(db *sql.DB, snap PageSnapshot) error
- func SaveSensitiveHits(db *sql.DB, hits []SensitiveHit) error
- func SaveService(category string, row []string)
- func SaveSourceMaps(db *sql.DB, hits []SourceMapHit) error
- func SaveSpiderSummary(db *sql.DB, rec SpiderRecord) error
- func ScanWithIpAndPort(addr []ProtocolInfo)
- func SecList() string
- func SelfUpdate(ctx context.Context, opts SelfUpdateOptions) (string, error)
- func SensitiveInfoCollect(db *sql.DB, Url string, Content string, directory string)
- func SetHeaders(req *http.Request)
- func SetSpiderDB(db *sql.DB)
- func ShowInfo()
- func SimHash(input []byte) uint64
- func Spider(RootPath string, Url string, depth int, directory string, myMap mapset.Set, ...) error
- func StandBase64(braw []byte) []byte
- func StatusColorTransformer(val interface{}) string
- func StringListToInterfaceList(tmpList []string) []interface{}
- func Success(format string, args ...interface{})
- func TranslateToEnglish(Name string) (string, string, string, string)
- func UrlFilter(Url string) bool
- func UrlFormated(lines []string) []string
- func Warning(format string, args ...interface{})
- func WriteSimpleXLSX(filename string, sheets []Worksheet) error
- func WriteToCsv(filename string, data []string)
- type APICount
- type APIPathRow
- type CDNHostRow
- type Config
- type Details
- type Directive
- type EntropyHit
- type ExistingLogger
- func (l *ExistingLogger) Debug(msg string, args ...interface{})
- func (l *ExistingLogger) Error(msg string, args ...interface{})
- func (l *ExistingLogger) Fatal(msg string, args ...interface{})
- func (l *ExistingLogger) Info(msg string, args ...interface{})
- func (l *ExistingLogger) SetLevel(level LogLevel)
- func (l *ExistingLogger) SetOutput(w io.Writer)
- func (l *ExistingLogger) Warning(msg string, args ...interface{})
- func (l *ExistingLogger) WithField(key string, value interface{}) Logger
- func (l *ExistingLogger) WithFields(fields map[string]interface{}) Logger
- type Extras
- type FingerResult
- type Fingerprint
- type GraphCollector
- type GraphEdge
- type HTMLReportData
- type HostErrorStat
- type IpHash
- type LLMConfig
- type LLMProfile
- type LLMSummary
- type LogLevel
- type Logger
- type Match
- type Packjson
- type PageSnapshot
- type PageSnapshotLite
- type PageSnapshotMeta
- type Probe
- type ProbesRarity
- type ProtocolInfo
- type Result
- type ScoredRow
- type SelfUpdateOptions
- type SensitiveCount
- type SensitiveData
- type SensitiveHit
- type Service
- type SourceMapHit
- type SpiderRecord
- type SpiderSummary
- type Target
- type VScan
- type Worker
- type Worksheet
Constants ¶
const ( DefaultLLMProvider = "google" DefaultLLMModel = "gemini-2.5-flash" DefaultLLMPrompt = "" /* 370-byte string literal not displayed */ DefaultLLMMaxChars = 128000 )
const ( LLMProfileDir = "output/config" LLMProfileFile = "llm_profiles.json.enc" )
const ( LevelInfo = iota LevelSuccess LevelFailed LevelWarning LevelError LevelFatal LevelDebug )
Variables ¶
var ( Client *http.Client ClientNoRedirect *http.Client )
var ErrAlreadyLatest = errors.New("already at latest version")
Functions ¶
func AddDataToTable ¶ added in v1.1.14
func AddDataToTable(table prettytable.Writer, data []string)
func ApiDeDuplicate ¶ added in v1.1.24
func CheckFinger ¶ added in v1.1.8
func CloneDefaultTransport ¶ added in v1.2.3
CloneDefaultTransport returns a shallow clone of the default transport used by InitHttp/InitHttpClient.
func CollectHostErrorStats ¶ added in v1.2.1
func CollectHostErrorStats(reset bool) map[string]HostErrorStat
func ConfigInit ¶ added in v1.1.19
func ConfigInit()
func DecodeData ¶ added in v1.1.19
func DecodePattern ¶ added in v1.1.19
func Deduplicate ¶ added in v1.2.4
func Deduplicate[T comparable](slice []T) []T
Deduplicate returns a new slice with duplicate elements removed, preserving the original order.
func DefaultLLMProfilePath ¶ added in v1.2.4
func DisplayHeader ¶
func ExportHTMLReport ¶ added in v1.2.3
func FilReadUrl ¶ added in v1.1.20
func FileReadLine ¶ added in v1.1.20
func FindFaviconURL ¶
func FindFaviconURLFromHTML ¶ added in v1.2.2
FindFaviconURLFromHTML tries to extract favicon from provided HTML; does not issue new GET.
func FirstCharToUpper ¶
func GenerateWeakPassword ¶
func GenerateWeakPassword() []string
func GetCurrentTime ¶ added in v1.1.26
func GetCurrentTime() string
func GetSpiderDB ¶ added in v1.2.2
func GetStructCodeMap ¶ added in v1.1.19
解析 nmap-service-probes 中匹配规则字符串,转换成 golang 中可以进行编译的字符串
e.g.
(1) pattern: \0\xffHi
decoded: []byte{0, 255, 72, 105} 4len
(2) pattern: \\0\\xffHI
decoded: []byte{92, 0, 92, 120, 102, 102, 72, 105} 8len
(3) pattern: \x2e\x2a\x3f\x2b\x7b\x7d\x28\x29\x5e\x24\x7c\x5c
decodedStr: \.\*\?\+\{\}\(\)\^\$\|\\
func HalfCharToUpper ¶
func HttpGetServerHeader ¶
func IconDetectAuto ¶ added in v1.2.2
IconDetectAuto accepts either a direct favicon URL or a page URL and extracts the rel=icon href.
func ImportantApiJudge ¶ added in v1.1.19
func InfoFile ¶ added in v1.2.1
func InfoFile(format string, args ...interface{})
InfoFile writes INFO lines to file only (no console), respecting loglevel.
func InitHttpClient ¶
func InitLog ¶ added in v1.2.4
InitLog opens the log file for writing. It should be called once at startup.
func IsJavaScriptPath ¶ added in v1.2.3
func LastCharToUpper ¶
func LogBeautify ¶ added in v1.1.8
func MightBeChineseName ¶
func MightBeIdentityCard ¶
func MightBePhone ¶
func Mmh3Hash32 ¶
func ParseJavaScriptUrl ¶ added in v1.2.3
func ParsePortsString ¶ added in v1.2.3
ParsePortsString exports port parser for reuse.
func PrintFinger ¶
func PrintTable ¶ added in v1.1.11
func PrintTable(Url string, key string, data []SensitiveData)
func QuickPortScan ¶ added in v1.2.3
QuickPortScan scans a single IP for the given TCP ports, returning open ports.
func RemoveDuplicateElement ¶
func RemoveDuplicateElement(originals interface{}) (interface{}, error)
func RemoveDuplicatesString ¶ added in v1.1.20
func ReplaceWithTable ¶
func SaveAPIPaths ¶ added in v1.2.1
func SaveCDNHosts ¶ added in v1.2.1
func SaveGraphJSON ¶ added in v1.2.3
func SaveLLMProfiles ¶ added in v1.2.4
func SaveLLMProfiles(path, secret string, profiles []LLMProfile) error
SaveLLMProfiles saves encrypted profiles; requires non-empty secret.
func SavePageSnapshot ¶ added in v1.2.2
func SavePageSnapshot(db *sql.DB, snap PageSnapshot) error
func SaveSensitiveHits ¶ added in v1.2.1
func SaveSensitiveHits(db *sql.DB, hits []SensitiveHit) error
func SaveService ¶ added in v1.2.1
SaveService stores scan result into unified services table.
func SaveSourceMaps ¶ added in v1.2.1
func SaveSourceMaps(db *sql.DB, hits []SourceMapHit) error
func SaveSpiderSummary ¶ added in v1.2.1
func SaveSpiderSummary(db *sql.DB, rec SpiderRecord) error
func ScanWithIpAndPort ¶ added in v1.1.19
func ScanWithIpAndPort(addr []ProtocolInfo)
func SelfUpdate ¶ added in v1.2.3
func SelfUpdate(ctx context.Context, opts SelfUpdateOptions) (string, error)
SelfUpdate downloads and atomically replaces the current executable. It returns the version that was checked/installed.
func SensitiveInfoCollect ¶
func SetHeaders ¶ added in v1.1.27
func SetSpiderDB ¶ added in v1.2.1
func StandBase64 ¶
func StatusColorTransformer ¶ added in v1.2.1
func StatusColorTransformer(val interface{}) string
func StringListToInterfaceList ¶
func StringListToInterfaceList(tmpList []string) []interface{}
func UrlFormated ¶ added in v1.1.19
func WriteSimpleXLSX ¶ added in v1.2.1
WriteSimpleXLSX writes a minimal XLSX with the provided worksheets.
func WriteToCsv ¶ added in v1.1.14
Types ¶
type APIPathRow ¶ added in v1.2.3
type APIPathRow struct {
RootURL string `json:"root_url"`
SourceURL string `json:"source_url"`
Path string `json:"path"`
SaveDir string `json:"save_dir"`
}
func LoadAPIPaths ¶ added in v1.2.3
func LoadAPIPaths(db *sql.DB) ([]APIPathRow, error)
type CDNHostRow ¶ added in v1.2.1
func LoadCDNHosts ¶ added in v1.2.1
func LoadCDNHosts(db *sql.DB) ([]CDNHostRow, error)
type Config ¶ added in v1.1.19
type Config struct {
Rarity int
Routines int
SendTimeout time.Duration
ReadTimeout time.Duration
NULLProbeOnly bool
UseAllProbes bool
SSLAlwaysTry bool
}
VScan 探测时的参数配置
type Details ¶ added in v1.1.19
type Details struct {
ProbeName string `json:"probe_name"`
ProbeData string `json:"probe_data"`
MatchMatched string `json:"match_matched"`
IsSoftMatched bool `json:"soft_matched"`
}
详细的结果数据(包含具体的 Probe 和匹配规则信息)
type EntropyHit ¶ added in v1.2.1
type EntropyHit struct {
SourceURL string `json:"source_url"`
Category string `json:"category"`
Content string `json:"content"`
Entropy float64 `json:"entropy"`
SaveDir string `json:"save_dir"`
}
func LoadEntropyHits ¶ added in v1.2.1
func LoadEntropyHits(db *sql.DB) ([]EntropyHit, error)
type ExistingLogger ¶ added in v1.2.4
type ExistingLogger struct {
// contains filtered or unexported fields
}
ExistingLogger implements Logger interface using existing logging functions
func (*ExistingLogger) Debug ¶ added in v1.2.4
func (l *ExistingLogger) Debug(msg string, args ...interface{})
Debug logs a debug message
func (*ExistingLogger) Error ¶ added in v1.2.4
func (l *ExistingLogger) Error(msg string, args ...interface{})
Error logs an error message
func (*ExistingLogger) Fatal ¶ added in v1.2.4
func (l *ExistingLogger) Fatal(msg string, args ...interface{})
Fatal logs a fatal message and exits
func (*ExistingLogger) Info ¶ added in v1.2.4
func (l *ExistingLogger) Info(msg string, args ...interface{})
Info logs an info message
func (*ExistingLogger) SetLevel ¶ added in v1.2.4
func (l *ExistingLogger) SetLevel(level LogLevel)
SetLevel sets the minimum log level (no-op for compatibility)
func (*ExistingLogger) SetOutput ¶ added in v1.2.4
func (l *ExistingLogger) SetOutput(w io.Writer)
SetOutput sets the output destination (no-op for compatibility)
func (*ExistingLogger) Warning ¶ added in v1.2.4
func (l *ExistingLogger) Warning(msg string, args ...interface{})
Warning logs a warning message
func (*ExistingLogger) WithField ¶ added in v1.2.4
func (l *ExistingLogger) WithField(key string, value interface{}) Logger
WithField adds a field to the logger context
func (*ExistingLogger) WithFields ¶ added in v1.2.4
func (l *ExistingLogger) WithFields(fields map[string]interface{}) Logger
WithFields adds multiple fields to the logger context
type Extras ¶ added in v1.1.19
type Extras struct {
VendorProduct string `json:"vendor_product,omitempty"`
Version string `json:"version,omitempty"`
Info string `json:"info,omitempty"`
Hostname string `json:"hostname,omitempty"`
OperatingSystem string `json:"operating_system,omitempty"`
DeviceType string `json:"device_type,omitempty"`
CPE string `json:"cpe,omitempty"`
}
对应 NMap versioninfo 信息
type FingerResult ¶ added in v1.2.2
type FingerResult struct {
Finger string
Server string
Title string
ContentType string
Location string
HeadersJSON string
Body []byte
Status int
Err error
}
func FingerScan ¶ added in v1.1.8
func FingerScan(url string, method string, followRedirect bool) FingerResult
type Fingerprint ¶
type GraphCollector ¶ added in v1.2.3
type GraphCollector struct {
// contains filtered or unexported fields
}
func GetGraphCollector ¶ added in v1.2.3
func GetGraphCollector() *GraphCollector
func (*GraphCollector) AddEdge ¶ added in v1.2.3
func (g *GraphCollector) AddEdge(root, from, to string, depth int)
func (*GraphCollector) Reset ¶ added in v1.2.3
func (g *GraphCollector) Reset()
func (*GraphCollector) SetLimit ¶ added in v1.2.3
func (g *GraphCollector) SetLimit(n int)
func (*GraphCollector) Snapshot ¶ added in v1.2.3
func (g *GraphCollector) Snapshot() []GraphEdge
type GraphEdge ¶ added in v1.2.3
type GraphEdge struct {
Root string `json:"root"`
From string `json:"from"`
To string `json:"to"`
Depth int `json:"depth"`
}
func LoadGraphJSON ¶ added in v1.2.3
type HTMLReportData ¶ added in v1.2.3
type HTMLReportData struct {
GeneratedAt string
Summary []SpiderRecord
APIs []APIPathRow
Sensitive []SensitiveHit
SourceMaps []SourceMapHit
Pages []PageSnapshotMeta
PageBodies []PageSnapshotLite
Scores []ScoredRow
CDNHosts []CDNHostRow
Graph []GraphEdge
ImportantAPIs []string
LLMSummary *LLMSummary
}
type HostErrorStat ¶ added in v1.2.1
type LLMProfile ¶ added in v1.2.4
type LLMProfile struct {
Name string `json:"name"`
Provider string `json:"provider"`
Model string `json:"model"`
APIKey string `json:"api_key"`
BaseURL string `json:"base_url,omitempty"`
}
LLMProfile stores reusable provider/model/key.
func DeleteProfile ¶ added in v1.2.4
func DeleteProfile(list []LLMProfile, name string) []LLMProfile
func LoadLLMProfiles ¶ added in v1.2.4
func LoadLLMProfiles(path, secret string) ([]LLMProfile, error)
LoadLLMProfiles decrypts and loads profiles; requires non-empty secret.
func UpsertProfile ¶ added in v1.2.4
func UpsertProfile(list []LLMProfile, p LLMProfile) []LLMProfile
type LLMSummary ¶ added in v1.2.4
type LLMSummary struct {
Enabled bool `json:"enabled"`
Provider string `json:"provider"`
Model string `json:"model"`
Prompt string `json:"prompt"`
Output string `json:"output"`
Error string `json:"error,omitempty"`
InputPreview string `json:"input_preview,omitempty"`
InputTotal int `json:"input_total"`
InputLimit int `json:"input_limit,omitempty"`
OutputLimit int `json:"output_limit,omitempty"`
GeneratedAt string `json:"generated_at,omitempty"`
DryRun bool `json:"dry_run,omitempty"`
}
func SummarizeReport ¶ added in v1.2.4
func SummarizeReport(ctx context.Context, data HTMLReportData, cfg *LLMConfig) *LLMSummary
SummarizeReport builds a compact crawler context and sends it to the configured LLM. Failures are captured in the returned summary; they do not block report generation.
type LogLevel ¶ added in v1.2.4
type LogLevel int
LogLevel represents different log levels (for compatibility with Logger interface)
type Logger ¶ added in v1.2.4
type Logger interface {
Debug(msg string, args ...interface{})
Info(msg string, args ...interface{})
Warning(msg string, args ...interface{})
Error(msg string, args ...interface{})
Fatal(msg string, args ...interface{})
SetLevel(level LogLevel)
SetOutput(w io.Writer)
WithField(key string, value interface{}) Logger
WithFields(fields map[string]interface{}) Logger
}
Logger interface defines logging operations
func NewExistingLogger ¶ added in v1.2.4
func NewExistingLogger() Logger
NewExistingLogger creates a new logger that uses existing logging functions
type Match ¶ added in v1.1.19
type Match struct {
IsSoft bool
Service string
Pattern string
VersionInfo string
PatternCompiled *regexp2.Regexp
}
nmap-service-probes 中每一条规则
func (*Match) MatchPattern ¶ added in v1.1.19
对获取到的 Banner 进行匹配
func (*Match) ParseVersionInfo ¶ added in v1.1.19
type Packjson ¶
type Packjson struct {
Fingerprint []Fingerprint
}
type PageSnapshot ¶ added in v1.2.2
type PageSnapshotLite ¶ added in v1.2.3
type PageSnapshotLite struct {
RootURL string `json:"root_url"`
URL string `json:"url"`
Status int `json:"status"`
ContentType string `json:"content_type"`
Length int `json:"length"`
Headers string `json:"headers"`
Snippet string `json:"snippet"`
}
PageSnapshotLite includes a short body snippet and headers for drill-downs.
func LoadPageSnapshotLite ¶ added in v1.2.3
func LoadPageSnapshotLite(db *sql.DB) ([]PageSnapshotLite, error)
type PageSnapshotMeta ¶ added in v1.2.3
type PageSnapshotMeta struct {
RootURL string `json:"root_url"`
URL string `json:"url"`
Status int `json:"status"`
ContentType string `json:"content_type"`
Length int `json:"length"`
}
func LoadPageSnapshotMeta ¶ added in v1.2.3
func LoadPageSnapshotMeta(db *sql.DB) ([]PageSnapshotMeta, error)
type Probe ¶ added in v1.1.19
type Probe struct {
Name string
Data string
DecodedData []byte
Protocol string
Ports string
SSLPorts string
TotalWaitMS int
TCPWrappedMS int
Rarity int
Fallback string
Matchs *[]Match
}
探针规则,包含该探针规则下的服务匹配条目和其他探测信息
func (*Probe) ContainsPort ¶ added in v1.1.19
func (*Probe) ContainsSSLPort ¶ added in v1.1.19
type ProbesRarity ¶ added in v1.1.19
type ProbesRarity []Probe
ProbesRarity 用于使用 sort 对 Probe 对象按 Rarity 属性值进行排序
func (ProbesRarity) Len ¶ added in v1.1.19
func (ps ProbesRarity) Len() int
func (ProbesRarity) Less ¶ added in v1.1.19
func (ps ProbesRarity) Less(i, j int) bool
func (ProbesRarity) Swap ¶ added in v1.1.19
func (ps ProbesRarity) Swap(i, j int)
type ProtocolInfo ¶ added in v1.1.19
type Result ¶ added in v1.1.19
type Result struct {
Target
Service `json:"service"`
Timestamp int32 `json:"timestamp"`
Error string `json:"error"`
}
输出的结果数据
type ScoredRow ¶ added in v1.2.3
type ScoredRow struct {
RootURL string `json:"root_url"`
Score int `json:"score"`
Status int `json:"status"`
ApiCount int `json:"api_count"`
Important int `json:"important_api"`
UrlCount int `json:"url_count"`
CDNCount int `json:"cdn_count"`
SaveDir string `json:"save_dir"`
Reasons []string `json:"reasons"`
RiskFlags []string `json:"risk_flags"`
DebugMeta map[string]any `json:"debug_meta"`
}
type SelfUpdateOptions ¶ added in v1.2.3
type SensitiveCount ¶ added in v1.2.1
func LoadSensitiveCounts ¶ added in v1.2.1
func LoadSensitiveCounts(db *sql.DB) ([]SensitiveCount, error)
type SensitiveData ¶ added in v1.1.11
func DeduplicateByContent ¶ added in v1.1.11
func DeduplicateByContent(data []SensitiveData) []SensitiveData
type SensitiveHit ¶ added in v1.2.1
type SensitiveHit struct {
SourceURL string `json:"source_url"`
Category string `json:"category"`
Content string `json:"content"`
Entropy float64 `json:"entropy"`
SaveDir string `json:"save_dir"`
}
func LoadSensitiveHits ¶ added in v1.2.1
func LoadSensitiveHits(db *sql.DB) ([]SensitiveHit, error)
type Service ¶ added in v1.1.19
type Service struct {
Target
Name string `json:"name"`
Protocol string `json:"protocol"`
Banner string `json:"banner"`
BannerBytes []byte `json:"banner_bytes"`
Extras `json:"extras"`
Details `json:"details"`
}
获取的端口服务信息
type SourceMapHit ¶ added in v1.2.1
type SourceMapHit struct {
RootURL string `json:"root_url"`
JSURL string `json:"js_url"`
MapURL string `json:"map_url"`
Status int `json:"status"`
Length int `json:"length"`
}
func LoadSourceMaps ¶ added in v1.2.3
func LoadSourceMaps(db *sql.DB) ([]SourceMapHit, error)
type SpiderRecord ¶ added in v1.2.1
type SpiderRecord struct {
Url string `json:"Url"`
IconHash string `json:"IconHash"`
IconBase64 string `json:"IconBase64"`
ApiCount int `json:"ApiCount"`
UrlCount int `json:"UrlCount"`
CDNCount int `json:"CDNCount"`
CDNHosts string `json:"CDNHosts"`
SaveDir string `json:"SaveDir"`
Status int `json:"Status"`
}
func LoadSpiderSummaries ¶ added in v1.2.1
func LoadSpiderSummaries(db *sql.DB) ([]SpiderRecord, error)
type SpiderSummary ¶ added in v1.2.1
type SpiderSummary struct {
URL string
Title string
Finger string
ContentType string
Status int
Length int
Keyword string
SimHash string
IconHash string
IconBase64 string
ApiCount int
UrlCount int
CDNCount int
CDNHosts string
SaveDir string
Err error
}
func FingerSummary ¶ added in v1.2.1
func FingerSummary(Url string, Depth int, db *sql.DB) SpiderSummary
FingerSummary scans a target and returns a compact per-host summary while still writing detailed CSV files.
type Target ¶ added in v1.1.19
type Target struct {
IP string `json:"ip"`
Port int `json:"port"`
Protocol string `json:"protocol"`
}
待探测的目标端口