Structures¶
This module defines the structures used by the package.
-
class
wap.structs.Category(id_: str, name: str, priority: int)¶ A category to classify technologies in groups. Examples or categories are “CMS”, “Javascript frameworks”, “Web servers”, etc.
The exhaustive list of categories is defined in the technologies.json file in the wappalyzer repository.
-
id_¶ The identifier of category in technologies.json.
Type: str
-
name¶ The name of the category (e.g CMS).
Type: str
-
priority¶ Type: int
-
-
class
wap.structs.Exclude(name: str)¶ Structure to define a technology that is incompatible with another one.
-
name¶ Name of the excluded technology.
Type: str
-
-
class
wap.structs.Imply(name: str, confidence: int)¶ Structure to define a technology that is implied by the use of another one.
-
name¶ Name of the implied technology.
Type: str
-
confidence¶ Confidence of the implied technology.
Type: int
-
-
class
wap.structs.Pattern(value: str, regex: re.Pattern, confidence: int, version: str, key: str)¶ Holds the pattern definition that allows to identify a technology.
-
value¶ The pattern string.
Type: str
-
regex¶ The regex used to identify the pattern.
Type: re.Pattern
-
confidence¶ The confidence given by the value matched by this pattern.
Type: int
-
version¶ String that indicates how to identify the version in the matched value.
Type: str
-
key¶ Key to identified the element to apply the pattern (e.g a cookie or header name).
Type: str
-
-
class
wap.structs.PatternMatch(technology: wap.structs.Technology, pattern: wap.structs.Pattern, version: str)¶ Identifies a match in a technology pattern.
-
technology¶ Technology identified by the pattern.
Type: Technology
-
version¶ Version identified by the pattern in the match.
Type: str
-
-
class
wap.structs.TechMatch(technology: wap.structs.Technology, confidence: int, version: str)¶ Identifies a match in a technology.
-
technology¶ Technology identified.
Type: Technology
-
confidence¶ Confidence in the match, is derivated from all the patterns of this technology that matched.
Type: int
-
version¶ Version identified by the patterns.
Type: str
-
-
class
wap.structs.Technology(name: str, categories: List[wap.structs.Category], url: List[wap.structs.Pattern], headers: Dict[str, List[wap.structs.Pattern]], cookies: Dict[str, List[wap.structs.Pattern]], html: List[wap.structs.Pattern], meta: Dict[str, List[wap.structs.Pattern]], scripts: List[wap.structs.Pattern], js: Dict[str, List[wap.structs.Pattern]], implies: List[wap.structs.Imply], excludes: List[wap.structs.Exclude], icon: str, website: str, cpe: str)¶ Definition of a technology and all of its rules that is extracted from technologies.json file.
-
name¶ Type: str
-
headers¶ List of headers patterns identified by the name of the header.
Type: Dict[str, List[Pattern]]
List of cookies patterns identified by the name of the cookie.
Type: Dict[str, List[Pattern]]
-
meta¶ List of patterns to match meta tags in HTML content, identified by the name of the each tag.
Type: Dict[str, List[Pattern]]
-
js¶ Dictionary that identifies javascript variables and regex for the values.
Type: Dict[str, List[Pattern]]
-
implies¶ List of technology names that are used in conjuction with the current technology.
Type: List[Imply]
-
excludes¶ List of technologies that are incompatible with the current technology.
Type: List[Exclude]
-
website¶ Indicates the url of the technology website.
Type: str
-
cpe¶ Type: str
-