راهنمای اوسینت

اوسینت یوزرنیم چیست و چطور از یک نام کاربری به ردپای دیجیتال برسیم؟

یک یوزرنیم می‌تواند به پروفایل‌های عمومی، ایمیل‌ها، دامنه‌ها، انجمن‌ها، نام‌های مستعار، پست‌های قدیمی و الگوهای کلاهبرداری وصل شود. در این راهنما توضیح می‌دهیم اوسینت یوزرنیم چطور کار می‌کند و OSINT Jet چطور یک هندل ساده را به تحقیق ساختارمند تبدیل می‌کند.

راهنمای اوسینت زمان مطالعه: حدود ۸ دقیقه به‌روزرسانی: 20 June 2026

اوسینت یوزرنیم چیست؟

اوسینت یوزرنیم یعنی استفاده از اطلاعات منابع عمومی برای بررسی اینکه یک نام کاربری، هندل یا نام مستعار در کجاهای اینترنت دیده می‌شود و به چه سرنخ‌هایی ممکن است متصل باشد. یک یوزرنیم ممکن است در شبکه‌های اجتماعی، فروم‌ها، مارکت‌پلیس‌ها، پلتفرم‌های برنامه‌نویسی، بازی‌ها، بلاگ‌ها، دامنه‌ها یا پست‌های قدیمی تکرار شده باشد.

بررسی مسئولانه یوزرنیم به معنی هک اکانت، دور زدن حریم خصوصی، جعل هویت یا اتهام‌زنی از روی یک هندل مشابه نیست. هدف این است که ردپاهای عمومی بررسی، زمینه‌ها مقایسه و تطبیق‌های قوی از موارد ضعیف جدا شوند.

نکته مهم: تکرار یوزرنیم می‌تواند خیلی مفید باشد، اما ممکن است تطبیق اشتباه هم بسازد. یوزرنیم‌های کوتاه، رایج یا عمومی باید با احتیاط بیشتری بررسی شوند.

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

یوزرنیم فقط یک نام مستعار ساده نیست. گاهی مثل یک نخ دیجیتال در پلتفرم‌های مختلف و در طول زمان دیده می‌شود. وقتی با سرنخ‌های دیگر ترکیب شود، می‌تواند به ساخت گراف هویت دیجیتال کمک کند.

ارتباطات پروفایلی اکانت‌های اجتماعی، پروفایل‌های فروم، صفحات مارکت‌پلیس، هندل بازی، پروفایل‌های برنامه‌نویسی و فعالیت عمومی در جوامع آنلاین.
سرنخ‌های هویتی نام نمایشی، بایو، تصویر پروفایل، نشانه‌های موقعیت، زبان، پست‌های قدیمی، نام‌های مستعار و متن‌های تکراری.
سیگنال‌های ریسک اکانت جعلی، هندل تکراری در کلاهبرداری، فعالیت مشکوک در مارکت‌پلیس، بایوی کپی‌شده، جعل هویت یا دامنه‌های مشکوک.

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

بسیاری از افراد از یک هندل ثابت استفاده می‌کنند چون به خاطر سپردنش راحت است. اکانت‌های جعلی و کلاهبردارها هم ممکن است یوزرنیم، الگوی برند، متن بایو یا تصویر پروفایل را در چند جا تکرار کنند. همین تکرار می‌تواند مسیر Pivot بعدی باشد.

فرایند امن برای اوسینت یوزرنیم

بررسی یوزرنیم نباید با نتیجه‌گیری سریع همراه باشد. هدف این است که شواهد عمومی جمع‌آوری، زمینه‌ها مقایسه و سطح اطمینان هر تطبیق مشخص شود.

  1. یوزرنیم را نرمال‌سازی کنید. حروف بزرگ و کوچک، آندرلاین، نقطه، خط تیره، عددها، کاراکترهای شبیه و غلط‌های املایی را بررسی کنید.
  2. الگوی پلتفرم‌ها را بررسی کنید. هندل را در شبکه‌های اجتماعی، فروم‌ها، مارکت‌پلیس‌ها، سایت‌های کدنویسی، بلاگ‌ها و جوامع آنلاین جستجو کنید.
  3. زمینه را مقایسه کنید. نام نمایشی، بایو، تصویر پروفایل، زبان، موقعیت، موضوعات و الگوی پست‌گذاری را بررسی کنید.
  4. با احتیاط Pivot کنید. فقط وقتی ارتباط معنی‌دار است از یوزرنیم به ایمیل، شماره، دامنه، شرکت، تصویر یا پروفایل بروید.
  5. سطح اطمینان را جدا کنید. نتایج را به تأییدشده، احتمال قوی، ضعیف، متناقض یا نیازمند بررسی دستی تقسیم کنید.
  6. شواهد را مسئولانه نگه دارید. لینک‌های عمومی و یادداشت‌ها را ذخیره کنید، اما اطلاعات خصوصی غیرضروری را منتشر نکنید.
از اوسینت یوزرنیم برای آزار، تعقیب، داکسینگ یا دسترسی غیرمجاز استفاده نکنید. مسیر تحقیق باید مسئولانه، مبتنی بر منابع عمومی و دارای هدف مشروع باشد.

خطاهای رایج در اوسینت یوزرنیم

بزرگ‌ترین اشتباه این است که فکر کنیم هر یوزرنیم مشابه حتماً متعلق به یک نفر است. این خطا مخصوصاً در هندل‌های کوتاه، کلمات رایج، اسم‌های محبوب و یوزرنیم‌های عدددار زیاد رخ می‌دهد.

  • اعتماد به تطبیق یوزرنیم بدون بررسی زمینه پروفایل.
  • نادیده گرفتن اکانت‌های قدیمی، رهاشده یا طنز/پارودی.
  • اشتباه گرفتن اکانت جعلی با اکانت واقعی.
  • بررسی نکردن تغییرات کوچک املایی یا کاراکترهای شبیه.
  • وصل کردن یوزرنیم به هویت واقعی بدون شواهد پشتیبان.
  • استفاده از تطبیق ضعیف به‌عنوان اثبات، نه سرنخ تحقیق.

OSINT Jet چطور در اوسینت یوزرنیم کمک می‌کند؟

OSINT Jet کمک می‌کند بررسی یوزرنیم از جستجوی پراکنده به یک تحقیق ساختارمند تبدیل شود. کاربر می‌تواند هندل، لینک پروفایل و زمینه پرونده را وارد کند و گزارش مرتب‌تری از سرنخ‌ها و قدم‌های بعدی بگیرد.

یوزرنیم به‌عنوان نود گراف

در OSINT Jet، یوزرنیم می‌تواند یک نود در گراف هویت دیجیتال باشد. از آنجا تحقیق می‌تواند به ایمیل، شماره، دامنه، شرکت، تصویر، پروفایل اجتماعی یا الگوی کلاهبرداری وصل شود.

ورودی بهتر، خروجی بهتر

برای نتیجه قوی‌تر، پلتفرمی که یوزرنیم را در آن دیده‌اید، لینک پروفایل، کشور، زبان، شخص یا شرکت مشکوک، اسکرین‌شات، ایمیل یا شماره مرتبط و دلیل اهمیت هندل را اضافه کنید.

بررسی دستی برای پرونده‌های پیچیده

اگر یوزرنیم در پرونده کلاهبرداری، جعل هویت، شرکت جعلی، سایت کپی‌شده یا وضعیت پرریسک دیده شده، VIP/manual اوسینت می‌تواند شواهد را دقیق‌تر بررسی کند.

از یک یوزرنیم، یک تحقیق ساختارمند بسازید.

با یک هندل، لینک پروفایل یا نام مستعار شروع کنید. OSINT Jet کمک می‌کند آن را به سرنخ‌های مرتبط وصل کنید و قدم بعدی را بهتر بفهمید.

سؤالات متداول اوسینت یوزرنیم

آیا یوزرنیم می‌تواند هویت یک فرد را قطعی مشخص کند؟

خیر. یوزرنیم می‌تواند سرنخ مفید بدهد، اما همیشه هویت را ثابت نمی‌کند. ممکن است مشترک، کپی‌شده، رهاشده یا توسط افراد مختلف در پلتفرم‌های مختلف استفاده شده باشد.

برای نتیجه بهتر چه اطلاعاتی بدهم؟

یوزرنیم، پلتفرم، لینک پروفایل، اسکرین‌شات، ایمیل، شماره، دامنه، نام شرکت، کشور، زبان و دلیل بررسی یوزرنیم می‌تواند نتیجه را بهتر کند.

آیا اوسینت یوزرنیم برای پروفایل جعلی مفید است؟

بله. می‌تواند تکرار پروفایل، بایوی کپی‌شده، تصویر تکراری، فعالیت پلتفرمی، دامنه‌های مرتبط و الگوهای رفتار مشکوک را بررسی کند.

آیا اوسینت یوزرنیم قانونی است؟

اگر بر اساس اطلاعات عمومی و برای هدف مشروع و مسئولانه انجام شود، می‌تواند قانونی باشد. اما نباید شامل هک، آزار، جعل هویت یا دسترسی غیرمجاز باشد.

چه زمانی باید از VIP/manual اوسینت استفاده کنم؟

وقتی یوزرنیم بخشی از پرونده پیچیده، حساس، پرارزش یا دارای سرنخ‌های متناقض است، بررسی دستی VIP/manual انتخاب امن‌تری است.

منابع مرتبط OSINT Jet

آموزش شرلوک اوسینت: نتیجهٔ یوزرنیم را پیش از اعتماد آزمایش کنید

Sherlock با قواعد مخصوص سایت‌ها، الگوهای نام کاربری را بررسی می‌کند. پروفایل پیشنهادی، نقطهٔ شروع بررسی است؛ یکسان‌بودن یوزرنیم ثابت نمی‌کند دو حساب متعلق به یک نفر هستند.

چه چیزی را واقعاً آزمایش کردیم؟

۷ سپتامبر ۲۰۲۶، حدود ساعت ۰۵:۵۰ UTC، نسخهٔ 0.16.0 شرلوک را در محیط پایتون مجزا روی سه صفحهٔ ساختگی در کامپیوتر خودمان اجرا کردیم. چهار قاعدهٔ سفارشی را مستقیماً به تابع دست‌نخوردهٔ شرلوک دادیم. هیچ شبکهٔ اجتماعی عمومی یا یوزرنیم متعلق به شخص واقعی جستجو نشد. این آزمایش آموزشی، بنچمارک فهرست سایت‌های شرلوک یا دقت اوسینت جت نیست.

سرور محلی یک پاسخ شبیه پروفایل، یک پاسخ 404 و صفحه‌ای با متن Profile not found و کد HTTP 200 برگرداند. نمونهٔ آخر نشان می‌دهد موفق‌بودن درخواست HTTP الزاماً به معنی وجود حساب نیست.

در نمایشگر کوچک، جدول نتیجه‌ها را به چپ و راست حرکت دهید.

Fixture / نمونهHTTPRule / قاعدهResult / خروجی
Fictional profile / پروفایل ساختگی200status_codeCLAIMED
Missing / ناموجود404status_codeAVAILABLE
Soft missing / ناموجود با پاسخ موفق HTTP200status_codeCLAIMED
Same soft missing / همان نمونهٔ قبلی200messageAVAILABLE

قاعدهٔ عمداً ناقصِ متکی به کد HTTP، صفحهٔ سوم را CLAIMED تشخیص داد. قاعدهٔ بررسی متن، پیام نبودن پروفایل را دید و همان نمونه را AVAILABLE اعلام کرد. این‌ها وضعیت تشخیص در همین آزمون هستند؛ AVAILABLE تضمین نمی‌کند بتوانید آن نام را در سرویس ثبت کنید. این آزمایش، نقصی در قواعد رسمی یک پلتفرم را اثبات نکرده است.

آزمایش محلی را تکرار کنید

یک محیط پایتون مجزا بسازید، نسخهٔ مشخص‌شده را نصب کنید، کد کامل زیر را با نام sherlock_local_lab.py ذخیره کنید و با پایتون همان محیط اجرا کنید. نصب پکیج، وابستگی‌ها را دانلود می‌کند؛ درخواست‌های هدفِ خود آزمایش فقط به سرور loopback آن محدود شده‌اند. خروجی JSON تاریخ‌دار کنار فایل کد ذخیره می‌شود.

python -m pip install "sherlock-project==0.16.0"
python sherlock_local_lab.py
نمایش کد کامل آزمایش محلی
"""Controlled Sherlock 0.16.0 teaching fixture; no public username searches.

Run in an isolated environment with sherlock-project==0.16.0 installed.
The target catalogue is supplied directly and contains loopback URLs only.
This intentionally incomplete custom rule is NOT an upstream-site defect test.
"""
import hashlib
import importlib.metadata
import inspect
import json
import threading
from datetime import datetime, timezone
from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer
from pathlib import Path
from urllib.parse import urlparse

import requests
from sherlock_project.notify import QueryNotify
from sherlock_project.sherlock import sherlock

request_log = []

class Fixture(BaseHTTPRequestHandler):
    def answer(self, body=True):
        if self.path.startswith('/present/'):
            status, text = 200, 'Fictional demonstration profile'
        elif self.path.startswith('/soft-missing/'):
            status, text = 200, 'Profile not found'
        else:
            status, text = 404, 'Profile not found'
        request_log.append({'method': self.command, 'path': self.path, 'status': status})
        data = text.encode()
        self.send_response(status)
        self.send_header('Content-Type', 'text/plain; charset=utf-8')
        self.send_header('Content-Length', str(len(data)))
        self.end_headers()
        if body:
            self.wfile.write(data)
    def do_GET(self): self.answer()
    def do_HEAD(self): self.answer(False)
    def log_message(self, *args): pass

server = ThreadingHTTPServer(('127.0.0.1', 0), Fixture)
thread = threading.Thread(target=server.serve_forever, daemon=True)
thread.start()
origin = 'http://127.0.0.1:' + str(server.server_port)

original_send = requests.Session.send
def local_only(self, request, **kwargs):
    parsed = urlparse(request.url)
    if parsed.scheme != 'http' or parsed.hostname != '127.0.0.1' or parsed.port != server.server_port:
        raise RuntimeError('This lab permits only its own loopback fixture')
    kwargs['proxies'] = {}
    return original_send(self, request, **kwargs)
requests.Session.send = local_only

def rule(path, kind='status_code'):
    return {'urlMain': origin, 'url': origin + '/' + path + '/{}',
            'errorType': kind, 'errorMsg': 'Profile not found'}

catalogue = {
    'present_status': rule('present'),
    'missing_status': rule('missing'),
    'soft_missing_status': rule('soft-missing'),
    'soft_missing_message': rule('soft-missing', 'message'),
}
try:
    results = sherlock('osintjet_fixture_20260907', catalogue, QueryNotify(), timeout=5)
    observed = {key: {'status': row['status'].status.name,
                      'http_status': row['http_status']}
                for key, row in results.items()}
finally:
    requests.Session.send = original_send
    server.shutdown()
    server.server_close()
    thread.join(timeout=5)

expected = {'present_status': 'CLAIMED', 'missing_status': 'AVAILABLE',
            'soft_missing_status': 'CLAIMED', 'soft_missing_message': 'AVAILABLE'}
assert {key: row['status'] for key, row in observed.items()} == expected, observed
source = Path(inspect.getsourcefile(sherlock))
report = {'observed_at': datetime.now(timezone.utc).isoformat(),
          'sherlock_version': importlib.metadata.version('sherlock-project'),
          'library_source_sha256': hashlib.sha256(source.read_bytes()).hexdigest(),
          'scope': 'Four custom rules against three localhost fixtures; no external account lookup',
          'limitation': 'No upstream platform configuration, identity attribution or accuracy benchmark tested',
          'results': observed, 'request_log': request_log, 'assertions_passed': True}
Path(__file__).with_name('sherlock-local-results.json').write_text(json.dumps(report, indent=2), encoding='utf-8')
print(json.dumps(report, indent=2))

پروفایل پیشنهادی را در تحقیق واقعی چگونه بررسی کنیم؟

  1. از نام کاربری خودتان یا محدوده‌ای با مجوز روشن استفاده کنید و راهنمای رسمی استفاده را برای نسخهٔ نصب‌شده بخوانید.
  2. صفحهٔ پیشنهادی را باز کنید؛ باید پروفایل باشد، نه خطا، صفحهٔ ورود یا صفحهٔ عمومی سایت. خطای دسترسی را با نبود حساب یکی نگیرید.
  3. شواهد عمومی قابل انتساب، مثل لینک از سایت رسمی شناخته‌شده، معرفی تاریخ‌دار و زمینهٔ مرتبط را مقایسه کنید. نام یا آواتار تکراری، شاهد ضعیفی است.
  4. آدرس دقیق، زمان، شاهد قابل مشاهده و تناقض‌های حل‌نشده را ثبت کنید. تا وقتی شواهد کافی نیست، مالکیت حساب را به شخص نسبت ندهید.

برای تأیید سرنخ از جستجوی هدفمند منابع عمومی کمک بگیرید و اصول تحقیق مسئولانه را رعایت کنید. این راهنما ادعا نمی‌کند شرلوک داخل اپ اوسینت جت اجرا می‌شود یا هرکدام از این ابزارها به‌صورت خودکار هویت را تأیید می‌کنند.