
برای استفاده بهینه از mitmproxy، تسلط بر فلگها و گزینههای خط فرمان آن ضروری است. این فلگها به ما امکان میدهند تا رفتار ابزار را دقیقاً مطابق با سناریوی خود تنظیم کنیم. با اینکه نسخههای جدیدتر mitmproxy از یک سیستم یکپارچه بنام Options استفاده میکنند، اما بسیاری از فلگهای کلاسیک همچنان توسط کاربران استفاده میشود. در ادامه لیستی کامل و جامع از این فلگها را به ترتیب اهمیت و کاربرد مشاهده میکنید. همچنین برای مشاهده کاملترین و بهروزترین لیست، همواره میتوانید از فلگ options-- در هر یک از ابزارها استفاده کنید.
-h, --help
راهنمای کامل خط فرمان را به همراه تمامی گزینههای موجود نمایش میدهد. همواره اولین قدم برای بررسی قابلیتهای جدید ابزار است.
--version
شماره نسخه برنامه را نمایش داده و خارج میشود.
-p PORT, --listen-port PORT
پورتی که پروکسی بر روی آن به اتصالات ورودی گوش میدهد را مشخص میکند. مقدار پیشفرض 8080 است. مثال:-p 9999.
-m MODE, --mode MODE
حالت عملکرد پروکسی را مشخص میکند که حالت پیشفرض آن regular میباشد. مقادیر قابل قبول:transparent، reverse:http://...، upstream:http://...
-s SCRIPT, --script SCRIPT
یک اسکریپت پایتون را برای پردازش خودکار ترافیک بارگذاری میکند. یکی از قدرتمندترین قابلیتهای ابزار است. مثال:-s my_addon.py
-r FILE, --read-flows FILE
یک فایل ذخیرهشده از جریانهای ترافیکی را برای تحلیل آفلاین بارگذاری میکند.
-w FILE, --write-flows FILE
تمام جریانهای ترافیکی عبوری را برای تحلیلهای بعدی در یک فایل ذخیره میکند. مثال:-w traffic.flow
-i INTERCEPT, --intercept INTERCEPT
یک عبارت فیلتر برای توقف و بازبینی تعاملی (Interception) جریانهای منطبق تعیین میکند.مثال:-i "~d example.com"
-f FILTER, --filter FILTER
یک عبارت فیلتر برای نمایش جریانها در واسط کاربری تعیین میکند.
-T, --transparent
حالت پروکسی شفاف (Transparent Proxy) را فعال میکند.
-R REVERSE, --reverse REVERSE
حالت پروکسی معکوس (Reverse Proxy) را فعال میکند. ترافیک ورودی را به سرور مشخصشده هدایت میکند. مثال:-R http://localhost:3000.
-U UPSTREAM, --upstream UPSTREAM
تمام درخواستها را به یک پروکسی بالادستی دیگر ارسال میکند. مثال:-U http://proxyserver:8080
--socks
حالت پروکسی SOCKS5 را فعال میکند.
-b ADDR, --bind-address ADDR
آدرس IP اینترفیسی که پروکسی به آن مقید میشود را مشخص میکند. پیشفرض به تمام اینترفیسها گوش میدهد.
-n, --no-server
از شروع یک سرور پروکسی جلوگیری میکند. برای مواقعی که فقط به قابلیتهای پردازش آفلاین نیاز داریم استفاده میشود.
--no-http2
پشتیبانی از HTTP/2 را به طور صریح غیرفعال میکند.
--anticache
هدرهای درخواستی که ممکن است باعث بازگشت پاسخ 304 ( Not Modified) از سمت سرور شوند را حذف میکند تا همواره محتوای تازه دریافت کنیم.
-z, --anticomp
سعی میکند سرورها را متقاعد کند که دادهها را به صورت فشردهنشده ارسال کنند.
-Z SIZE, --body-size-limit SIZE
حداکثر سایز مجاز برای بدنه درخواستها و پاسخهای HTTP را مشخص میکند. مثال:-Z 5m.
--stream SIZE
اگر بدنه پاسخ از آستانه تعیینشده بزرگتر باشد، آن را به صورت جریانی به کلاینت ارسال میکند و ذخیره نمیکند. مثال:--stream 1m
--stickycookie FILTER
یک فیلتر برای چسباندن (Sticky) کوکی تعیین میکند، که بر اساس درخواستها اعمال میشود.
--stickyauth FILTER
یک فیلتر برای چسباندن اطلاعات احراز هویت تعیین میکند.
-I HOST, --ignore HOST
میزبانهایی که باید بدون پردازش از آنها عبور کرد را مشخص میکند. مثال:-I "\.example\.com$"
--tcp HOST
یک حالت پروکسی TCP عمومی برای میزبانهای منطبق فراهم میکند.
-q, --quiet
خروجی را به حداقل میرساند و فقط خطاها را نمایش میدهد.
-v, --verbose
میزان پرحرفی خروجی را افزایش میدهد. در واقع اطلاعات بیشتری را نمایش میدهد.
-e, --eventlog
لاگ رویدادها را نمایش میدهد.
--follow
لیست جریانها را به صورت خودکار دنبال میکند.
--no-mouse
تعامل با ماوس را در واسط متنی غیرفعال میکند.
--palette PALETTE
پالت رنگی (تم) واسط متنی را انتخاب میکند. مثال:--palette solarized_dark
--palette-transparent
پسزمینه شفاف برای پالت رنگی تنظیم میکند.
--host
از هدر Host برای ساخت URL های نمایشی استفاده میکند.
--cert SPEC
یک گواهی SSL سفارشی اضافه میکند. مثال:--cert "*.example.com=/path/to/cert.pem".
--cadir CA_DIR
مسیر دایرکتوری حاوی فایلهای CA پیشفرض mitmproxy را مشخص میکند.
--insecure
بررسی اعتبار گواهیهای SSL سرورهای بالادستی را غیرفعال میکند. فقط برای محیطهای آزمایشگاهی کاربرد دارد.
-c PATH, --client-replay PATH
درخواستهای کلاینت را از یک فایل ذخیرهشده بازپخش میکند.
-S PATH, --server-replay PATH
پاسخهای سرور را از یک فایل ذخیرهشده بازپخش میکند.
-k, --replay-kill-extra
درخواستهای اضافی را در حین بازپخش متوقف میکند.
--replace PATTERN
یک الگوی جایگزینی متن (با فرمت /pattern/regex/replacement) اعمال میکند.
--setheader PATTERN
یک الگوی تنظیم هدر (با فرمت /pattern/header/value) اعمال میکند.
-a, --noapp
برنامه onboarding مبتنی بر وب را غیرفعال میکند.
--app-host HOST
دامنهای که برنامه onboarding از آن سرو میشود.
--app-port PORT
پورتی که برنامه onboarding از آن سرو میشود.
--wport PORT
پورت واسط تحت وب mitmweb را مشخص میکند.
--wiface IFACE
اینترفیس شبکه برای mitmweb را مشخص میکند.
--sysinfo
اطلاعات سیستمی را نمایش میدهد و خارج میشود.
--shortversion
شماره نسخه کوتاه برنامه را نمایش میدهد و خارج میشود.
--conf CONFIG_FILE
مسیر فایل کانفیگ را مشخص میکند.
--upstream-auth UPSTREAM_AUTH
اطلاعات احراز هویت برای پروکسی بالادستی را تعیین میکند. مثال:--upstream-auth user:pass
--spoof-source-address
از IP کلاینت برای اتصالات سمت سرور استفاده میکند.
--raw-tcp / --no-raw-tcp
پشتیبانی از raw tcp را فعال/غیرفعال میکند.
--websockets / --no-websockets
پشتیبانی از WebSocket را فعال/غیرفعال میکند.
--singleuser USER
دسترسی به پروکسی را به یک کاربر مشخص محدود میکند.مثال:--singleuser admin:pass123
--nonanonymous
اجازه دسترسی به هر کاربری که اطلاعات احراز هویت ارائه دهد را میدهد.
--htpasswd PATH
دسترسی را بر اساس یک فایل htpasswd آپاچی کنترل میکند.
--client-certs CLIENT_CERTS
مسیر فایل یا دایرکتوری گواهیهای کلاینت را مشخص میکند.
--no-upstream-cert
برای بررسی جزئیات گواهی، به سرور بالادستی متصل نمیشود.
--ciphers-client CIPHERS
رمزهای پشتیبانیشده برای اتصالات کلاینت را تنظیم میکند.
--ssl-version-client VERSION
نسخههای SSL/TLS پشتیبانیشده برای اتصالات کلاینت را تنظیم میکند.
--ssl-version-server VERSION
نسخههای SSL/TLS پشتیبانیشده برای اتصالات سرور را تنظیم میکند.
--upstream-trusted-cadir CA_DIR
مسیر دایرکتوری CAهای معتبر برای تأیید سرور بالادستی.
--upstream-trusted-ca CA_CERT
مسیر یک فایل PEM حاوی CA معتبر.
--replay-ignore-content
در حین بازپخش، محتوای درخواست را برای یافتن جریان ذخیرهشده نادیده میگیرد.
--replay-ignore-host
میزبان مقصد درخواست را برای یافتن جریان ذخیرهشده نادیده میگیرد.
--replay-ignore-param PARAM
پارامترهای خاص درخواست را برای یافتن جریان ذخیرهشده نادیده میگیرد.
--replay-ignore-payload-param PARAM
پارامترهای payload (مانند فرمها) را برای یافتن جریان ذخیرهشده نادیده میگیرد.
--rheader RHEADERS
هدرهای درخواستی که در بازپخش (Replay) سرور باید مد نظر قرار گیرند.
--norefresh
بازنویسی مقادیر زمان در کوکیها و هدرها را در بازپخش غیرفعال میکند.
--no-pop
غیرفعالسازی حذف پاسخ از جریان، که امکان بازپخش چندباره یک پاسخ را فراهم میکند.
--add-upstream-certs-to-client-chain
گواهیهای سرور بالادستی را به زنجیره گواهی ارائهشده به کلاینت اضافه میکند.
--server-replay-use-header HEADER
هدر خاصی که باید در بازپخش سرور استفاده شود را مشخص میکند.