URL و دامنه‌های فیشینگ

بررسی نویسه‌های هم‌شکل (homoglyph)

اجرای محلیجدید

خود ابزار به زبان انگلیسی است؛ این صفحه آن را به زبان شما توضیح می‌دهد.

از بررسی نویسه‌های هم‌شکل (homoglyph) استفاده کنید

کارکرد

یک دامنه، URL یا متن را بچسبانید تا هر برچسب (label) را به شکل Unicode و punycode، خط و نمونهٔ اصلی (prototype) UTS #39 هر نویسه را ببینید و بفهمید آیا نام چند خط را با هم ترکیب می‌کند یا مانند یک نام ASCII دیگر خوانده می‌شود.

این کاملاً در مرورگر شما اجرا می‌شود: هیچ‌یک از اطلاعاتی که وارد می‌کنید بارگذاری نمی‌شود.

چگونه از بررسی نویسه‌های هم‌شکل (homoglyph) استفاده کنیم

  1. نام را بچسبانید. یک دامنه، URL، آدرس ایمیل، چند خط یا یک پیام کامل را بچسبانید. شکل‌های خنثی‌شده (defanged) مانند hxxps:// و [.] پذیرفته می‌شوند و برچسب‌های xn-- کدگشایی می‌شوند.
  2. دامنهٔ واقعی را اضافه کنید (اختیاری). دامنه‌ای را که انتظارش را داشتید در Compare with the real domain (مقایسه با دامنهٔ واقعی) بنویسید، برای نمونه دامنهٔ واقعی بانکتان.
  3. بررسی را اجرا کنید. بررسی هم‌زمان با تایپ اجرا می‌شود، یا Enter یا Check (بررسی) را بزنید. Shift+Enter یک خط جدید اضافه می‌کند.
  4. نتیجه را بخوانید. کادر رنگی یکی از عبارت‌های Lookalike risk (خطر شباهت)، Check this (این را بررسی کنید)، Looks clean (سالم به نظر می‌رسد) یا Notes (یادداشت‌ها) را نشان می‌دهد، با یک خط برای هر یافته. پیامی با چند میزبان جدولی با یک نتیجه برای هر میزبان می‌دهد.
  5. حروف غیرعادی را پیدا کنید. نویسه‌های مشکوک در دامنهٔ برجسته‌شده علامت خورده‌اند. جدول Characters هر کدام را با code point، خط و حرف ASCII که از آن تقلید می‌کند فهرست می‌کند.
  6. کپی کنید یا به ابزار دیگر بفرستید. شکل Unicode یا punycode را کپی کنید، یا با Send to… (ارسال به…) دامنه را در DNS over HTTPS Lookup یا 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. این مورد قرمز است.
تفاوت فقط در نشانهٔ حرف (accent)برچسبی مانند wället اگر از نشانهٔ روی حرف چشم‌پوشی کنید wallet خوانده می‌شود. این یک یافتهٔ زرد از نوع Check this است.
نمونهٔ اصلی UTS #39جدول Characters نشان می‌دهد هر نویسه از کدام حرف یا رقم ASCII تقلید می‌کند و آن را با looks like ASCII، non-ASCII یا ASCII علامت می‌زند.
سطح محدودیتاز ASCII-Only تا Unrestricted، طبق UTS #39. Minimally Restrictive و Unrestricted با رنگ قرمز نمایش داده می‌شوند، چون پرخطرترین ترکیب‌ها را مجاز می‌دانند.
نویسه‌های نامرئی و نگاشت مرورگراگر مرورگر میزبان را بازنویسی کند، برای نمونه با حذف یک نویسهٔ بدون عرض (zero-width) یا تبدیل حروف تمام‌عرض (fullwidth) به حروف عادی، یک هشدار زرد و فیلد What the browser opens (آنچه مرورگر باز می‌کند) نمایش داده می‌شود. اگر مرورگر نتواند میزبان را نگاشت کند، نویسه‌های نامرئی درون آن قرمزند.
نقطه‌های غیرعادینقطه‌های ایدئوگرافیک یا تمام‌عرض (U+3002، U+FF0E، U+FF61) در مرورگرها مانند نقطه عمل می‌کنند اما ممکن است از فیلترهایی که متن ساده را مقایسه می‌کنند عبور کنند.
punycode خراببرچسب xn-- که درست کدگشایی نشود قرمز است.
ترفندهای ASCIIنام‌های ASCII ساده با 0 به‌جای o، 1 به‌جای l، rn به‌جای m یا vv به‌جای w یک یادداشت می‌گیرند. برای اطمینان از فیلد مقایسه استفاده کنید.
نتیجهٔ مقایسهSame domain (دامنهٔ یکسان)، Confusable (same skeleton) (قابل اشتباه، اسکلت یکسان)، Confusable once case is ignored (قابل اشتباه با نادیده گرفتن بزرگی و کوچکی حروف)، Differs only by accents (تفاوت فقط در نشانه‌های حروف)، 1 or 2 edits away (likely typo-squat) (یک یا دو ویرایش فاصله، احتمالاً typosquatting) یا Not confusable (غیرقابل اشتباه).

نمونه‌های بیشتر

حرف а سیریلیک در یک نام لاتین، در مقایسه با wallet.example

ورودی
wаllet.example
نتیجه

Lookalike risk: برچسب «wаllet» خط‌ها را ترکیب می‌کند (لاتین + سیریلیک، سطح محدودیت: Minimally Restrictive)؛ یک نویسه شبیه 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 کدگشایی می‌شود، برای هر نویسه خط Unicode و نمونهٔ اصلی UTS #39 آن از confusables.txt (Unicode 18.0) تعیین می‌شود، و برای هر برچسب بررسی ترکیب خط‌ها و سطح محدودیت UTS #39 انجام می‌شود. برچسب‌هایی که همهٔ حروفشان به شکل ASCII خوانده می‌شوند، به‌عنوان whole-script confusable علامت می‌خورند.

آیا ممکن است دامنهٔ مشابهی را نبیند یا یک دامنهٔ واقعی را علامت بزند؟

بله. UTS #39 نویسه‌هایی را پوشش می‌دهد که شبیه هم‌اند، نه غلط‌های تایپی؛ پس حرف جابه‌جا یا جاافتاده فقط از طریق فاصلهٔ ویرایشی (edit distance) در فیلد مقایسه دیده می‌شود و ترفندهای ASCII مانند rn به‌جای m به‌صورت یادداشت فهرست می‌شوند. نام‌های غیرلاتین مشروع، برای نمونه برخی دامنه‌های سیریلیک زیر .рф، ممکن است مانند کلمات لاتین خوانده شوند و علامت بخورند.

آیا چیزی از طریق شبکه ارسال می‌شود؟

خیر. کدگشایی، تشخیص خط و جدول نویسه‌های قابل اشتباه در همین صفحه اجرا می‌شوند؛ شکل punycode از تجزیه‌گر URL خود مرورگر شما می‌آید و هیچ جستجوی DNSای انجام نمی‌شود.

سطح‌های محدودیت چه معنایی دارند؟

این سطح‌ها از Unicode UTS #39 می‌آیند. ASCII-Only فقط از ASCII ساده استفاده می‌کند. Single Script از یک خط نوشتاری استفاده می‌کند. Highly Restrictive لاتین را همراه با چینی، ژاپنی یا کره‌ای مجاز می‌داند. Moderately Restrictive لاتین را همراه با یک خط رایج دیگر به‌جز سیریلیک و یونانی مجاز می‌داند. Minimally Restrictive ترکیب‌های دیگر را مجاز می‌داند و Unrestricted یعنی نویسه‌ای بیرون از پروفایل شناسه (identifier profile) قرار دارد.

چرا ابزار می‌گوید مرورگر نام دیگری را باز می‌کند؟

مرورگرها نام میزبان را با نگاشت UTS #46 یکدست می‌کنند. این نگاشت از جمله حروف تمام‌عرض را به حروف عادی تبدیل می‌کند و نویسه‌های نامرئی مانند فاصلهٔ بدون عرض (zero-width space) و خط تیرهٔ نرم (soft hyphen) را حذف می‌کند. در این حالت لینک نام نگاشت‌شده را باز می‌کند، در حالی که متن به همان شکلی که نوشته شده هنوز می‌تواند از فیلترهایی که رشته‌های خام را مقایسه می‌کنند عبور کند.

چند میزبان را می‌توانم هم‌زمان بررسی کنم؟

یک فهرست یا یک پیام را بچسبانید تا ابزار حداکثر ۵۰ نام میزبان را جدا کند و آدرس‌های IP را کنار بگذارد. متن تا ۲۰٬۰۰۰ نویسه تحلیل می‌شود و هر کلمهٔ غیر ASCII بیرون از نام‌های میزبان هم بررسی می‌شود.

توضیح اصطلاحات

تحقیقات فیش‌دِستروی