Hostname
virtualtownhall.net
Last fetched
virtualtownhall.net resolves to 192.208.114.161, announced in 192.208.114.0/24 by BOOTBARN - Boot Barn Inc. in US. virtualtownhall.net is not listed on any threat feed indexed by WhisperGraph; reconciled level NONE.
Threat posture
0threat score (procedure-native scale)
NONENo threats observed.
- Threat feeds listing this
- 0
- Verdict coverage
- known-clean
Nutrition Label
Resolution chain
IPv6 resolution
No AAAA record for virtualtownhall.net is recorded in WhisperGraph.
Attribution
boot barn
ORIGIN_AS
WHOIS identity
- Registrar
- iana:468
- Registrant organisation
- identity protection service
- Contact emails
- no.valid.email@worldnic.com, mrose@civicplus.com, mrose@virtualtownhall.net, 616aaf67-3d33-48a8-a3a8-2a80bf49ff05@identity-protect.org, 729d6d07-2ffc-4575-9de4-a90b468967b9@identity-protect.org, 812a31d1-861f-473c-95ad-7836a346aba4@identity-protect.org, c3756c9e-9438-4484-9a86-c3d23b7c99ac@identity-protect.org, c7b2c9a1-3c6a-4e45-babe-83cd083b55f3@identity-protect.org, d22a7897-d079-4b9e-b662-d8ff169b3679@identity-protect.org
Subdomains
Showing 12 of 114. View all subdomains →
Web-graph footprint
Sampled `LINKS_TO` edges. The hyperlink layer is a pilot sample, not a web-scale crawl, so these are illustrative.
Mail and authentication
Nameservers
- dns3.civicplus.com
- dns4.civicplus.com
- a.root-servers.net
- b.root-servers.net
- c.root-servers.net
- d.root-servers.net
- e.root-servers.net
- f.root-servers.net
- g.root-servers.net
- h.root-servers.net
- i.root-servers.net
- j.root-servers.net
- k.root-servers.net
- l.root-servers.net
- m.root-servers.net
MX records
- virtualtownhall-net.mail.protection.outlook.com
SPF policy
- include: spf.protection.outlook.com
- include: _spf.salesforce.com
- ip: 162.220.6.243
- ip: 162.220.6.245
- ip: 164.52.156.226
- ip: 18.220.120.172
- ip: 18.224.149.207
- ip: 205.214.77.125
- ip: 45.79.161.205
Threat-feed evidence
History
Related pages
Pivot from virtualtownhall.net into the addresses, networks and registries it depends on.
Queries
This hostname's full card — resolution chain, registration and inbound/outbound links.
MATCH (h:HOSTNAME {name: $host})
OPTIONAL MATCH (h)-[:RESOLVES_TO]->(ip:IPV4)-[:ANNOUNCED_BY]->(ap:ANNOUNCED_PREFIX)
OPTIONAL MATCH (a:ASN)-[:ROUTES]->(ap)
OPTIONAL MATCH (a)-[:HAS_NAME]->(an:ASN_NAME)
OPTIONAL MATCH (ip)-[:LOCATED_IN]->(city:CITY)
OPTIONAL MATCH (ip)-[:HAS_COUNTRY]->(ipc:COUNTRY)
WITH h, ip, ap, a, an, city, ipc
LIMIT 20
WITH h,
collect({ip: ip.name, prefix: ap.name, asn: a.name, network: an.name, city: city.name, country: ipc.name}) AS resolutions,
collect(a.name) AS asnNames,
collect(ap.name) AS prefixNames,
collect(ap.isMoas) AS moasFlags,
collect(ap.rpkiStatus) AS rpkiStatuses,
head(collect(a)) AS primaryAsn,
head(collect(ap)) AS primaryPrefix
OPTIONAL MATCH (primaryPrefix)-[:CONFLICTS_WITH]->(conflict:ASN)
WITH h, resolutions, asnNames, prefixNames, moasFlags, rpkiStatuses, primaryAsn,
collect(conflict.name) AS conflictAsns
OPTIONAL MATCH (h)-[:HAS_REGISTRAR]->(reg:REGISTRAR)
OPTIONAL MATCH (h)-[:REGISTERED_BY]->(org:ORGANIZATION)
OPTIONAL MATCH (h)-[:CHILD_OF]->(tld:TLD)
WITH h, resolutions, asnNames, prefixNames, moasFlags, rpkiStatuses, primaryAsn, conflictAsns,
collect(reg.name) AS registrars,
collect(org.name) AS organizations,
collect(tld.name) AS tlds
OPTIONAL MATCH (h)-[:HAS_EMAIL]->(em:EMAIL)
WITH h, resolutions, asnNames, prefixNames, moasFlags, rpkiStatuses, primaryAsn, conflictAsns,
registrars, organizations, tlds,
collect(em.name) AS emails
OPTIONAL MATCH (h)-[:HAS_PHONE]->(ph:PHONE)
WITH h, resolutions, asnNames, prefixNames, moasFlags, rpkiStatuses, primaryAsn, conflictAsns,
registrars, organizations, tlds, emails,
count(ph) AS phoneCount
OPTIONAL MATCH (h)<-[:MAIL_FOR]-(mx:HOSTNAME)
WITH h, resolutions, asnNames, prefixNames, moasFlags, rpkiStatuses, primaryAsn, conflictAsns,
registrars, organizations, tlds, emails, phoneCount,
collect(mx.name)[0..20] AS mxHosts
OPTIONAL MATCH (h)<-[:NAMESERVER_FOR]-(ns:HOSTNAME)
WITH h, resolutions, asnNames, prefixNames, moasFlags, rpkiStatuses, primaryAsn, conflictAsns,
registrars, organizations, tlds, emails, phoneCount, mxHosts,
collect(ns.name) AS nameservers
OPTIONAL MATCH (h)-[spf:SPF_A|SPF_EXISTS|SPF_INCLUDE|SPF_IP|SPF_MX|SPF_REDIRECT]->(spfTarget)
WITH h, resolutions, asnNames, prefixNames, moasFlags, rpkiStatuses, primaryAsn, conflictAsns,
registrars, organizations, tlds, emails, phoneCount, mxHosts, nameservers,
collect({mechanism: type(spf), target: spfTarget.name})[0..50] AS spf
CALL { WITH primaryAsn MATCH (primaryAsn)-[:BGP_NEIGHBOR]-(peer:ASN) RETURN count(peer) AS asnPeerCount }
RETURN h.name AS name,
h.rank AS rank,
h.verdictLevel AS verdictLevel,
h.verdictScore AS verdictScore,
h.verdictBlocking AS verdictBlocking,
h.verdictCoverage AS verdictCoverage,
h.verdictAdvisory AS verdictAdvisory,
h.threatSources AS threatSources,
h.threatFirstSeen AS threatFirstSeen,
h.threatLastSeen AS threatLastSeen,
h.isTor AS isTor,
h.isVpn AS isVpn,
h.isProxy AS isProxy,
h.isC2 AS isC2,
h.isPhishing AS isPhishing,
resolutions, asnNames, prefixNames, moasFlags, rpkiStatuses, conflictAsns,
registrars, organizations, tlds, emails, phoneCount, mxHosts, nameservers, spf,
asnPeerCountRun yourself →The observed subdomain count, to depth 3.
MATCH (h:HOSTNAME {name: $host})
CALL { WITH h MATCH (h)<-[:CHILD_OF*1..3]-(sub:HOSTNAME) RETURN count(sub) AS subdomainCount }
RETURN subdomainCountRun yourself →Or query Whisper from your own LLM workflow via the Whisper MCP server.