钓鱼 URL 与域名

同形字符检查器

本地运行新增

该工具本身是英文的;本页面将用您的语言对它进行说明。

使用 同形字符检查器

功能介绍

粘贴域名、URL 或文本,即可查看每个标签的 Unicode 和 Punycode 形式、每个字符的文字系统和 UTS #39 原型,以及该名称是否混用多种文字,或读起来像另一个 ASCII 名称。

它完全在您的浏览器中运行:您输入的任何内容都不会被上传。

如何使用同形字符检查器

  1. 粘贴名称. 粘贴域名、URL、电子邮件地址、多行文本或整条消息。可以使用 hxxps:// 和 [.] 这类无害化写法,xn-- 标签会被解码。
  2. 添加真实域名(可选). 在 Compare with the real domain(与真实域名比较)中输入你预期的域名,例如你的银行的真实域名。
  3. 运行检查. 检查随输入即时运行,也可以按 Enter 或 Check(检查)。Shift+Enter 可添加新行。
  4. 查看结论. 彩色提示框显示 Lookalike risk、Check this、Looks clean 或 Notes,每项发现一行。包含多个主机的消息会得到一张表格,每个主机一条结果。
  5. 找出异常字母. 可疑字符会在高亮显示的域名中被标出。Characters 表格逐一列出它们的码位、文字系统以及所冒充的 ASCII 字母。
  6. 复制或转交. 复制 Unicode 或 Punycode 形式,或使用 Send to…(发送到…)在 DNS over HTTPS Lookup(DNS over HTTPS 查询)或 Abuse Contact Lookup(滥用投诉联系方式查询)中查询该域名。

示例

Punycode 形式的西里尔字母仿冒域名

输入
xn--80ak6aa92e.example
输出(捕获于2026-10-20)
Lookalike risk: Label "аррӏе" is written in Cyrillic but reads as the ASCII name "apple" (whole-script confusable).
Highlighted domain
аррӏе.example
Unicode form
аррӏе[.]example

Punycode (ACE) form
xn--80ak6aa92e[.]example

RESTRICTION LEVEL
Single Script
SCRIPTS
Cyrillic, Latin
READS AS
apple[.]example
Labels
UNICODE	ACE	SCRIPTS	MIXED	RESTRICTION LEVEL	SKELETON
аррӏе	xn--80ak6aa92e	Cyrillic	no	Single Script	apple
example	example	Latin	no	ASCII-Only	ASCII only
Characters
CHAR	CODE POINT	SCRIPT	UTS #39 PROTOTYPE	ID STATUS	FLAG
а	U+0430	Cyrillic	a (U+0061)	Allowed	looks like ASCII
р	U+0440	Cyrillic	p (U+0070)	Allowed	looks like ASCII
р	U+0440	Cyrillic	p (U+0070)	Allowed	looks like ASCII
ӏ	U+04CF	Cyrillic	l (U+006C)	Allowed	looks like ASCII
е	U+0435	Cyrillic	e (U+0065)	Allowed	looks like ASCII
e	U+0065	Latin	itself	Allowed	ASCII
x	U+0078	Latin	itself	Allowed	ASCII
a	U+0061	Latin	itself	Allowed	ASCII
m	U+006D	Latin	rn (U+0072 U+006E)	Allowed	ASCII
p	U+0070	Latin	itself	Allowed	ASCII
l	U+006C	Latin	itself	Allowed	ASCII
e	U+0065	Latin	itself	Allowed	ASCII
Comparison with apple[.]example
Confusable: аррӏе[.]example and apple[.]example have the same UTS #39 skeleton, so they can look identical.
SKELETON OF THE INPUT
apple[.]exarnple
SKELETON OF APPLE[.]EXAMPLE
apple[.]exarnple

解码为 аррӏе.example:五个字母全部是西里尔字母,读起来像 apple,因此该标签被标记为整体文字易混淆(whole-script confusable),每个字符也都被标出。Load example 还会在比较字段中填入 apple.example,两者的骨架(skeleton)相同。

检查内容

信号其含义
同一标签内混用文字同一标签内拉丁字母与西里尔字母或希腊字母混用,显示为红色。UTS #39 认可的混用(例如拉丁字母与日文)只作提示,除非某个字符看起来像 ASCII。
整体文字仿冒每个字母都来自另一种字母表,但标签读起来像一个 ASCII 单词,例如用西里尔字母 аррӏе 冒充 apple。显示为红色。
仅重音不同像 wället 这样的标签,如果忽略重音符号,读起来就是 wallet。这是黄色的 Check this 发现。
UTS #39 原型Characters 表格显示每个字符冒充的是哪个 ASCII 字母或数字,并标注为 looks like ASCII、non-ASCII 或 ASCII。
限制级别按照 UTS #39,从 ASCII-Only 到 Unrestricted。Minimally Restrictive 和 Unrestricted 以红色显示,因为它们允许风险最高的混用。
不可见字符与浏览器映射如果浏览器会改写主机名,例如删除零宽字符或把全角字母转换为普通字母,你会看到黄色警告和一个 What the browser opens(浏览器实际打开的地址)字段。如果浏览器无法映射该主机名,其中的不可见字符会显示为红色。
异常的点号表意文字句号或全角句号(U+3002、U+FF0E、U+FF61)在浏览器中可起到点号的作用,但可能绕过按纯文本比较的过滤器。
损坏的 Punycode无法正确解码的 xn-- 标签显示为红色。
ASCII 伎俩用 0 冒充 o、1 冒充 l、rn 冒充 m 或 vv 冒充 w 的纯 ASCII 名称会得到提示。请使用比较字段加以确认。
比较结果Same domain(同一域名)、Confusable (same skeleton)(易混淆,骨架相同)、Confusable once case is ignored(忽略大小写后易混淆)、Differs only by accents(仅重音不同)、1 or 2 edits away (likely typo-squat)(相差 1 或 2 处编辑,可能是拼写抢注)或 Not confusable(不易混淆)。

更多示例

拉丁名称中的西里尔字母 а,与 wallet.example 比较

输入
wаllet.example
结果

Lookalike risk:标签 “wаllet” 混用了多种文字(Latin + Cyrillic,限制级别:Minimally Restrictive);有 1 个字符看起来像 ASCII,读起来是 “wallet”。Punycode 形式为 xn--wllet-4ve[.]example。比较结果:Confusable,两者的骨架都是 wallet[.]exarnple。

用数字 1 代替 l,与 wallet.example 比较

输入
wa1let.example
结果

Looks clean:仅含 ASCII 的主机名,没有同形字符,也没有混用文字。一条提示指出该标签含有 “1”(可能被读作 l)。比较结果:Confusable,因为两个名称的骨架都是 wallet[.]exarnple。

带重音的字母,与 wallet.example 比较

输入
wället.example
结果

Check this:如果忽略重音符号,标签 “wället” 读起来就是 “wallet”。Punycode 形式为 xn--wllet-gra[.]example,限制级别为 Single Script。比较结果:Differs only by accents。

常见问题解答

检查器测试什么?

每个标签用 RFC 3492 解码器从 Punycode 解码,每个字符都会根据 confusables.txt(Unicode 18.0)得到其 Unicode 文字系统和 UTS #39 原型,每个标签还会进行混用文字检查并得到 UTS #39 限制级别。所有字母读起来都像 ASCII 的标签会被标记为整体文字易混淆。

它会漏掉仿冒域名,或误报真实域名吗?

会。UTS #39 涵盖的是外观相似的字符,而不是拼写错误,因此字母被调换或缺失的情况只能通过比较字段中的编辑距离发现;rn 冒充 m 之类的 ASCII 伎俩会作为提示列出。合法的非拉丁字母名称(例如 .рф 下的某些西里尔字母域名)可能读起来像拉丁字母单词而被标记。

会通过网络发送任何数据吗?

不会。解码、文字系统检测和易混淆字符表都在本页面中运行;Punycode 形式来自你浏览器自身的 URL 解析器,不进行任何 DNS 查询。

各个限制级别是什么意思?

它们来自 Unicode UTS #39。ASCII-Only 只使用纯 ASCII。Single Script 只使用一种书写系统。Highly Restrictive 允许拉丁字母与中文、日文或韩文混用。Moderately Restrictive 允许拉丁字母与另一种常见文字混用,但西里尔字母和希腊字母除外。Minimally Restrictive 允许其他混用,而 Unrestricted 表示有字符超出了标识符配置范围(identifier profile)。

为什么工具说浏览器打开的是另一个名称?

浏览器会按 UTS #46 映射对主机名进行规范化。其中包括把全角字母转换为普通字母,以及删除零宽空格和软连字符等不可见字符。链接随后打开的是映射后的名称,而按原样书写的文本仍可能绕过比较原始字符串的过滤器。

一次可以检查多少个主机?

粘贴列表或消息,工具会从中挑出最多 50 个主机名,并跳过 IP 地址。文本最多分析 20,000 个字符,主机名以外的非 ASCII 单词也会被检查。

术语说明

PhishDestroy 研究