دانشنامه مارال هاست دانشنامه مارال هاست
  • صفحه اصلی
  • مقالات
    • هاست اشتراکی
    • دامنه
    • سرور مجازی
    • کنترل پنل سی‌پنل
    • کنترل پنل پلسک
    • کنترل پنل دایرکت ادمین
    • ایمیل
    • CloudLinux
    • Cloudflare
  • تماس با ما
دانشنامه مارال هاست دانشنامه مارال هاست
دانشنامه مارال هاست دانشنامه مارال هاست
  • صفحه اصلی
  • مقالات
    • هاست اشتراکی
    • دامنه
    • سرور مجازی
    • کنترل پنل سی‌پنل
    • کنترل پنل پلسک
    • کنترل پنل دایرکت ادمین
    • ایمیل
    • CloudLinux
    • Cloudflare
  • تماس با ما
امنیت
  • Folder icon closed Folder open iconCIA Triad چیست؟ آشنایی با سه اصل اساسی امنیت اطلاعات
  • Folder icon closed Folder open iconAttack Surface چیست؟ آشنایی با سطح حمله در امنیت سایبری
  • Folder icon closed Folder open iconThreat چیست؟ آشنایی با مفهوم تهدید در امنیت سایبری
  • Folder icon closed Folder open iconVulnerability چیست؟ آشنایی با آسیب‌پذیری در امنیت سایبری
  • Folder icon closed Folder open iconExploit چیست؟ آشنایی با مفهوم اکسپلویت در امنیت سایبری
  • Folder icon closed Folder open iconRisk چیست؟ آشنایی با مفهوم ریسک در امنیت سایبری
  • Folder icon closed Folder open iconCVE چیست؟ آشنایی با سیستم شماره‌گذاری آسیب‌پذیری‌های امنیتی
  • Folder icon closed Folder open iconCVSS چیست؟ آشنایی با سیستم امتیازدهی آسیب‌پذیری‌های امنیتی
  • Folder icon closed Folder open iconبعد از خرید سرور مجازی لینوکس(VPS)، اولین کارهایی که باید انجام دهید
  • Folder icon closed Folder open iconآموزش تغییر Hostname سرور در لینوکس
  • Folder icon closed Folder open iconآموزش تنظیم صحیح Timezone و NTP در لینوکس
  • Folder icon closed Folder open iconآموزش بروزرسانی کامل سیستم‌عامل لینوکس همه توزیع ها
  • Folder icon closed Folder open iconآموزش ساخت کاربر جدید و حذف استفاده روزمره از Root در لینوکس
  • Folder icon closed Folder open iconآموزش تنظیم صحیح sudo در لینوکس
  • Folder icon closed Folder open iconآموزش تنظیم Banner ورود به SSH در لینوکس
  • Folder icon closed Folder open iconآموزش مدیریت Password Policy در لینوکس
  • Folder icon closed Folder open iconآموزش نصب و راه‌اندازی SSH Key Authentication در لینوکس
  • Folder icon closed Folder open iconآموزش غیرفعال کردن ورود مستقیم Root از طریق SSH
  • Folder icon closed Folder open iconتغییر پورت SSH؛ آیا واقعاً امنیت سرور را افزایش می‌دهد؟
  • Folder icon closed Folder open iconآموزش محدود کردن کاربران مجاز SSH در لینوکس
  • Folder icon closed Folder open iconآموزش محدود کردن دسترسی SSH بر اساس IP در لینوکس
  • Folder icon closed Folder open iconآموزش تنظیم LoginGraceTime در SSH؛ کاهش زمان انتظار برای احراز هویت
  • Folder icon closed Folder open iconآموزش تنظیم MaxAuthTries در SSH؛ محدود کردن تعداد تلاش‌های ورود ناموفق
  • Folder icon closed Folder open iconآموزش بررسی لاگ‌های SSH در لینوکس
  • Folder icon closed Folder open iconآموزش عیب‌یابی مشکلات SSH در لینوکس
  • Folder icon closed Folder open iconآموزش کامل UFW در لینوکس؛ راه‌اندازی، مدیریت و ایمن‌سازی فایروال سرور
  • Folder icon closed Folder open iconnftables چیست؟ آشنایی با فایروال نسل جدید لینوکس و جایگزین iptables
  • Folder icon closed Folder open iconآموزش کامل Firewalld در لینوکس
  • Folder icon closed Folder open iconآموزش کامل ConfigServer Security & Firewall (CSF)
  • Folder icon closed Folder open iconآموزش مشاهده Loginهای اخیر در لینوکس
  • Folder icon closed Folder open iconآموزش بررسی پردازش‌های مشکوک در لینوکس
  • Folder icon closed Folder open iconآموزش بررسی Cron Jobهای مشکوک در لینوکس
  • Folder icon closed Folder open iconآموزش کامل Fail2Ban در لینوکس؛ نصب و راه‌اندازی
  • Folder icon closed Folder open iconآموزش نصب RKHunter در لینوکس
  • Folder icon closed Folder open iconآموزش نصب Chkrootkit در لینوکس
  • Folder icon closed Folder open iconآموزش اسکن سرور با RKHunter و Chkrootkit
  • Folder icon closed Folder open iconآموزش نصب، پیکربندی و اسکن سرور با AIDE در لینوکس
  • Folder icon closed Folder open iconآموزش نصب، پیکربندی و استفاده از Auditd در لینوکس
  • Folder icon closed Folder open iconآموزش نصب، اسکن و تحلیل امنیت سرور با Lynis در لینوکس
  • Folder icon closed Folder open iconآموزش نصب، بروزرسانی و اسکن سرور با ClamAV در لینوکس
  • Folder icon closed Folder open iconآموزش Hardening وب‌سرور Nginx
  • Folder icon closed Folder open iconآموزش Hardening وب‌سرور Apache
  • Folder icon closed Folder open iconآموزش Hardening PHP
  • Folder icon closed Folder open iconآموزش Hardening پایگاه داده MySQL
  • Folder icon closed Folder open iconآموزش Hardening سرویس Redis
  • Folder icon closed Folder open iconآموزش Hardening سرویس Docker
  • Folder icon closed Folder open iconآموزش Hardening سرویس FTP
  • Folder icon closed Folder open iconشناسایی Backdoor و ارتباطات مخفی در سرور لینوکس
  • Folder icon closed Folder open iconاسکن آسیب‌پذیری با Nmap NSE
  • Folder icon closed Folder open iconآموزش Socat
  • Folder icon closed Folder open iconآموزش WhatWeb در لینوکس
  • Folder icon closed Folder open iconشناسایی تکنولوژی سایت‌ها
  • Folder icon closed Folder open iconآموزش Amass برای کشف Subdomain
  • Folder icon closed Folder open iconشناسایی Reverse Shell در لینوکس
  • Folder icon closed Folder open iconپیدا کردن فایل‌های SUID مشکوک
  • Folder icon closed Folder open iconبررسی کاربران Administrator مخفی در ویندوز
  • Folder icon closed Folder open iconبررسی PowerShell History
  • Folder icon closed Folder open iconشناسایی Reverse Shell در ویندوز
امنیت

شناسایی تکنولوژی سایت‌ها

شناسایی تکنولوژی سایت‌ها

مقدمه

گاهی هنگام مشاهده یک وب‌سایت این سؤال پیش می‌آید:

«این سایت با چه تکنولوژی‌هایی ساخته شده است؟»

ممکن است بخواهیم بدانیم:

  • سایت از WordPress استفاده می‌کند یا یک CMS اختصاصی؟
  • وب‌سرور Apache است یا Nginx؟
  • Backend با PHP، Node.js یا فناوری دیگری اجرا می‌شود؟
  • سایت از چه JavaScript Framework یا Libraryهایی استفاده می‌کند؟
  • CDN سایت Cloudflare است یا سرویس دیگری؟
  • چه Analytics، Tag Manager یا ابزارهای Marketing روی سایت فعال هستند؟
  • آیا از Bootstrap، React، Vue.js یا Next.js استفاده شده است؟

فرآیند پیدا کردن چنین اطلاعاتی معمولاً Website Technology Detection یا Web Technology Fingerprinting نامیده می‌شود.

برای شناسایی تکنولوژی سایت‌ها روش‌های مختلفی وجود دارد؛ از مشاهده ساده Source Code و HTTP Headerها گرفته تا ابزارهایی مانند WhatWeb، Wappalyzer و BuiltWith.

در این مقاله روش‌های مختلف شناسایی تکنولوژی‌های مورد استفاده یک وب‌سایت را به‌صورت عملی بررسی می‌کنیم.

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


منظور از تکنولوژی سایت چیست؟

یک وب‌سایت معمولاً از یک فناوری واحد تشکیل نشده است.

ممکن است ساختار یک سایت به شکل زیر باشد:

Cloudflare
    |
    v
Nginx
    |
    v
WordPress
    |
    v
PHP
    |
    v
MySQL

در Frontend نیز ممکن است از مواردی مانند:

HTML5
CSS
JavaScript
jQuery
Bootstrap
React

استفاده شود.

همچنین سرویس‌های دیگری مانند:

Google Analytics
Google Tag Manager
reCAPTCHA
CDN
Live Chat
Payment Gateway

می‌توانند بخشی از Technology Stack سایت باشند.

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


چه اطلاعاتی را می‌توان درباره یک سایت شناسایی کرد؟

بسته به نحوه پیکربندی سایت، ممکن است بتوان اطلاعاتی مانند موارد زیر را شناسایی کرد:

  • CMS
  • Web Server
  • Programming Language
  • Web Framework
  • JavaScript Framework
  • JavaScript Library
  • CDN
  • Reverse Proxy
  • Analytics Platform
  • Tag Manager
  • Advertising Platform
  • Font Service
  • Cache Plugin
  • WordPress Plugin
  • WordPress Theme
  • Ecommerce Platform
  • Payment Service
  • Security Service
  • Hosting Technology
  • HTTP Header
  • Cookie

اما همه این اطلاعات الزاماً از خارج قابل مشاهده نیستند.


چرا شناسایی تکنولوژی سایت‌ها مفید است؟

Technology Detection فقط کاربرد امنیتی ندارد.

این اطلاعات در حوزه‌های مختلف استفاده می‌شوند.

برای مثال:

مدیریت زیرساخت

برای تهیه Inventory از تکنولوژی‌های مورد استفاده در وب‌سایت‌های سازمان.

مهاجرت وب‌سایت

برای شناخت معماری فعلی قبل از Migration.

بررسی رقبا

برای بررسی فناوری‌هایی که سایت‌های مشابه استفاده می‌کنند.

توسعه وب

برای شناخت Frameworkها و Libraryهای مورد استفاده.

امنیت

برای شناسایی Technology Stack و بررسی اینکه آیا نرم‌افزارهای قدیمی یا منسوخ در زیرساخت وجود دارند.

Attack Surface Management

برای ایجاد Inventory از سرویس‌ها و Technologyهای قابل مشاهده در سطح اینترنت.


روش اول: مشاهده Source Code سایت

یکی از ساده‌ترین روش‌ها مشاهده HTML Source سایت است.

در مرورگر Chrome یا Firefox:

Right Click

سپس:

View Page Source

را انتخاب کنید.

یا از کلید:

Ctrl + U

استفاده کنید.

در Source Code می‌توان نشانه‌های زیادی پیدا کرد.


شناسایی WordPress از Source Code

در سایت‌های WordPress معمولاً مسیرهایی مانند موارد زیر دیده می‌شوند:

/wp-content/
/wp-includes/
/wp-json/

برای مثال:

<link rel="stylesheet" href="/wp-content/themes/example/style.css">

وجود:

wp-content

یکی از نشانه‌های قوی استفاده از WordPress است.

البته مدیر سایت می‌تواند برخی از این نشانه‌ها را تغییر دهد یا مخفی کند.


بررسی Meta Generator

بعضی CMSها اطلاعات خود را داخل Meta Tag قرار می‌دهند.

برای مثال:

<meta name="generator" content="WordPress">

یا:

<meta name="generator" content="Joomla!">

در چنین شرایطی تشخیص CMS بسیار ساده است.

اما بسیاری از سایت‌ها این Tag را برای کاهش Information Disclosure حذف می‌کنند.


بررسی نام فایل‌های JavaScript

فایل‌های JavaScript نیز اطلاعات زیادی درباره Technology Stack سایت می‌دهند.

برای مثال:

jquery.min.js
bootstrap.min.js
react.js
vue.js

می‌توانند نشان دهند که سایت از چه Library یا Frameworkهایی استفاده می‌کند.

برای مشاهده آنها می‌توانید Source Code را جستجو کنید:

Ctrl + F

و عباراتی مانند:

jquery
bootstrap
react
vue

را بررسی کنید.


استفاده از Developer Tools مرورگر

یکی از بهترین ابزارهای داخلی مرورگر:

Developer Tools

است.

در Chrome می‌توانید:

F12

را فشار دهید.

یا:

Ctrl + Shift + I

سپس بخش:

Network

را باز کنید.

Chrome DevTools امکان مشاهده Requestهای شبکه، Headerها، Responseها و Resourceهای بارگذاری‌شده توسط صفحه را فراهم می‌کند.


بررسی Network Requests

در تب Network می‌توانید فایل‌هایی را ببینید که سایت هنگام Load شدن دریافت می‌کند.

برای مثال:

.js
.css
.json
.webp
.woff2

نام و مسیر این فایل‌ها گاهی Technology مورد استفاده را مشخص می‌کند.

برای مثال:

/wp-content/plugins/woocommerce/

می‌تواند نشانه استفاده از WooCommerce باشد.

یا:

/_next/static/

می‌تواند یکی از نشانه‌های استفاده از Next.js باشد.


بررسی HTTP Response Headerها

HTTP Headerها یکی دیگر از منابع مهم برای Technology Detection هستند.

در Chrome DevTools:

Network

یکی از Requestها را انتخاب کنید و وارد:

Headers

شوید.

ممکن است Headerهایی مانند موارد زیر مشاهده شوند:

Server: nginx

یا:

Server: Apache

گاهی نیز:

X-Powered-By: PHP

یا:

X-Powered-By: Express

مشاهده می‌شود.


بررسی Headerها با curl

در لینوکس نیازی نیست حتماً از مرورگر استفاده کنیم.

با دستور:

curl -I https://example.com

می‌توان HTTP Headerها را مشاهده کرد.

نمونه خروجی:

HTTP/2 200

server: nginx
content-type: text/html
cache-control: max-age=0

در این مثال Web Server خود را:

nginx

معرفی کرده است.


دنبال کردن Redirectها با curl

گاهی آدرس سایت ابتدا Redirect می‌شود.

برای دنبال کردن Redirectها:

curl -IL https://example.com

گزینه:

-L

باعث دنبال شدن Redirectها می‌شود.

این روش برای بررسی زنجیره Redirect و Headerهای مقصد کاربردی است.


دریافت HTML با curl

برای مشاهده HTML:

curl -sL https://example.com

می‌توان خروجی را با grep نیز جستجو کرد.

برای مثال:

curl -sL https://example.com | grep -i wordpress

یا:

curl -sL https://example.com | grep -i wp-content

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


بررسی Cookieهای سایت

Cookieها نیز گاهی Technology مورد استفاده را مشخص می‌کنند.

برای مشاهده Headerها:

curl -I https://example.com

ممکن است مواردی مانند:

Set-Cookie: PHPSESSID=...

دیده شود.

وجود:

PHPSESSID

می‌تواند نشانه استفاده از PHP Session باشد.

در WordPress نیز Cookieهایی با نام‌هایی مرتبط با WordPress ممکن است دیده شوند.

اما Cookie به‌تنهایی نباید مبنای نتیجه‌گیری قطعی باشد.


شناسایی سایت با WhatWeb

یکی از ابزارهای تخصصی برای این کار WhatWeb است.

WhatWeb یک ابزار Web Fingerprinting است که CMS، Web Server، JavaScript Library و بسیاری از فناوری‌های قابل مشاهده را شناسایی می‌کند.

در Ubuntu یا Kali:

sudo apt update
sudo apt install whatweb

سپس:

whatweb https://example.com

نمونه خروجی WhatWeb

ممکن است خروجی مشابه زیر دریافت شود:

https://example.com [200 OK]

HTTPServer[Nginx]
HTML5
JQuery
PHP
WordPress
Title[Example]

در این حالت WhatWeb نشانه‌هایی از:

Nginx
PHP
WordPress
jQuery

را پیدا کرده است.


دریافت اطلاعات بیشتر با WhatWeb

برای خروجی Verbose:

whatweb -v https://example.com

برای بررسی دقیق‌تر:

whatweb -a 3 https://example.com

توجه داشته باشید که Aggressive Mode می‌تواند Requestهای بیشتری ایجاد کند.

برای استفاده عادی بهتر است ابتدا همان دستور ساده اجرا شود:

whatweb https://example.com

استفاده از Wappalyzer

یکی دیگر از ابزارهای شناخته‌شده:

Wappalyzer

است.

Wappalyzer از نشانه‌های عمومی وب مانند:

  • HTML
  • Scriptها
  • Headerها
  • Cookieها

برای شناسایی Technologyهای مورد استفاده سایت استفاده می‌کند.

نسخه Online آن امکان وارد کردن Domain و مشاهده Technology Stack را فراهم می‌کند.


Wappalyzer چه اطلاعاتی نمایش می‌دهد؟

بسته به سایت ممکن است Categoryهایی مانند موارد زیر شناسایی شوند:

CMS
Web Framework
JavaScript Framework
Analytics
CDN
Tag Manager
Font
Web Server
Payment Processor
Ecommerce
Security

برای مثال ممکن است نتیجه‌ای شبیه زیر داشته باشیم:

WordPress
WooCommerce
PHP
Cloudflare
Google Analytics
Google Tag Manager
jQuery

این اطلاعات می‌توانند دید مناسبی از Technology Stack سایت ایجاد کنند.


استفاده از BuiltWith

ابزار Online دیگری که برای Technology Detection استفاده می‌شود:

BuiltWith

است.

با وارد کردن Domain در BuiltWith می‌توان فناوری‌های شناسایی‌شده سایت را مشاهده کرد. BuiltWith این شناسایی را بر اساس Signalهایی که سایت در سطح عمومی منتشر می‌کند انجام می‌دهد.

این ابزار علاوه بر بررسی یک سایت، برای Technology Research و بررسی روند استفاده از فناوری‌های وب نیز کاربرد دارد.


تفاوت WhatWeb، Wappalyzer و BuiltWith

هر سه ابزار هدف مشابهی دارند، اما نحوه استفاده آنها متفاوت است.

ابزارنوعمناسب برای
WhatWebCommand Lineبررسی فنی و Automation
WappalyzerWeb / Browser / APIبررسی سریع Technology Stack
BuiltWithWeb / APITechnology Research و تحلیل سایت‌ها

برای مدیر سرور یا کارشناس فنی، WhatWeb به دلیل Command Line بودن انعطاف بیشتری دارد.

برای بررسی سریع یک سایت، Wappalyzer یا BuiltWith معمولاً ساده‌تر هستند.


شناسایی CDN

گاهی می‌توان CDN را از DNS یا HTTP Headerها تشخیص داد.

برای مثال Cloudflare ممکن است Headerهایی مانند:

CF-Ray

یا:

Server: cloudflare

نمایش دهد.

همچنین DNS Recordهای سایت می‌توانند اطلاعاتی درباره CDN ارائه دهند.


بررسی DNS سایت

برای بررسی DNS:

dig example.com

یا:

nslookup example.com

برای بررسی CNAME:

dig CNAME www.example.com

در برخی موارد CNAME به Domain مربوط به CDN یا سرویس Hosting اشاره می‌کند.


آیا می‌توان Hosting Provider سایت را شناسایی کرد؟

گاهی بله، اما همیشه نه.

با بررسی IP Address سایت می‌توان Owner شبکه یا ASN را بررسی کرد.

ابتدا:

dig example.com

IP را پیدا کنید.

سپس اطلاعات IP و ASN می‌تواند مشخص کند IP متعلق به کدام Network Provider است.

اما اگر سایت پشت CDN یا Reverse Proxy باشد، IP مشاهده‌شده ممکن است متعلق به CDN باشد، نه Server اصلی.

برای مثال:

User
  |
  v
Cloudflare
  |
  v
Origin Server

در این حالت فقط IP مربوط به Cloudflare از اینترنت دیده می‌شود.


چگونه WordPress را شناسایی کنیم؟

نشانه‌های متداول WordPress شامل:

/wp-content/
/wp-includes/
/wp-json/

هستند.

برای مثال:

curl -sL https://example.com | grep -i wp-content

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

https://example.com/wp-json/

اما فعال بودن یا نبودن این Endpoint به تنظیمات سایت بستگی دارد.


چگونه Joomla را شناسایی کنیم؟

برخی نشانه‌های Joomla می‌توانند شامل:

/components/
/modules/
/media/system/

باشند.

Meta Generator نیز در برخی سایت‌ها ممکن است Joomla را مشخص کند.

اما Template و تنظیمات امنیتی می‌توانند این نشانه‌ها را تغییر دهند.


چگونه Drupal را شناسایی کنیم؟

Drupal نیز مسیرها و فایل‌های خاص خود را دارد.

برای مثال ممکن است نشانه‌هایی مانند:

/sites/default/
/sites/all/

در نسخه‌ها یا ساختارهای مشخص دیده شوند.

ابزارهایی مانند WhatWeb و Wappalyzer معمولاً این Fingerprintها را خودکار بررسی می‌کنند.


تشخیص Frameworkهای JavaScript

Frameworkهای مدرن Frontend معمولاً نشانه‌هایی در:

  • JavaScript Bundle
  • HTML
  • Network Request
  • DOM
  • Path فایل‌ها

بر جای می‌گذارند.

برای مثال:

/_next/

می‌تواند نشانه Next.js باشد.

یا Bundleها و Elementهای خاص ممکن است نشان‌دهنده:

React
Vue.js
Angular

باشند.

Wappalyzer یکی از روش‌های سریع برای شناسایی چنین Frameworkهایی است.


بررسی Security Headerها

بررسی Headerها علاوه بر Technology Detection برای ارزیابی تنظیمات امنیتی نیز مفید است.

برای مثال:

curl -I https://example.com

ممکن است Headerهای زیر دیده شوند:

Strict-Transport-Security
Content-Security-Policy
X-Content-Type-Options
Referrer-Policy
Permissions-Policy

نبودن یک Header الزاماً به معنی وجود آسیب‌پذیری نیست، اما می‌تواند موضوعی برای بررسی Hardening باشد.


آیا نسخه نرم‌افزارها قابل تشخیص است؟

گاهی بله.

برای مثال ممکن است Server Header چنین باشد:

Server: nginx/1.x

یا:

X-Powered-By: PHP/8.x

WhatWeb نیز ممکن است Version بعضی Technologyها را شناسایی کند.

اما Version Detection همیشه دقیق نیست.

ممکن است:

  • Header تغییر کرده باشد.
  • Version مخفی شده باشد.
  • Reverse Proxy پاسخ را تغییر دهد.
  • Patch امنیتی Backport شده باشد.
  • ابزار Fingerprinting اشتباه کند.

بنابراین Version شناسایی‌شده باید تأیید شود.


آیا شناسایی Technology به معنی وجود آسیب‌پذیری است؟

خیر.

فرض کنید ابزار تشخیص دهد:

WordPress
Nginx
PHP

این اطلاعات به‌تنهایی هیچ آسیب‌پذیری را اثبات نمی‌کنند.

حتی اگر Version مشخصی تشخیص داده شود، باید بررسی شود:

  • Version واقعاً صحیح است؟
  • آخرین Security Patch نصب شده است؟
  • Vendor چه Advisory منتشر کرده است؟
  • Configuration آسیب‌پذیر است؟
  • شرایط CVE روی این سیستم وجود دارد؟

Technology Fingerprinting مرحله‌ای از Information Gathering است.

Vulnerability Assessment مرحله جداگانه‌ای است.


چرا گاهی ابزارها نتایج متفاوتی می‌دهند؟

ممکن است WhatWeb بگوید:

Nginx

اما ابزار دیگری:

Cloudflare

را نمایش دهد.

این نتایج الزاماً متناقض نیستند.

معماری واقعی ممکن است چنین باشد:

Internet
   |
   v
Cloudflare
   |
   v
Nginx
   |
   v
Application

هر ابزار ممکن است Signal متفاوتی را تشخیص دهد.

همچنین ابزارهای مختلف Databaseهای Fingerprint متفاوتی دارند.


چرا بعضی تکنولوژی‌ها قابل شناسایی نیستند؟

برخی فناوری‌های Backend مستقیماً در Browser قابل مشاهده نیستند.

برای مثال ممکن است Application با:

Python
Go
Java
.NET

نوشته شده باشد اما هیچ Header یا Pattern مشخصی برای تشخیص آن ارسال نکند.

در این حالت ابزارهای Fingerprinting ممکن است نتوانند Backend را مشخص کنند.

این محدودیت طبیعی است.


پنهان کردن Version چه فایده‌ای دارد؟

کاهش Information Disclosure می‌تواند کار مناسبی باشد.

برای مثال بهتر است بدون نیاز چنین اطلاعاتی نمایش داده نشود:

Server: Apache/2.x.x

یا:

X-Powered-By: PHP/8.x

اما پنهان کردن Version امنیت واقعی ایجاد نمی‌کند.

اگر نرم‌افزار آسیب‌پذیر باشد، همچنان باید:

  • Update
  • Patch
  • Harden

شود.

پنهان کردن Technology صرفاً یک اقدام مکمل است.


یک Workflow ساده برای شناسایی تکنولوژی یک سایت

برای بررسی سایتی که مدیریت آن را در اختیار دارید می‌توانید مراحل زیر را انجام دهید.

مرحله اول: بررسی Headerها

curl -IL https://example.com

Web Server، Redirect و Headerهای اصلی را بررسی کنید.

مرحله دوم: بررسی HTML

curl -sL https://example.com

به دنبال:

wp-content
generator
jquery
bootstrap
_next

و سایر Patternها باشید.

مرحله سوم: بررسی WhatWeb

whatweb https://example.com

Technologyهای قابل تشخیص را مشاهده کنید.

مرحله چهارم: بررسی Wappalyzer

Domain را در Wappalyzer بررسی کنید و نتیجه را با WhatWeb مقایسه کنید.

مرحله پنجم: بررسی Developer Tools

در مرورگر:

F12 → Network

Requestها، JavaScriptها، Cookieها و Headerها را بررسی کنید.

مرحله ششم: جمع‌بندی

نتایج همه روش‌ها را کنار یکدیگر قرار دهید.

برای مثال:

CDN: Cloudflare
Web Server: Nginx
CMS: WordPress
Language: PHP
Ecommerce: WooCommerce
JavaScript: jQuery
Analytics: Google Analytics

این روش معمولاً نتیجه قابل اعتماد‌تری نسبت به اتکا به یک ابزار واحد ایجاد می‌کند.


اشتباهات رایج

برخی اشتباهات متداول هنگام شناسایی تکنولوژی سایت‌ها عبارت‌اند از:

  • اعتماد کامل به یک ابزار
  • تصور اینکه Server Header همیشه Server اصلی را نشان می‌دهد
  • نادیده گرفتن CDN و Reverse Proxy
  • تشخیص آسیب‌پذیری صرفاً از روی Version
  • تصور اینکه نبود Fingerprint یعنی Technology وجود ندارد
  • استفاده از Aggressive Scan بدون نیاز
  • اسکن گسترده سیستم‌هایی که مجوز بررسی آنها را ندارید
  • اشتباه گرفتن Technology Detection با Vulnerability Assessment

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

برای شناسایی دقیق‌تر Technology Stack:

  • از چند روش مختلف استفاده کنید.
  • Headerها را بررسی کنید.
  • Source Code را مشاهده کنید.
  • Network Requestها را در Browser بررسی کنید.
  • نتیجه WhatWeb را با Wappalyzer مقایسه کنید.
  • CDN و Reverse Proxy را در تحلیل در نظر بگیرید.
  • Version Detection را قطعی فرض نکنید.
  • Fingerprinting را از Vulnerability Assessment جدا بدانید.
  • برای Assetهای سازمانی نتایج را مستندسازی کنید.

چک‌لیست

برای بررسی Technology Stack یک سایت موارد زیر را بررسی کنید:

  • HTML Source بررسی شده است.
  • Meta Generator بررسی شده است.
  • HTTP Headerها بررسی شده‌اند.
  • Cookieها بررسی شده‌اند.
  • JavaScript Libraryها بررسی شده‌اند.
  • CMS احتمالی مشخص شده است.
  • Web Server احتمالی شناسایی شده است.
  • CDN یا Reverse Proxy بررسی شده است.
  • WhatWeb اجرا شده است.
  • Wappalyzer یا ابزار مشابه بررسی شده است.
  • نتایج چند ابزار با یکدیگر مقایسه شده‌اند.
  • Versionهای شناسایی‌شده قطعی فرض نشده‌اند.

مطالعات بیشتر

برای مطالعه بیشتر درباره شناسایی تکنولوژی سایت‌ها می‌توانید منابع زیر را بررسی کنید:

  • WhatWeb – وب‌سایت رسمی
    معرفی WhatWeb و قابلیت‌های شناسایی CMS، JavaScript Library، Web Server و سایر Technologyهای وب.
    WhatWeb Official Website
  • WhatWeb – GitHub
    کد منبع، مستندات، Pluginها و نحوه استفاده از WhatWeb.
    WhatWeb GitHub Repository
  • Wappalyzer Technology Lookup
    ابزار Online برای شناسایی Technology Stack وب‌سایت‌ها.
    Wappalyzer Technology Lookup
  • Wappalyzer Technologies
    اطلاعات Technologyها و Categoryهای مختلف قابل شناسایی توسط Wappalyzer.
    Wappalyzer Technologies
  • BuiltWith Technology Lookup
    ابزار بررسی فناوری‌های مورد استفاده وب‌سایت‌ها.
    BuiltWith Technology Lookup
  • Chrome DevTools – Network Panel
    مستندات رسمی Chrome درباره مشاهده Network Requestها، Headerها و Responseهای وب‌سایت.
    Chrome DevTools Network Panel

جمع‌بندی

شناسایی تکنولوژی سایت‌ها یا Web Technology Fingerprinting فرآیندی است که با استفاده از اطلاعات عمومی قابل مشاهده از یک وب‌سایت تلاش می‌کنیم Technology Stack آن را شناسایی کنیم.

گاهی تنها با مشاهده Source Code یا HTTP Headerها می‌توان اطلاعات مهمی مانند CMS، Web Server یا JavaScript Libraryهای سایت را پیدا کرد.

دستور ساده:

curl -IL https://example.com

برای مشاهده Headerها و ابزار:

whatweb https://example.com

برای Fingerprinting خودکار سایت بسیار کاربردی هستند.

ابزارهایی مانند Wappalyzer و BuiltWith نیز می‌توانند دید کامل‌تری نسبت به CMS، Framework، Analytics، CDN و سایر فناوری‌های سایت ایجاد کنند.

اما هیچ‌کدام از این ابزارها به‌تنهایی منبع قطعی نیستند. CDN، Reverse Proxy، تغییر Headerها و مخفی کردن Fingerprintها می‌توانند نتیجه را تحت تأثیر قرار دهند.

بهترین روش این است که نتیجه چند منبع مانند Source Code، HTTP Header، Developer Tools، WhatWeb و Wappalyzer در کنار یکدیگر تحلیل شوند.

در نهایت باید توجه داشت که شناسایی یک Technology یا Version به معنی وجود آسیب‌پذیری نیست. Technology Detection مرحله‌ای از Information Gathering است و بررسی امنیت واقعی باید در فرآیند جداگانه Vulnerability Assessment انجام شود.

کیان پور

هنوز نیاز به کمک دارید؟

آیا سوالی دارید؟

آیا این مقاله برای شما مفید بود؟ بله خیر

نظرات خود را بنویسید... لغو پاسخ

اشتراک گذاری این مقاله

شناسایی تکنولوژی سایت‌ها

کپی کردن لینک

Clipboard Icon

جدیدترین مقالات

آموزش نصب و راه‌اندازی RustDesk Server با Docker
آموزش نصب و راه‌اندازی RustDesk Server با Docker
2 minutes جولای 2, 2026
آموزش نصب و راه‌اندازی Matrix Synapse + Element Web + Coturn با Docker روی ...
4 minutes جولای 2, 2026
CXS چیست و چگونه کار می‌کند
1 minute می 3, 2026
ساخت سرور چت المنت بروی لینوکس
5 minutes آوریل 25, 2026
Geo Routing و Geo DNS
2 minutes آوریل 22, 2026

تقویم

سپتامبر 2026
شیدسچپج
 1234
567891011
12131415161718
19202122232425
2627282930 
« جولای    

عضویت

جدیدترین پست‌ها

آموزش نصب و راه‌اندازی RustDesk Server با Docker
آموزش نصب و راه‌اندازی RustDesk Server با Docker
2 minutes جولای 2, 2026
آموزش نصب و راه‌اندازی Matrix Synapse + Element Web + Coturn با Docker روی Ubuntu 24.04
4 minutes جولای 2, 2026
CXS چیست و چگونه کار می‌کند
1 minute می 3, 2026
ساخت سرور چت المنت بروی لینوکس
5 minutes آوریل 25, 2026
Geo Routing و Geo DNS
2 minutes آوریل 22, 2026

سلام