google-like-a-spy
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseSearch operators
搜索操作符
Operators turn a search box into a filter over a crawled index. The cost is that
you are querying somebody's index, not the web — coverage, freshness and
operator fidelity vary enormously between engines. The mistake beginners make is
assuming their query ran as typed. Google routinely drops, stems, and
synonym-expands your terms, so a zero-result dork and a silently-rewritten dork
look nothing alike but are equally useless.
搜索操作符可将搜索框转变为针对已抓取索引的筛选工具。但代价是你查询的是某平台的索引,而非整个网络——不同搜索引擎的覆盖范围、内容新鲜度以及操作符的准确性差异极大。初学者常犯的错误是认为查询会完全按照输入的内容执行。Google通常会丢弃、词干提取或同义词扩展你的搜索词,因此无结果的dork和被悄悄改写的dork看起来完全不同,但同样毫无用处。
Which engine for which job
不同引擎的适用场景
| You want | Go to | Why |
|---|---|---|
| Broad coverage of mainstream web | Largest index, worst operator fidelity | |
Reliable | Bing | Honours operators more literally; has |
| Non-Latin script, Russian/CIS/Turkish content, image-adjacent work | Yandex | Different crawl priorities; strongest image matching |
| Anonymous querying, quick engine-hopping | DuckDuckGo, Startpage | Proxies other indexes; bangs jump between engines |
| Independent crawl (things the big three never indexed) | Mojeek, Marginalia, Brave | Own crawlers, small but genuinely different |
| Code, buckets, hosts, archives | Specialised indexes | The general web index never crawled most of it |
Never run a dork on one engine only. Different crawlers found different pages,
and an engine that never crawled a URL cannot be operator-coaxed into it. Which
operator survives where, and where the same operator means something different,
is in reference/engine-operators.md.
| 需求 | 选择引擎 | 原因 |
|---|---|---|
| 主流网络的广泛覆盖 | 索引规模最大,但操作符准确性最差 | |
可靠的 | Bing | 更严格地遵循操作符规则;支持 |
| 非拉丁脚本、俄罗斯/独联体/土耳其内容、图像相关工作 | Yandex | 抓取优先级不同;图像匹配能力最强 |
| 匿名查询、快速切换引擎 | DuckDuckGo、Startpage | 代理其他索引;通过bang语法可在引擎间跳转 |
| 独立抓取(三大引擎未索引的内容) | Mojeek、Marginalia、Brave | 拥有自有爬虫,规模小但内容独特 |
| 代码、存储桶、主机、归档内容 | 专业索引 | 通用网络索引几乎未抓取这类内容的大部分 |
切勿仅在一个引擎上运行dork查询。不同爬虫抓取的页面不同,引擎未抓取的URL无法通过操作符诱导出来。各引擎支持的操作符以及同一操作符的差异说明,请查看reference/engine-operators.md。
Operators that still behave
仍有效可用的操作符
- — the single most useful operator. Still subject to rewriting (see below), but the strongest signal you can give.
"exact phrase" - — accepts a full host, a registrable domain (matches subdomains), or a TLD (
site:). Also usable assite:gov.ukto exclude.-site: - — Google's documented form. Bing accepts both
filetype:andfiletype:;ext:matches the URL extension rather than the sniffed content type, which is what you usually want forext:,.env,.bak..sql - /
intitle:,allintitle:/inurl:,allinurl:/intext:. Theallintext:forms apply to every following term but do not mix well with other operators — use them alone.all* - /
before:withafter:— filters on Google's estimated document date, which is inferred and often wrong. A coarse sieve, not evidence.YYYY-MM-DD - to exclude,
-term(capitalised) orORfor alternation, parentheses to group,|as a single-token wildcard inside a phrase.*
- — 最实用的操作符。仍可能被改写(见下文),但能提供最强的匹配信号。
"exact phrase" - — 支持完整主机名、可注册域名(匹配子域名)或顶级域名(如
site:)。也可使用site:gov.uk来排除指定站点。-site: - — Google官方文档中记录的形式。Bing同时支持
filetype:和filetype:;ext:匹配URL扩展名而非检测到的内容类型,这通常是查找ext:、.env、.bak等文件时的首选。.sql - /
intitle:、allintitle:/inurl:、allinurl:/intext:。allintext:形式会应用于后续所有术语,但与其他操作符混合使用效果不佳——建议单独使用。all* - /
before:搭配after:格式日期——基于Google估算的文档日期进行筛选,该日期为推断得出,通常不准确。仅作为粗略筛选工具,不能作为证据。YYYY-MM-DD - 用于排除术语,大写的
-term或OR用于表示或关系,括号用于分组,|作为短语内的单令牌通配符。*
Operators people still cite that no longer earn their place
仍被提及但已失效的操作符
cache:info:link:related:inanchor:AROUND(n)+~daterange:before:after:cache:info:link:related:inanchor:AROUND(n)+~daterange:before:after:Forcing literal matching
强制精确匹配
Google's retrieval layer is a semantic matcher with a keyword filter bolted on.
It will drop a term it judges unproductive, substitute a synonym, or correct
what it thinks is a typo — which is exactly what you do not want when hunting a
username or an error string.
- Read the result header. Google prints "Missing: " with a "Must include:" link when it dropped something. That link re-runs with the term forced. If you see this, your dork did not run.
<term> - Quote every non-obvious token individually, not just the phrase.
- Switch to Verbatim mode (Tools, then the "All results" dropdown), which disables stemming, synonyms, spell correction and personalisation. Dorking without it is guesswork.
- Expand the duplicate filter. Google collapses "very similar" results and
offers a link at the end of the last page to repeat the search including
them. On a enumeration this commonly doubles the visible set.
site: - If the corrected spelling still wins, the query was read as navigational intent. Add a second rare token to break that.
Google的检索层是一个带有关键词过滤器的语义匹配器。它会丢弃被判定为无效的术语、替换同义词或纠正它认为的拼写错误——而这正是你在查找用户名或错误字符串时最不希望发生的情况。
- 查看结果标题。当Google丢弃某个术语时,会显示“Missing: ”并附带“必须包含:”链接,点击该链接会重新运行强制包含该术语的查询。如果看到此提示,说明你的dork并未按预期执行。
<term> - 为每个非通用令牌单独添加引号,而不仅仅是对整个短语加引号。
- 切换到Verbatim模式(工具菜单,然后选择“所有结果”下拉菜单),该模式会禁用词干提取、同义词替换、拼写纠正和个性化推荐。不使用此模式进行dork查询纯属猜测。
- 展开重复结果过滤器。Google会折叠“非常相似”的结果,并在最后一页末尾提供链接,点击可重新运行搜索并包含这些结果。在枚举中,这通常会使可见结果数量翻倍。
site: - 如果修正后的拼写仍被优先采用,说明查询被识别为导航意图。添加第二个罕见令牌来打破这种识别。
Finding a target's material outside its own site
查找目标站点外的相关内容
Most of what an organisation leaks is hosted by someone else, so sweep the
hosts rather than hoping a dork on the target domain catches it: paste and
dead-drop hosts, code sandboxes, published-to-web office documents, full-text
document repositories, cloud object storage on provider-owned hostnames such as
or , and third-party SaaS with public
sharing defaults — kanban boards, wikis, form backends, status pages.
the provider, not the customer.
s3.amazonaws.comblob.core.windows.netsite:组织泄露的大部分内容都托管在第三方平台,因此应针对这些托管平台进行排查,而非仅依赖目标域名的dork查询:粘贴站点和临时存储主机、代码沙箱、发布到网络的办公文档、全文文档库、位于服务商自有主机名(如或)的云对象存储,以及默认开启公开分享的第三方SaaS服务——看板、维基、表单后端、状态页面。使用指定服务商,而非客户域名。
s3.amazonaws.comblob.core.windows.netsite:Discovery dorking, defensively framed
防御视角的发现型Dork查询
Run these against domains you are authorised to assess, or your own estate.
Reading a search result is passive — the engine already crawled the page.
Fetching the file, downloading the backup, or logging into the panel you found
is not, and that is where the legal line sits.
The high-yield shapes, in rough order of hit rate: directory listings left on
after a migration (), config and environment files by
extension, database dumps and backup artefacts, credential-shaped strings in
indexed text, object storage on provider hostnames, and admin or monitoring
interfaces exposed by hostname. The full set, with the person- and
document-hunting queries, is in
reference/dork-cookbook.md.
intitle:"index of"Engines only index what something linked to, so unlinked panels and bucket
listings are badly under-represented — for live services scan with
. A hit that now 404s is still evidence: take the URL to
.
find-exposed-serversread-deleted-pages仅针对你被授权评估的域名或自有资产运行这些查询。查看搜索结果属于被动行为——引擎已抓取过该页面。但获取文件、下载备份或登录你发现的面板则不属于被动行为,这正是法律边界所在。
高收益的查询类型,按命中率排序:迁移后遗留的目录列表()、按扩展名查找配置和环境文件、数据库转储和备份文件、索引文本中类似凭据的字符串、服务商主机名下的对象存储、通过主机名暴露的管理或监控界面。完整的查询集合以及针对人员和文档的查询,请查看reference/dork-cookbook.md。
intitle:"index of"引擎仅索引被链接过的内容,因此未被链接的面板和存储桶列表的索引覆盖率极低——针对实时服务,请使用进行扫描。已返回404的结果仍可作为证据:将URL传入进行查看。
find-exposed-serversread-deleted-pagesRate limits, CAPTCHAs, and why automation breaks
速率限制、验证码与自动化失效原因
Detection is not primarily about request rate. Engines fingerprint the client:
TLS handshake characteristics, header ordering, whether JavaScript executed,
timing behaviour, and the reputation of the source IP. A datacentre IP that has
never rendered JavaScript trips the check on its first request, while a
residential IP driving a real browser at human pace can dork all day. That is
why slowing your loop down often fails when hand-typing the same query works.
The nastiest failure is not the CAPTCHA but a degraded result set that looks
normal: operators silently ignored, results truncated, no indication. Never
assume a scripted query returned what the browser would.
Sanctioned routes, in preference order. Official search APIs where an engine
sells one: within terms, but expect quotas and no parity with the consumer UI,
because the API's index and ranking are frequently a different product.
Commercial SERP providers, which run the proxy infrastructure and return
structured results — paid, and still scraping under someone's terms. Your own
SearXNG instance, which normalises results across engines; never a public one,
where you inherit strangers' rate-limit reputation and hand your selectors to
its operator. And by hand in a browser, which for the twenty to fifty
queries a real investigation needs beats building the automation.
Rotating IPs to evade detection is circumvention of a technical access control —
a materially different legal posture from scraping, and out of bounds here. The
query itself is also logged and attributable, so route sensitive selectors
through a non-logging engine or an isolated environment, per
.
investigate-without-getting-made检测机制主要并非基于请求速率。引擎会对客户端进行指纹识别:TLS握手特征、头信息顺序、是否执行JavaScript、时序行为以及源IP的信誉。从未执行过JavaScript的数据中心IP会在首次请求时触发检测,而使用真实浏览器以人类速度操作的住宅IP则可全天进行dork查询。这就是为什么减慢循环速度通常无效,但手动输入相同查询却能成功的原因。
最棘手的失效并非验证码,而是看似正常的降级结果集:操作符被悄悄忽略、结果被截断且无任何提示。切勿假设脚本化查询返回的结果与浏览器一致。
推荐的合规途径,按优先级排序:官方搜索API(若引擎提供付费服务):需遵守使用条款,但配额有限,且与消费者UI的结果不一致,因为API的索引和排名通常是独立产品。商业SERP提供商:运行代理基础设施并返回结构化结果——需付费,且仍在他人条款下进行抓取。自有SearXNG实例:标准化跨引擎的结果;切勿使用公共实例,否则你会继承他人的速率限制信誉,并将选择器暴露给实例运营商。手动在浏览器中操作:对于实际调查所需的20至50次查询,手动操作比构建自动化工具更高效。
通过轮换IP规避检测属于规避技术访问控制——这与抓取的法律立场截然不同,且不在本文讨论范围内。查询本身也会被记录并可追溯,因此请通过无日志引擎或隔离环境处理敏感选择器,具体参考。
investigate-without-getting-madeSpecialised indexes
专业索引
Each of these ingests a different corpus and answers a question Google cannot.
- Code search. GitHub code search covers public repos; grep.app and
searchcode index across hosts. Search internal hostnames, key prefixes and the
target's email domain, not its name. See .
secrets-in-git-history - Cloud storage indexes. Bucket indexes such as Grayhat Warfare enumerate far more open object storage than engines reach, because listing pages are rarely linked from anywhere crawlable.
- Document repositories. Scribd, Issuu, SlideShare, DocumentCloud and the academic aggregators full-text index uploads, surfacing a company name buried in a PDF that appears nowhere on its own domain.
- Raw-HTML indexes. Publicwww and similar search page source, letting you pivot on analytics IDs and tag-manager containers. A shared tracker ID beats a shared IP as co-ownership evidence: one account configured both.
- Archive indexes. The Wayback CDX API and Common Crawl index are queryable
URL corpora rather than ranked search, enumerating paths a crawler observed
including long-removed ones (). Scanners index hosts, not pages (
read-deleted-pages); leak corpora,find-exposed-servers.find-leaks-in-the-wild
以下每个索引都针对不同的语料库,可回答Google无法解答的问题。
- 代码搜索:GitHub代码搜索覆盖公共仓库;grep.app和searchcode跨主机索引代码。搜索内部主机名、密钥前缀和目标邮箱域名,而非目标名称。请查看。
secrets-in-git-history - 云存储索引:Grayhat Warfare等存储桶索引枚举的开放对象存储远多于普通引擎,因为列表页面很少被可抓取的内容链接。
- 文档库:Scribd、Issuu、SlideShare、DocumentCloud以及学术聚合器对上传内容进行全文索引,可发现嵌入在PDF中的公司名称,而该名称在目标自有域名上无处可寻。
- 原始HTML索引:Publicwww及类似工具搜索页面源代码,可通过分析ID和标签管理器容器进行关联分析。共享跟踪器ID作为共同所有权的证据比共享IP更可靠:说明同一账户配置了两者。
- 归档索引:Wayback CDX API和Common Crawl索引是可查询的URL语料库,而非排名搜索,可枚举爬虫观察到的路径,包括已删除的旧路径()。扫描工具索引主机而非页面(
read-deleted-pages);泄露语料库请查看find-exposed-servers。find-leaks-in-the-wild
Where this goes wrong
常见误区
- The query you typed is not the query that ran. Stemming, synonyms, spell correction and term dropping are the default; without Verbatim a null result is meaningless.
- Zero results means one index said no — a statement about that engine's crawl and operator support, not about the web. Absence needs three engines and an archive before you write it down.
- never enumerates completely. Google truncates and deduplicates hard, Bing goes deeper, neither is exhaustive. Result counts are estimates you may never quote — page to the end if you need a real one.
site: - The index is a stale mirror. A hit describes the page at crawl time; the live page may differ or be gone, and the snippet may be the only surviving copy. Verify against the live URL and archive it immediately.
- /
before:filters an inferred date. CMS-driven sites restamp pages on render. Never use it to establish when something was published.after: - Personalisation and geography change results. Two investigators running an identical dork get different pages, so record engine, query and date.
- Copied dork libraries rot silently. A retired operator becomes a search term rather than an error, so the query returns plausible general results and you never notice the filter stopped applying.
- Cloaking and index poisoning. Crawlers can be served different content than users, and SEO spam seeds a target's name into unrelated pages. A mention is not a relationship.
- 输入的查询与实际执行的查询不一致:词干提取、同义词替换、拼写纠正和术语丢弃是默认行为;不使用Verbatim模式的话,无结果的查询毫无意义。
- 无结果仅代表该引擎索引中不存在——这是关于该引擎抓取范围和操作符支持的结论,而非整个网络的情况。需经过三个引擎和一个归档索引验证后,才能判定内容不存在。
- 无法完成完整枚举:Google会严格截断和去重,Bing的枚举深度更深,但两者都无法做到 exhaustive。结果数量为估算值,切勿引用——如需准确数量,请翻至最后一页。
site: - 索引是过时的镜像:搜索结果描述的是抓取时的页面状态;实时页面可能已更改或消失,而搜索摘要可能是唯一留存的副本。请与实时URL进行验证并立即归档。
- /
before:筛选的是推断日期:CMS驱动的站点会在渲染时重新标记页面日期。切勿用它来确定内容的发布时间。after: - 个性化设置和地理位置会改变结果:两名调查人员运行相同的dork查询可能得到不同页面,因此请记录引擎、查询语句和日期。
- 复制的dork库会无声失效:已停用的操作符会变成普通搜索词,而非报错,因此查询会返回看似合理的通用结果,而你不会注意到筛选条件已失效。
- 内容 cloaking 和索引投毒:爬虫可能会收到与用户不同的内容,SEO垃圾信息会将目标名称植入无关页面。提及并不代表存在关联。
Confidence grading
置信度分级
- Confirmed — you retrieved the live document or its archived capture, read it, and its content states the fact directly, with its metadata or host corroborating origin.
- Probable — a distinctive exact-match string on an authoritative host, or the same fact from two independent crawls. A snippet you could not open is at best probable.
- Unconfirmed — a snippet only; a hit on a site that republishes others' content; a common-word match; anything from a query not run in Verbatim.
- Rejected — a match that survives only without Verbatim, or a mention on a page whose content is machine-generated name-scraping.
Cite URL, engine, query string and retrieval date. A result nobody can re-run is
not evidence.
- 已确认——你获取了实时文档或其归档副本,阅读后确认内容直接陈述事实,且元数据或主机信息佐证其来源。
- 大概率——在权威主机上发现独特的精确匹配字符串,或两个独立爬虫返回相同事实。无法打开的搜索摘要最多只能归为此类。
- 未确认——仅为搜索摘要;在转载他人内容的站点上发现匹配;通用词汇匹配;未使用Verbatim模式运行的查询结果。
- 已排除——仅在未使用Verbatim模式时存在匹配,或在机器生成的姓名抓取页面上发现提及。
请引用URL、引擎、查询字符串和检索日期。无法被他人重现的结果不能作为证据。
Worked example
实战示例
Objective: identify who handles procurement at Example Corp, for a supplier
due-diligence file. The website lists no names below board level.
site:example.com filetype:pdf procurementm.okaforThe dead end: returns nothing, and neither
does the bare handle. No profile, or not in the index.
"m.okafor" site:linkedin.com/inRewriting to the email shape works. hits a public
mailing-list archive on an unrelated domain, where the same person signed a
technical question with a full name and job title. A Bing sweep of
the target host then surfaces a supplier register corroborating the role.
"m.okafor@example.com"ext:xlsxGrade: role confirmed, on two documents both retrieved and read. Identity
probable — the handle-to-name mapping rests on one self-signed post.
目标:为供应商尽职调查文件确定Example Corp的采购负责人。该网站未列出董事会以下人员的姓名。
在Verbatim模式下运行返回四个文档。其中一个是供应商入职包,其PDF属性包含作者字符串和部门网络共享下的模板路径——文档正文中未提及任何人名,但却得到了两个新的选择器。
site:example.com filetype:pdf procurementm.okafor死胡同:无结果,仅搜索用户名也无结果。说明该用户无公开资料,或未被索引。
"m.okafor" site:linkedin.com/in改写为邮箱格式后成功。在一个无关域名的公开邮件列表归档中命中,同一人在技术问题回复中签署了全名和职位。随后在Bing上对目标主机运行扫描,发现了一份供应商登记表,证实了该职位。
"m.okafor@example.com"ext:xlsx分级:职位已确认,基于两份已获取并阅读的文档。身份大概率——用户名与姓名的映射仅基于一份自我签署的帖子。
Pivots
关联拓展
| New selector | Goes to |
|---|---|
Document files found by | |
| Hostnames and subdomains in indexed URLs | |
| Live services and buckets behind a hit | |
| Repositories, gists, key prefixes | |
| Handles and usernames in indexed text | |
| Email addresses harvested from documents | |
| Names and roles from staff pages | |
| Paste-host hits and leaked selectors | |
| Any result that now 404s | |
| The resulting cluster of hosts and identities | |
| 新选择器 | 对应操作 |
|---|---|
通过 | |
| 索引URL中的主机名和子域名 | |
| 结果背后的实时服务和存储桶 | |
| 代码仓库、Gist、密钥前缀 | |
| 索引文本中的句柄和用户名 | |
| 从文档中提取的邮箱地址 | |
| 员工页面中的姓名和职位 | |
| 粘贴站点命中结果和泄露的选择器 | |
| 已返回404的结果 | |
| 得到的主机和身份集群 | |
Legal and ToS notes
法律与服务条款说明
Automated querying breaches the terms of every major engine. That is a contract
matter and the usual consequence is a block — but defeating those blocks by
rotating IPs or solving CAPTCHAs programmatically is circumvention of a technical
access control, a more serious question in several jurisdictions.
Finding an exposed file confers no authorization to retrieve it. The result is
public; the file behind it may still be a protected computer under
computer-misuse law, and "it was in Google" has failed as a defence. Inside an
authorized assessment, document it, do not exfiltrate it, report through the
agreed channel. Outside one, notify the operator or a national CERT and stop.
Indexed personal data is still personal data — search does not launder it.
De-indexing requests also make material deliberately absent from European result
sets while present elsewhere, so compare regions before concluding anything is
gone. Minimise per ../../ETHICS.md.
自动化查询违反所有主流引擎的服务条款。这属于合同问题,通常的后果是被封禁——但通过轮换IP或程序化破解验证码来绕过封禁属于规避技术访问控制,在多个司法管辖区属于更严重的问题。
发现暴露的文件并不意味着你有权获取它。搜索结果是公开的,但背后的文件仍可能受计算机滥用法律保护,“它在Google上”的辩护已被法院驳回。在未授权评估中,请仅记录发现,不要泄露内容,并通过约定渠道上报。在未授权评估外,请通知运营商或国家CERT并停止操作。
已索引的个人数据仍属于个人数据——搜索不会使其合法化。删除索引请求会导致内容在欧洲结果集中故意消失,但在其他地区仍存在,因此在判定内容已消失前,请对比不同地区的结果。请遵循../../ETHICS.md中的最小化原则。