Hostname
upcv.tech
Last fetched
upcv.tech resolves to 175.12.98.197, announced in 175.12.96.0/22 by CT-Centralsouth-China-IIP - China Telecom in CN. upcv.tech 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
- 175.12.98.197
175.12.96.0/22 · CT-Centralsouth-China-IIP - China Telecom · Qingyuan, CN
- 220.181.141.153
220.181.128.0/20 · CHINANET-IDC-BJ-AP - IDC, China Telecommunications Corporation · Beijing, CN
- 220.181.141.172
220.181.128.0/20 · CHINANET-IDC-BJ-AP - IDC, China Telecommunications Corporation · Beijing, CN
- 220.181.141.182
220.181.128.0/20 · CHINANET-IDC-BJ-AP - IDC, China Telecommunications Corporation · Beijing, CN
- 219.153.159.160
219.153.152.0/21 · CHINATELECOM-Chongqing-IDC - Chongqing Telecom · Chongqing, CN
- 118.253.185.211
118.253.185.0/24 · CT-HuNan-Changsha-IDC - No.293,Wanbao Avenue · Qingyuan, CN
- 175.12.98.108
175.12.96.0/22 · CT-Centralsouth-China-IIP - China Telecom · Qingyuan, CN
- 175.12.98.118
175.12.96.0/22 · CT-Centralsouth-China-IIP - China Telecom · Qingyuan, CN
IPv6 resolution
No AAAA record for upcv.tech is recorded in WhisperGraph.
Attribution
idc china
ORIGIN_AS
WHOIS identity
- Registrar
- iana:1599
- Registrant organisation
- shan dong xiang shang xin xi ke ji you xian gong si
Company
Technology
upcv.tech has been observed using 25 technologies somewhere in its estate. This is observed use, not an exposure finding. The 20 most widely adopted:
- Google Analytics · intelligence and analytics
- Priority Hints · performance
- HSTS · security
- X-Content-Type-Options · web & portal technology
- Google Tag Manager · tag management
- Google Search Console · performance
- X-XSS-Protection · security
- React · javascript frameworks
- Tailwind CSS · ui frameworks
- html5media · audio, video, graphics
- jsDelivr · content delivery network
- Vue.js · javascript frameworks
- Node.js · programming languages
- HTML5 Mobile Boilerplate · mobile application development platforms
- Unpkg · content delivery network
- Baidu Analytics · analytics
- React Router · javascript frameworks
- Radix UI · ui frameworks
- Framer Motion · javascript libraries
- Alibaba Cloud DNS · domain name services
Subdomains
Web-graph footprint
Sampled `LINKS_TO` edges. The hyperlink layer is a pilot sample, not a web-scale crawl, so these are illustrative.
Sample inbound links
Sample outbound links
Mail and authentication
DNSSEC
WhisperGraph records no DNSSEC signature for upcv.tech.
DKIM signing
No DKIM signing vendor is attributed to upcv.tech in WhisperGraph.
Nameservers
- ural.ns.edgegslb.com
- volga.ns.edgegslb.com
- dns23.hichina.com
- dns24.hichina.com
MX records
- mx1.feishu.cn
- mx2.feishu.cn
- mx3.feishu.cn
SPF policy
- include: _netblocks.m.feishu.cn
Threat-feed evidence
History
Related pages
Pivot from upcv.tech into the addresses, networks and registries it depends on.
Queries
This hostname's full card — resolution chain, registration, mail policy, DNSSEC and mail authentication.
MATCH (h:HOSTNAME {name: $host})
OPTIONAL MATCH (h)-[:RESOLVES_TO]->(ip:IPV4)-[:ANNOUNCED_BY]->(ap:ANNOUNCED_PREFIX)
OPTIONAL MATCH (a:ASN)-[:ROUTES]->(ap) WHERE a.name IS NOT NULL
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) WHERE conflict.name IS NOT NULL
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
OPTIONAL MATCH (h)-[:SIGNED_WITH]->(alg:DNSSEC_ALGORITHM)
WITH h, resolutions, asnNames, prefixNames, moasFlags, rpkiStatuses, primaryAsn, conflictAsns,
registrars, organizations, tlds, emails, phoneCount, mxHosts, nameservers, spf,
collect(alg.name) AS dnssecAlgorithms
OPTIONAL MATCH (h)-[:DMARC_REPORTS_TO]->(dm:DMARC_RECIPIENT)
WITH h, resolutions, asnNames, prefixNames, moasFlags, rpkiStatuses, primaryAsn, conflictAsns,
registrars, organizations, tlds, emails, phoneCount, mxHosts, nameservers, spf, dnssecAlgorithms,
collect(dm.name)[0..5] AS dmarcRecipients
OPTIONAL MATCH (h)-[:DKIM_SIGNED_BY]->(dk:VENDOR)
WITH h, resolutions, asnNames, prefixNames, moasFlags, rpkiStatuses, primaryAsn, conflictAsns,
registrars, organizations, tlds, emails, phoneCount, mxHosts, nameservers, spf, dnssecAlgorithms,
dmarcRecipients,
collect(coalesce(dk.displayName, dk.name))[0..5] AS dkimVendors
OPTIONAL MATCH (h)-[:HAS_SIGNAL]->(hs:THREAT_SIGNAL_TYPE)
WITH h, resolutions, asnNames, prefixNames, moasFlags, rpkiStatuses, primaryAsn, conflictAsns,
registrars, organizations, tlds, emails, phoneCount, mxHosts, nameservers, spf, dnssecAlgorithms,
dmarcRecipients, dkimVendors,
collect(hs.name) AS dnsSignals
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,
dnssecAlgorithms, dmarcRecipients, dkimVendors, dnsSignals,
h.companyName AS companyName,
h.companyIndustry AS companyIndustry,
h.companyHqCountry AS companyHqCountry,
h.companyHqCity AS companyHqCity,
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 →Technologies the company behind this domain has been observed running, most widely adopted first.
MATCH (:HOSTNAME {name: $host})-[:RUNS_TECHNOLOGY]->(t:TECHNOLOGY)
WITH t.name AS name, t.category AS category, t.adopterCount AS adopters
ORDER BY adopters DESC, name
WITH collect({name: name, category: category}) AS technologies, count(*) AS total
RETURN total, technologies[0..20] AS technologiesRun yourself →Peer companies (outbound SIMILAR_TO).
MATCH (:HOSTNAME {name: $host})-[:SIMILAR_TO]->(peer:HOSTNAME) RETURN peer.name AS host ORDER BY host LIMIT 8Run yourself →The parent company's domain and this company's domain portfolio (PARENT_OF).
MATCH (h:HOSTNAME {name: $host})
OPTIONAL MATCH (h)<-[:PARENT_OF]-(parent:HOSTNAME)
WITH h, collect({host: parent.name, company: parent.companyName})[0..3] AS parents
OPTIONAL MATCH (h)-[:PARENT_OF]->(child:HOSTNAME)
RETURN parents, collect({host: child.name, company: child.companyName})[0..10] AS portfolioRun yourself →Or query Whisper from your own LLM workflow via the Whisper MCP server.