Proxyman: چیست، راه‌اندازی و امکانات دباگ ترافیک

نویسنده: IT Sectr منتشر شده: 2026-05-08 زمان مطالعه: 8 دقیقه

Proxyman یک کلینت پروکسی طبیعی برای macOS و iOS است که برای ضبط، مشاهده و تغییر ترافیک HTTP/HTTPS در طول توسعه برنامه‌ها طراحی شده است. به گزارش سایت رسمی Proxyman (2025)، این ابزار در بیش از 10,000 شرکت مورد استفاده قرار می‌گیرد و از تمامی نسخه‌های مدرن iOS و macOS پشتیبانی می‌کند. کلینت پروکسی یک نسخه رایگان پایه ارائه می‌دهد و با رابط مدرن‌تر، پشتیبانی از اسکریپت‌های JavaScript برای تغییر داده‌ها در حال انجام و سازگاری ساخته شده با شبیه‌ساز iOS از Charles Proxy متمایز می‌شود.

نکات کلیدی

  • Proxyman یک کلینت پروکسی طبیعی برای macOS و iOS با رابط مدرن و قابلیت‌های گسترده دباگ ترافیک است
  • پروکسی HTTPS با نصب خودکار گواهی برای شبیه‌ساز iOS پیاده شده است که راه‌اندازی را در مقایسه با Charles ساده‌تر می‌کند
  • Scripting یک امکان منحصر به فرد Proxyman است که به شما اجازه می‌دهد درخواست‌ها و پاسخ‌ها را با اسکریپت‌های JavaScript بدون Breakpoints تغییر دهید
  • یکپارچگی با iOS هم شبیه‌ساز (خودکار) و هم دستگاه‌های فیزیکی را از طریق WiFi Proxy پشتیبانی می‌کند
  • نسخه رایگان شامل کارکرد پایه ضبط ترافیک بدون محدودیت زمانی است

Proxyman چیست؟

Proxyman یک کلینت پروکسی HTTP/HTTPS است که به‌طور ویژه برای اکوسیستم Apple طراحی شده است. بر خلاف راه‌حل‌های چندسیستمی، Proxyman از چارچوب‌های طبیعی macOS (Swift، AppKit) استفاده می‌کند که عملکرد بالا و یکپارچگی بدون مشکل با مکانیسم‌های پروکسی سیستم را فراهم می‌کند. این ابزار از macOS 11+ و iOS 14+ پشتیبانی می‌کند.

جایگابی در بازار

Proxyman به عنوان یک جایگزین مدرن برای Charles Proxy برای توسعه‌دهندگان اکوسیستم Apple معرفی می‌شود. مزایای اصلی: نسخه رایگان با کارکرد کامل پایه، رابط طبیعی مطابق با سیستم طراحی macOS، راه‌اندازی خودکار برای شبیه‌ساز iOS بدون فعالیت‌های اضافی. Proxyman از سال 2018 به‌طور فعال در حال توسعه است و یک سیستم بازخورد باز با جامعه توسعه‌دهندگان دارد.

سیستم‌عامل‌های مورد پشتیبانی

Proxyman بر روی macOS (برنامه طبیعی، نه Electron) کار می‌کند و یک برنامه کمکی برای iOS ارائه می‌دهد. دستگاه‌های فیزیکی (iPhone، iPad) مانند Charles از طریق WiFi Proxy راه‌اندازی می‌شوند. برنامه iOS (Proxyman iOS companion) به شما امکان می‌دهد ترافیک را مستقیماً روی دستگاه بدون کامپیوتر مشاهده کنید — این امکان برای Proxyman منحصر به فرد است.

Proxyman چگونه کار می‌کند

Proxyman بر اساس اصل معیار MITM کار می‌کند: برنامه به عنوان یک پروکسی سیستم پیکربندی می‌شود که کلیه ترافیک HTTP/HTTPS از آن عبور می‌کند. این ابزار از مکانیسم‌های طبیعی macOS Network Extension برای ضبط ترافیک بدون نیاز به راه‌اندازی دستی پروکسی برای شبیه‌ساز iOS استفاده می‌کند.

مکانیسم ضبط در macOS

در macOS، Proxyman از Apple Network Framework برای ضبط شفاف ترافیک استفاده می‌کند. پس از فعال‌سازی پروکسی، Proxyman یک رابط شبکه مجازی ایجاد می‌کند که ترافیک تمامی برنامه‌ها از آن عبور می‌کند. برای شبیه‌ساز iOS، پیکربندی به صورت خودکار در زمان راه‌اندازی انجام می‌شود — Proxyman شبیه‌سازهای در حال اجرا را از طریق Xcode تشخیص می‌دهد و ترافیک آن‌ها را بدون تنظیم دستی پروکسی هدایت می‌کند.

پردازش ترافیک HTTPS

برای رمزگشایی HTTPS، Proxyman یک گواهی ریشه محلی در زنجیره کلید macOS نصب می‌کند. در اولین بار اجرا، برنامه نصب گواهی و اعتماد به آن را پیشنهاد می‌دهد. کلیه گواهی‌ها برای دامنه‌های مشخص در حال اجرا تولید و با گواهی ریشه Proxyman امضا می‌شوند. برای شبیه‌ساز iOS، گواهی به صورت خودکار در زمان راه‌اندازی پروکسی نصب می‌شود.

js
// نمونه اسکریپت Proxyman برای تغییر پاسخ
// Scripting: وضعیت پاسخ را برای آزمایش خطاها به 500 تغییر می‌دهیم
function onResponse(request, response) {
    if (request.url.includes("/api/users")) {
        response.statusCode = 500;
        response.body = JSON.stringify({
            error: "Internal Server Error",
            code: "SERVER_TIMEOUT"
        });
    }
    return response;
}

امکانات اصلی Proxyman

Proxyman یک مجموعه منحصربه‌فرد از قابلیت‌ها را ارائه می‌دهد که آن را از سایر ابزارهای پروکسی متمایز می‌کند. تاکید ویژه بر تغییر ترافیک اسکریپتی و عملکرد طبیعی شده است.

Scripting — تغییر از طریق JavaScript

ویژگی اصلی Proxyman — پشتیبانی از اسکریپت‌های JavaScript برای تغییر درخواست‌ها و پاسخ‌ها. به جای ویرایش دستی هر درخواست از طریق Breakpoints (مانند Charles)، توسعه‌دهنده می‌تواند یک اسکریپت بنویسد که به طور خودکار برای URL‌های مشخص اعمال شود. اسکریپت‌ها دسترسی کامل به سرتیترها، بدنه درخواست و پاسخ، کد وضعیت و ابعاد دارند. این امکان به شما اجازه می‌دهد عملیات روتین را خودکار کنید: جایگزینی توکن اجازه، تغییر سرتیترها، شبیه‌سازی خطا برای آزمایش.

فیلتراسیون و سازماندهی ترافیک

Proxyman یک سیستم فیلتر انعطاف‌پذیر مبنی بر قوانین ارائه می‌دهد. می‌توانید پروفایل‌هایی ایجاد کنید که به طور خودکار ترافیک را بر اساس دامنه‌ها، انواع محتوا یا کدهای وضعیت گروه‌بندی می‌کنند. به عنوان مثال، کلیه درخواست‌ها به API برنامه شما به طور خودکار در یک گروه جداگانه قرار می‌گیرند و محتوای استاتیک (CSS، JS، تصاویر) در گروهی دیگر. این مورد به‌ویژه در دباگ که نیاز است فقط روی اندپوینت‌های مشخص تمرکز کنید مفید است.

امکانProxymanCharles Proxyیادداشت
ScriptingJavaScriptنداردتغییر خودکار بدون Breakpoints
iOS Simulatorخودکارتنظیم دستیProxyman شبیه‌ساز را از طریق Xcode تشخیص می‌دهد
نسخه رایگانبله30 روز آزمایشیProxyman بدون محدودیت زمانی
پلتفرمmacOS، iOSWindows، macOS، LinuxCharles چندسیستمی، Proxyman فقط Apple
HAR Exportبلهبلههر دو از فرمت استاندارد پشتیبانی می‌کنند

تصویرسازی زمان‌لینه زمانی

Proxyman زمان‌لینه درخواست‌ها را به سبک نمودار زمانی نمایش می‌دهد، جایی که هر درخواست با یک نوار رنگی با اطلاعات مدت زمان، وضعیت و اندازه نمایش داده می‌شود. زمان‌لینه تعاملی است: می‌توانید یک محدوده زمانی را انتخاب کرده و فقط درخواست‌های آن دوره را مشاهده کنید. برای هر درخواست، تقسیم‌بندی فازی موجود است: DNS، Connect، TLS Handshake، Request، Response.

Proxyman iOS Companion

یک امکان منحصر به فرد Proxyman — یک برنامه جداگانه برای iOS که می‌توان آن را روی iPhone یا iPad نصب کرد. این برنامه به شما امکان می‌دهد ترافیک شبکه را مستقیماً روی دستگاه بدون اتصال به کامپیوتر مشاهده کنید. ترافیک در زمان واقعی با قابلیت فیلتراسیون و جستجو نمایش داده می‌شود. این برنامه به‌ویژه در آزمایش‌های میدانی که دسترسی به کامپیوتر وجود ندارد مفید است.

راه‌اندازی Proxyman برای دستگاه‌های موبایل

Proxyman روش‌های مختلف راه‌اندازی برای iOS و Android ارائه می‌دهد. به دلیل یکپارچگی طبیعی با Xcode، راه‌اندازی برای شبیه‌ساز iOS تقریباً خودکار انجام می‌شود. برای دستگاه‌های فیزیکی و Android پیکربندی دستی مورد نیاز است.

راه‌اندازی برای iOS Simulator

سناریو ساده‌ترین: Proxyman را اجرا کنید، زبانه iOS Simulator را باز کنید و روی Start کلیک کنید. Proxyman به طور خودکار شبیه‌سازهای در حال اجرا را از طریق Xcode تشخیص می‌دهد و پروکسی را تنظیم می‌کند. گواهی HTTPS نیز به طور خودکار نصب می‌شود. هیچ فعالیت اضافی مورد نیاز نیست — ترافیک شبیه‌ساز فوراً در پنجره Proxyman نمایش داده می‌شود. این یک مزیت قابل توجه نسبت به Charles است که راه‌اندازی شبیه‌ساز نیازمند تنظیم دستی پروکسی است.

راه‌اندازی برای دستگاه فیزیکی iOS

برای iPhone یا iPad: دستگاه را به همان شبکه WiFi کامپیوتر متصل کنید. در تنظیمات WiFi دستگاه، HTTP Proxy را مشخص کنید: IP کامپیوتر و پورت 9090 (پورت پیش‌فرض Proxyman). سپس Safari را باز کرده و برای نصب گواهی به http://proxy.man/ssl بروید. در iOS 10.3+، اعتماد به گواهی را در Settings → General → About → Certificate Trust Settings فعال کنید.

راه‌اندازی برای Android

دستگاه‌های Android مانند iOS پیکربندی می‌شوند: WiFi Proxy با IP کامپیوتر و پورت 9090. برای HTTPS نصب گواهی از طریق مرورگر در http://proxy.man/ssl مورد نیاز است. در Android 7+، برای ساخت debug برنامه، فایل network_security_config.xml با اعتماد به گواهی‌های کاربر مورد نیاز خواهد بود. برای شبیه‌ساز Android، به جای IP کامپیوتر از IP میزبان (معمولاً 10.0.2.2) استفاده کنید.

xml
<!-- network_security_config.xml برای Android با Proxyman -->
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <debug-overrides>
        <trust-anchors>
            <certificates src="user" />
            <certificates src="system" />
        </trust-anchors>
    </debug-overrides>
    <base-config cleartextTrafficPermitted="false">
        <trust-anchors>
            <certificates src="system" />
        </trust-anchors>
    </base-config>
</network-security-config>

Proxyman در مقابل Charles Proxy: مقایسه

انتخاب بین Proxyman و Charles Proxy به نیازهای مشخص تیم و پلتفرم توسعه بستگی دارد. بیایید تفاوت‌های کلیدی را بررسی کنیم تا به توسعه‌دهنده در گرفتن تصمیمی آگاهانه کمک کنیم.

عملکرد و طبیعی بودن

Proxyman با Swift و AppKit نوشته شده است که عملکرد طبیعی macOS و مصرف حافظه حداقل را تامین می‌کند. Charles با Java (Eclipse RCP) نوشته شده است که چندسیستمی را فراهم می‌کند اما می‌تواند منجر به مصرف حافظه کمی بیشتر و رابط غیرطبیعی در macOS شود. برای توسعه‌دهندگان اکوسیستم Apple، Proxyman معمولاً کنش‌گراتر احساس می‌شود.

تفاوت‌های کارکردی

Charles یک مجموعه بالغتر و گسترده‌تر از ابزارها ارائه می‌دهد: Rewrite Rules با ویرایشگر دیداری، Repeat برای تکرار درخواست‌ها، Map Local/Remote، Auto Save جلسات. Proxyman با امکانات مدرن‌تری پاسخ می‌دهد: Scripting در JavaScript، راه‌اندازی خودکار شبیه‌ساز، iOS-companion برای مشاهده ترافیک روی دستگاه. Charles در سناریوهای پیچیده اتوماسیون (Rewrite، Repeat) مزیت دارد، در حالی که Proxyman در تغییر سریع و انعطاف‌پذیر از طریق اسکریپت‌ها برتر است.

هزینه و مجوز

Proxyman یک نسخه رایگان با کارکرد پایه بدون محدودیت زمانی ارائه می‌دهد. نسخه Pro (اشتراک ~$12/سال یا خرید یکباره ~$59) امکانات پیشرفته را باز می‌کند: scripting، فیلترها، خروجی. Charles — $50 برای مجوز با آزمایش 30 روزه. برای توسعه‌دهندگان مستقل، Proxyman مقرون‌تر است؛ برای محیط‌های شرکتی، تفاوت ناچیز است.

سوالات متداول

آیا Proxyman رایگان است؟

Proxyman یک نسخه رایگان با کارکرد پایه برای ضبط ترافیک HTTP/HTTPS بدون محدودیت زمانی دارد. اشتراک‌های پرداختی (Pro و Team) scripting، فیلترهای پیشرفته، خروجی به HAR و پشتیبانی اولویت را اضافه می‌کنند. برای اکثر وظایف دباگ، نسخه رایگان کافی است.

آیا Proxyman از Android پشتیبانی می‌کند؟

Proxyman — یک برنامه طبیعی macOS است، اما می‌تواند ترافیک از دستگاه‌های Android را از طریق WiFi Proxy مانند Charles ضبط کند. دستگاه‌های Android به عنوان HTTP-پروکسی با IP کامپیوتر و پورت Proxyman پیکربندی می‌شوند. برای شبیه‌ساز Android، از IP 10.0.2.2 استفاده می‌شود. گواهی HTTPS به صورت جداگانه نصب می‌شود.

چگونه در Proxyman پاسخ سرور را تغییر دهیم؟

دو روش وجود دارد: Local Edit — کلیک دوبل روی درخواست، انتخاب زبانه Response، ویرایش دستی، سپس دکمه Execute برای ارسال پاسخ تغییریافته به برنامه. Scripting — نوشتن یک اسکریپت JavaScript که به طور خودکار تغییرات را به URL‌های مشخص در هر درخواست اعمال می‌کند.

آیا می‌توان داده‌ها را از Proxyman خروجی گرفت؟

بله، Proxyman خروجی به فرمت‌های زیر را پشتیبانی می‌کند: HAR (HTTP Archive)، Proxyman Session (.pxm)، Curl Command (برای هر درخواست)، Plain Text. خروجی از طریق منوی راست‌کلیک روی درخواست یا گروه درخواست‌ها در دسترس است. فرمت HAR با Charles Proxy، Chrome DevTools و نمایشگرهای آنلاین سازگار است.

Proxyman چگونه با iOS Simulator کار می‌کند؟

Proxyman شبیه‌سازهای iOS در حال اجرا را از طریق Xcode به طور خودکار تشخیص می‌دهد و ترافیک آن‌ها را بدون تنظیم دستی هدایت می‌کند. در زمان راه‌اندازی پروکسی، Proxyman یک پروکسی سیستمی را از طریق Network Extension در macOS اعمال می‌کند که به طور خودکار برای همه شبیه‌سازها اعمال می‌شود. گواهی HTTPS نیز به طور خودکار نصب می‌شود.

نتیجه‌گیری

  • Proxyman یک کلینت پروکسی طبیعی برای macOS و iOS با رابط مدرن Swift است که به عنوان یک جایگزین برای Charles Proxy در اکوسیستم Apple طراحی شده است
  • Scripting در JavaScript یک امکان منحصر به فرد است که به شما اجازه می‌دهد درخواست‌ها و پاسخ‌ها را بدون Breakpoints تغییر دهید، که آزمایش موارد حدودی را سریع‌تر می‌کند
  • راه‌اندازی خودکار برای شبیه‌ساز iOS از طریق Xcode بدون تنظیم دستی پروکسی — مزیت کلیدی نسبت به Charles
  • iOS Companion یک برنامه جداگانه برای مشاهده ترافیک مستقیماً روی iPhone یا iPad بدون اتصال به کامپیوتر است
  • عملکرد به دلیل چارچوب‌های طبیعی Swift/AppKit — مصرف حافظه کمتر در مقایسه با راه‌حل‌های Java
  • نسخه رایگان با کارکرد کامل پایه بدون محدودیت زمانی برای اکثر وظایف دباگ مناسب است
  • برای توسعه چندسیستمی (Windows + macOS + Linux) Charles Proxy را انتخاب کنید، برای اکوسیستم محض Apple، Proxyman تجربه کاربری بهتری ارائه می‌دهد

ما یک اپلیکیشن موبایل به صورت کلید در دست توسعه خواهیم داد

IT Sectr از سال 2017 برنامه‌های iOS و Android را برای استارتاپ‌ها و کسب‌وکارها ایجاد می‌کند. ما به شما مشاوره می‌دهیم و بهترین راه‌حل را پیشنهاد خواهیم کرد.

بحث درباره پروژه

همچنین بخوانید