web2vec.extractors.dns_features module

class web2vec.extractors.dns_features.DNSFeatures(domain: str, records: List[web2vec.extractors.dns_features.DNSRecordFeatures] = <factory>)[source]

Bases: object

compute_derived_features() None[source]

Populate TTL-based indicators for downstream ML usage.

property count_ips: int

Return the number of resolved IPs (IPv4).

property count_mx_servers: int

Return number of resolved MX Servers.

property count_name_servers: int

Return number of NameServers (NS) resolved.

domain: str
domain_spf: bool | None = None
property extract_ttl: int | None

Return Time-to-live (TTL) value associated with hostname.

min_ttl: int | None = None
qty_ip_resolved: int = 0
qty_mx_servers: int = 0
qty_nameservers: int = 0
records: List[DNSRecordFeatures]
ttl_expires_within_day: bool | None = None
ttl_expires_within_hour: bool | None = None
ttl_expires_within_week: bool | None = None
ttl_hostname: int | None = None
class web2vec.extractors.dns_features.DNSRecordFeatures(record_type: str, ttl: int, values: List[str])[source]

Bases: object

record_type: str
ttl: int
values: List[str]
web2vec.extractors.dns_features.get_dns_features(domain: str) DNSFeatures[source]

Get DNS features for the given domain.

web2vec.extractors.dns_features.get_dns_features_cached(domain: str) DNSFeatures[source]

Get DNS features for the given domain.