WPA_CLI(8) WPA_CLI(8)

wpa_cli - کلاینت خط فرمانی WPA برای wpa_supplicant

wpa_cli [ -p مسیر سوکت‌های کنترل ] [ -g مسیر سوکت سراسری ctrl_interface ] [ -i نام رابط ] [ -hvB ] [ -a فایل اقدام ] [ -P فایل pid ] [ -G بازه پینگ ] [ دستور ... ]

دستور wpa_cli یک برنامه پیشانی (فرانت‌اند) مبتنی بر متن برای تعامل با wpa_supplicant است. این ابزار برای استعلام وضعیت فعلی، تغییر پیکربندی، راه‌اندازی رویدادها و درخواست ورودی تعاملی کاربر استفاده می‌شود.

دستور wpa_cli می‌تواند وضعیت فعلی احراز هویت، حالت امنیتی انتخاب‌شده، MIBهای dot11 و dot1x و غیره را نمایش دهد. علاوه بر این، می‌تواند برخی متغیرها مانند پارامترهای ماشین وضعیت EAPOL را پیکربندی کرده و رویدادهایی مانند اتصال مجدد (reassociation) و ورود/خروج (logoff/logon) در IEEE 802.1X را فراخوانی کند. ابزار wpa_cli یک رابط کاربری برای درخواست اطلاعات احراز هویت، مانند نام کاربری و گذرواژه در صورتی که در فایل پیکربندی گنجانده نشده باشند، فراهم می‌سازد. این قابلیت می‌تواند برای پیاده‌سازی مواردی چون گذرواژه‌های یک‌بارمصرف (OTP) یا احراز هویت مبتنی بر کارت‌های توکن عمومی (Generic Token Card) که در آن‌ها احراز هویت بر اساس چالش-پاسخ (challenge-response) با استفاده از یک دستگاه خارجی برای تولید پاسخ انجام می‌شود، به کار رود.

رابط کنترل wpa_supplicant را می‌توان طوری پیکربندی کرد که امکان دسترسی کاربران غیرریشه را فراهم کند (پارامتر ctrl_interface GROUP= در فایل پیکربندی). این قابلیت اجرای wpa_cli را با یک حساب کاربری عادی ممکن می‌سازد.

دستور wpa_cli از دو حالت تعاملی و خط فرمانی پشتیبانی می‌کند. هر دو حالت از مجموعه دستورات یکسانی بهره می‌برند و تفاوت اصلی آن‌ها در این است که حالت تعاملی امکان دسترسی به پیام‌های خودکار و بدون درخواست (پیام‌های رویداد و درخواست‌های نام کاربری/گذرواژه) را فراهم می‌آورد.

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

هنگامی که wpa_supplicant به پارامترهای احراز هویت مانند نام کاربری و گذرواژه نیاز دارد که در فایل پیکربندی موجود نیستند، یک پیام درخواست به تمامی برنامه‌های پیشانی متصل‌شده، مانند wpa_cli در حالت تعاملی، ارسال می‌کند. wpa_cli این درخواست‌ها را با پیشوند "CTRL-REQ-<type>-<id>:<text>" نمایش می‌دهد. در اینجا <type> نشان‌دهنده نوع درخواست (مانند IDENTITY ،PASSWORD یا OTP برای گذرواژه یک‌بارمصرف) است. شناسه <id> یک شناسه یکتا برای شبکه فعلی است. عبارت <text> توضیحی درباره درخواست است. در مورد درخواست OTP، این بخش شامل متن چالش ارائه‌شده از سوی سرور احراز هویت خواهد بود.

پاسخ به این درخواست‌ها می‌تواند با دستورات identity، password و otp ارائه شود. مقدار <id> باید از درخواست مربوطه کپی شود. دستورات password و otp صرف‌نظر از اینکه نوع درخواست PASSWORD یا OTP بوده است، قابل استفاده هستند. تفاوت اصلی میان این دو دستور در این است که مقادیر ارائه‌شده با password تا زمانی که wpa_supplicant در حال اجرا است به یاد سپرده می‌شوند، در حالی که مقادیر ارائه‌شده با otp تنها یک بار استفاده شده و سپس فراموش می‌شوند؛ یعنی wpa_supplicant برای هر بار استفاده، مقدار جدیدی از برنامه پیشانی درخواست خواهد کرد. این ویژگی می‌تواند برای پیاده‌سازی فهرست‌های گذرواژه یک‌بارمصرف و احراز هویت مبتنی بر کارت‌های توکن عمومی به کار رود.

نمونه درخواست برای گذرواژه و پاسخ متناظر:

CTRL-REQ-PASSWORD-1:Password needed for SSID foobar
> password 1 mysecretpassword

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

CTRL-REQ-OTP-2:Challenge 1235663 needed for SSID foobar
> otp 2 9876

تغییر مسیری که سوکت‌های کنترل باید در آن جستجو شوند.
اتصال به سوکت کنترل سراسری در مسیر مشخص‌شده، به جای سوکت کنترل ویژه یک رابط خاص.
مشخص کردن رابطی که در حال پیکربندی است. به طور پیش‌فرض، نخستین رابط یافت‌شده دارای سوکت کنترل در مسیر سوکت انتخاب می‌شود.
راهنما. نمایش پیام راهنمای نحوه استفاده.
نمایش اطلاعات نسخه.
اجرا به عنوان یک دیمن (daemon) در پس‌زمینه.
اجرا در حالت دیمن و اجرای فایل اقدام بر اساس رویدادهای دریافتی از wpa_supplicant. فایل مشخص‌شده با دو آرگومان اجرا خواهد شد: آرگومان نخست برابر با نام رابط شبکه و آرگومان دوم بسته به رویداد، برابر با "CONNECTED" یا "DISCONNECTED" خواهد بود. این قابلیت می‌تواند برای اجرای ابزارهای شبکه‌ای مورد نیاز جهت پیکربندی رابط استفاده شود.
علاوه بر این، سه متغیر محیطی در دسترس این فایل قرار دارند: WPA_CTRL_DIR، WPA_ID و WPA_ID_STR. متغیر WPA_CTRL_DIR شامل مسیر مطلق به سوکت ctrl_interface است. متغیر WPA_ID شامل شناسه یکتای network_id اختصاص‌یافته به شبکه فعال است، و متغیر WPA_ID_STR شامل محتوای گزینه id_str می‌باشد.
تنظیم محل ذخیره فایل شناسه فرایند (PID).
تنظیم بازه زمانی (به ثانیه) که طی آن wpa_cli به supplicant پینگ ارسال می‌کند.
اجرای یک دستور. دستورات در دسترس در بخش بعدی فهرست شده‌اند.

دستورات زیر در دسترس هستند:

دریافت وضعیت فعلی WPA/EAPOL/EAP
دریافت متغیرهای MIB (مانند dot1x و dot11)
نمایش این راهنمای استفاده
نمایش رابط‌ها / انتخاب رابط
تغییر سطح اشکال‌زدایی (debug level)
نمایش متن کامل مجوز wpa_cli
خروج (logoff) از ماشین وضعیت IEEE 802.1X EAPOL
ورود (logon) به ماشین وضعیت IEEE 802.1X EAPOL
تنظیم متغیرها (در صورت اجرا بدون آرگومان، فهرستی از متغیرها را نمایش می‌دهد)
نمایش حافظه موقت (کَش) PMKSA
اجبار به اتصال مجدد (reassociation)
اجبار wpa_supplicant به بازخوانی فایل پیکربندی خود
اجبار به پیش‌احراز هویت (preauthentication)
پیکربندی هویت (identity) برای یک SSID
پیکربندی گذرواژه (password) برای یک SSID
پیکربندی کد پین (pin) برای یک SSID
پیکربندی گذرواژه یک‌بارمصرف (OTP) برای یک SSID
تعیین BSSID ترجیحی برای یک SSID
فهرست کردن شبکه‌های پیکربندی‌شده
خاتمه دادن به فرایند wpa_supplicant
خروج از wpa_cli

wpa_supplicant(8)

برنامه wpa_supplicant دارای حق نشر © 2003-2022 متعلق به Jouni Malinen <j@w1.fi> و مشارکت‌کنندگان است. تمامی حقوق محفوظ است.

این برنامه تحت مجوز BSD (نسخه بدون بند تبلیغات) منتشر شده است.

07 August 2019