NUT-SCANNER(8) NUT Manual NUT-SCANNER(8)

nut-scanner - ابزاری برای پویش گذرگاه‌های ارتباطی جهت یافتن دستگاه‌های NUT

nut-scanner -h

nut-scanner [گزینه‌ها]

دستور nut-scanner گذرگاه‌های ارتباطی موجود را پویش می‌کند و هر دستگاه سازگار با NUT را که پیدا کند نمایش می‌دهد.

همچنین nut-scanner می‌تواند دستگاه‌های شناسایی‌شده را در قالب‌های گوناگون از جمله ups.conf نمایش دهد و تضمین می‌کند که نام‌های ایجادشده برای دستگاه‌ها در میان گذرگاه‌های مختلف یکتا باشند.

ابزار nut-scanner تنها زمانی ساخته می‌شود که libltdl (بخشی از مجموعه توسعه libtool) در دسترس باشد.

گزینه‌های پویش در دسترس (USB، SNMP، IPMI، UPower و ...) بر اساس وابستگی‌های موجود در زمان کامپایل و زمان اجرا متغیر خواهند بود. برای نمونه، اگر Net-SNMP نصب باشد و در نتیجه کتابخانه‌های libsnmp (فایل‌های *.so یا *.dll) و فایل‌های هدر را در حین کامپایل و دست‌کم فایل‌های کتابخانه را روی سیستم نظارتی فراهم کند، امکان کشف از طریق SNMP فعال خواهد بود. به همین ترتیب، کشف UPower نیازمند کتابخانه‌های GDBus/libgio است.

-h

نمایش متن راهنما.

-Q | --disp_nut_conf_with_sanity_check

نمایش نتیجه در قالب ups.conf همراه با هشدارهای بررسی صحت به صورت یادداشت (پیش‌فرض).

-N | --disp_nut_conf

نمایش نتیجه در قالب ups.conf.

-P | --disp_parsable

نمایش نتیجه در قالبی قابل پردازش و تجزیه.

-C | --complete_scan

پویش تمام گذرگاه‌های ارتباطی در دسترس (رفتار پیش‌فرض).

-U | --usb_scan

فهرست کردن تمام دستگاه‌های USB سازگار با NUT که در حال حاضر متصل هستند.

این گزینه را می‌توان چندین بار مشخص کرد تا جزئیات خاص پیوند سخت‌افزاری بیشتری ارائه شود؛ این موضوع می‌تواند در صورت تغییر شمارش دستگاه‌های USB در طول زمان نتیجه معکوس داشته باشد:

تعداد گزینه مفهوم کاربردی
-U عدم گزارش جزئیات `bus`/`device`/`busport`
-UU گزارش `bus` و `busport` در صورت وجود
-UUU گزارش جزئیات `bus`/`device`/`busport`
-UUUU گزارش جزئیات `bus`/`device`/`busport` و `bcdDevice` (کاربرد و مزیت محدود)

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

-S | --snmp_scan

پویش دستگاه‌های SNMP. دست‌کم به یک start IP و در صورت تمایل، یک end IP نیاز دارد. برای تنظیمات جامعه و امنیت، بخش گزینه‌های خاص SNMP را ببینید.

-M | --xml_scan

پویش دستگاه‌های XML/HTTP. می‌تواند پیامی را روی رابط(های) شبکه جاری همه‌پخشی (broadcast) کند تا دستگاه‌های دارای قابلیت XML/HTTP دریافت شوند. در این حالت به نشانی IP نیازی نیست. اگر محدوده‌های نشانی IP مشخص شوند، به جای همه‌پخشی، آن‌ها پویش خواهند شد.

-O | --oldnut_scan

پویش دستگاه‌های NUT (یعنی دیمن upsd) روی IPهای بازه start IP تا end IP.

-n | --nut_simulation_scan

پویش دستگاه‌های شبیه‌سازی‌شده NUT (فایل‌های dev. در مسیر پیش‌فرض "sysconfig").

هشدار
نادیده‌گیری از طریق متغیر محیطی NUT_CONFPATH در حال حاضر پشتیبانی نمی‌شود.

-A | --avahi_scan

پویش سرورهای NUT با استفاده از درخواست Avahi روی رابط(های) شبکه جاری. هیچ گزینه نشانی IP نیاز نبوده و استفاده نمی‌شود.

-I | --ipmi_scan

پویش منابع تغذیه سازگار با NUT موجود از طریق IPMI روی میزبان جاری، یا از طریق شبکه در صورتی که محدوده‌های نشانی IP مشخص شده باشند.

-J | --upower_scan

پویش دستگاه‌های UPower. نیازمند در دسترس بودن کتابخانه‌های GDBus/libgio است.

-E | --eaton_serial serial ports

پویش دستگاه‌های Eaton (پروتکل‌های XCP و SHUT) موجود از طریق گذرگاه سریال روی میزبان جاری. این گزینه باید به صورت صریح درخواست شود، حتی برای یک پویش کامل. serial ports را می‌توان به شکل‌های مختلف بیان کرد:
•auto برای پویش تمام درگاه‌های سریال.
•یک نویسه تکی نشان‌دهنده شماره درگاه (0 (صفر) برای /dev/ttyS0 و /dev/ttyUSB0 در لینوکس، 1 برای COM1 در ویندوز، a برای /dev/ttya در سولاریس و ...).
•محدوده‌ای از N نویسه، جداشده با خط تیره، که محدوده درگاه‌ها را با دستور زبان X-Y توصیف می‌کند، که در آن X و Y نویسه‌های اشاره‌کننده به شماره درگاه هستند.
•نام یک درگاه تکی.
•فهرستی از نام درگاه‌ها، جداشده با کاما، مانند /dev/ttyS1,/dev/ttyS4.


نکته

گذرگاه‌های شبکه‌ای (مانند SNMP، NetXML، IPMI و "Old NUT") امکان مشخص کردن چندین محدوده نشانی IP (شامل IPv4 یا IPv6)، تا نشانی‌های IP منفرد را می‌دهند.

معمولاً یک محدوده جدید با مجموعه‌ای از گزینه‌های -s و -e که به دنبال یکدیگر می‌آیند (به هر ترتیبی در خط فرمان) مشخص می‌شود.

گزینه‌های -s یا -e تنها یا متوالی در خط فرمان به پرس‌وجوهای تک‌IP ترجمه می‌شوند.

همچنین، قرار گرفتن یک گزینه -m بین دو گزینه -s و -e به منزله یک محدوده جدید خواهد بود و آن دو را به پرس‌وجوهای تک‌IP تبدیل می‌کند. این ویژگی به خودی خود نشانی‌های «همسایه» را در یک محدوده ترکیب نمی‌کند و حتی مشخصات تکراری یا هم‌پوشان را بررسی نمی‌نماید.

یک محدوده تک‌نشانی می‌تواند نام میزبان باشد که توسط تحلیل‌گر سیستم به یک نشانی IP ترجمه می‌شود. یک CIDR با استفاده از نام میزبان و طول ماسک شبکه به یک نشانی IP ترجمه شده و ماسک روی آن اعمال می‌گردد تا میزبان‌های «نزدیک» به میزبان نام‌برده پرس‌وجو شوند.

همچنین توجه داشته باشید که برخی گذرگاه‌ها برای پویش به نشانی(های) IP نیاز دارند، و برخی دیگر زمانی که دقیقاً هیچ نشانی مشخص نشده باشد رفتار متفاوتی دارند (در حال حاضر امکان ترکیب این دو رفتار در یک بار فراخوانی ابزار nut-scanner وجود ندارد).

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


نکته

نشانی‌های IPv6 جداشده با دونقطه باید در کروشه قرار گیرند.

-t | --timeout timeout

تنظیم مهلت زمانی شبکه بر حسب ثانیه. مهلت زمانی پیش‌فرض ۵ ثانیه است.

-s | --start_ip start IP

تنظیم نخستین IP (IPv4 یا IPv6) زمانی که محدوده‌ای از IP الزامی است (SNMP، old_nut) یا اختیاری است (XML/HTTP).

-e | --end_ip end IP

تنظیم آخرین IP (IPv4 یا IPv6) زمانی که محدوده‌ای از IP الزامی است (SNMP، old_nut) یا اختیاری است (XML/HTTP). اگر این پارامتر حذف شود، تنها start IP پویش می‌شود. اگر end IP کوچک‌تر از start IP باشد، هر دو پارامتر در داخل جابه‌جا می‌شوند.

-m | --mask_cidr IP address/mask

تنظیم محدوده‌ای از نشانی‌های IP با استفاده از نمادگذاری CIDR.

یک قالب ویژه -m auto به nut-scanner امکان می‌دهد نشانی(های) IP محلی را شناسایی کرده و زیرشبکه(های) متناظر را در پلتفرم‌های پشتیبانی‌شده پویش کند، و -m auto4 یا -m auto6 نشانی‌های انتخابی را به ترتیب به IPv4 و IPv6 محدود می‌کند. تنها نخستین درخواست "auto*" اعمال می‌شود و سایرین با یک هشدار نادیده گرفته خواهند شد.

پسوند /ADDRLEN را می‌توان به گزینه اضافه کرد تا زیرشبکه‌های کشف‌شده با بیت‌های بیش از حد در دسترس برای بخش نشانی میزبان را فیلتر کند (تا در موارد شدید از میلیون‌ها پویش جلوگیری شود). برای نمونه، اگر محدوده شبکه IPv4 در LAN شما 10.2.3.0/24 باشد، بخش نشانی آن (32-24)=8 است. توجه داشته باشید در حالی که این مورد برای شبکه‌های IPv6 نیز اعمال می‌شود، زیرشبکه‌های معمول /64 آن‌ها بعید است سرور NUT/SNMP/NetXML/... را در آن نزدیکی (از نظر آدرس‌دهی) داشته باشند که یک فیلتر دقیق بتواند آن‌ها را پیدا کند. مقدار پیش‌فرض 8 است.

-p | --port port number

تنظیم شماره درگاه دستگاه‌های NUT پویش‌شده (پیش‌فرض 3493).

-c | --community community

تنظیم نام جامعه SNMP v1 (پیش‌فرض = public).

-l | --secLevel security level

تنظیم security level مورد استفاده برای پیام‌های SNMPv3. مقادیر مجاز عبارتند از: noAuthNoPriv، authNoPriv و authPriv. در صورت استفاده از احراز هویت غیربدیهی، این پارامتر الزامی است.

-u | --secName security name

تنظیم security name مورد استفاده برای پیام‌های احراز هویت‌شده SNMPv3. در صورت تنظیم security level این پارامتر الزامی است.

-w | --authProtocol authentication protocol

تنظیم authentication protocol مورد استفاده برای پیام‌های احراز هویت‌شده SNMPv3. مقادیر مجاز عبارتند از MD5، SHA، SHA256، SHA384 یا SHA512 (بسته به قابلیت‌های کتابخانه Net-SNMP؛ راهنمای برنامه اجرایی nut-scanner را برای فهرست موارد پشتیبانی‌شده در زمان اجرا بررسی کنید). مقدار پیش‌فرض MD5 است.

-W | --authPassword authentication pass phrase

تنظیم authentication pass phrase مورد استفاده برای پیام‌های احراز هویت‌شده SNMPv3. در صورت تنظیم security level روی authNoPriv یا authPriv، این پارامتر الزامی است.

-x | --privProtocol privacy protocol

تنظیم privacy protocol مورد استفاده برای پیام‌های رمزنگاری‌شده SNMPv3. مقادیر مجاز عبارتند از DES، AES، AES192 یا AES256 (بسته به قابلیت‌های کتابخانه Net-SNMP؛ راهنمای برنامه اجرایی nut-scanner را برای فهرست موارد پشتیبانی‌شده در زمان اجرا بررسی کنید). مقدار پیش‌فرض DES است.

-X | --privPassword privacy pass phrase

تنظیم privacy pass phrase مورد استفاده برای پیام‌های رمزنگاری‌شده SNMPv3. در صورت تنظیم security level روی authPriv، این پارامتر الزامی است.

-b | --username username

تنظیم نام کاربری مورد استفاده برای احراز هویت اتصالات IPMI بر بستر LAN (برای IPMI بر بستر LAN الزامی است. بدون پیش‌فرض).

-B | --password password

مشخص کردن گذرواژه مورد استفاده هنگام احراز هویت با میزبان راه دور (برای IPMI بر بستر LAN الزامی است. بدون پیش‌فرض).

-d | --authType authentication type

مشخص کردن نوع احراز هویت IPMI 1.5 مورد استفاده (شامل NONE، STRAIGHT_PASSWORD_KEY، MD2 و MD5) با میزبان راه دور (پیش‌فرض=MD5). این گزینه اتصال را از طریق رابط IPMI با عنوان lan اجباری می‌کند، و در نتیجه در حالت IPMI 1.5 عمل می‌نماید.

-L | --cipher_suite_id cipher suite identifier

مشخص کردن شناسه مجموعه رمزنگاری (cipher suite) در IPMI 2.0 برای استفاده. شناسه Cipher Suite مجموعه‌ای از الگوریتم‌های احراز هویت، یکپارچگی و محرمانگی را جهت ارتباطات IPMI 2.0 تعیین می‌کند.

الگوریتم احراز هویت الگوریتم مورد استفاده برای برپایی نشست را مشخص می‌کند، الگوریتم یکپارچگی الگوریتم مورد استفاده برای امضای بسته‌های نشست را تعیین می‌نماید، و الگوریتم محرمانگی الگوریتم مورد استفاده برای رمزنگاری داده‌های ارسالی (payload) را مشخص می‌کند (پیش‌فرض=3).

شناسه‌های مجموعه رمزنگاری زیر در حال حاضر پشتیبانی می‌شوند (احراز هویت؛ یکپارچگی؛ محرمانگی):

•0: None; None; None
•1: HMAC-SHA1; None; None
•2: HMAC-SHA1; HMAC-SHA1-96; None
•3: HMAC-SHA1; HMAC-SHA1-96; AES-CBC-128
•6: HMAC-MD5; None; None
•7: HMAC-MD5; HMAC-MD5-128; None
•8: HMAC-MD5; HMAC-MD5-128; AES-CBC-128
•11: HMAC-MD5; MD5-128; None
•12: HMAC-MD5; MD5-128; AES-CBC-128
•15: HMAC-SHA256; None; None
•16: HMAC-SHA256; HMAC_SHA256_128; None
•17: HMAC-SHA256; HMAC_SHA256_128; AES-CBC-128

-V | --version

نمایش نسخه NUT.

-a | --available

نمایش گذرگاه‌های موجود که بر اساس نحوه کامپایل برنامه اجرایی nut-scanner قابل پویش هستند (مانند OLDNUT، USB، SNMP، XML، AVAHI، IPMI).

-q | --quiet

تنها نمایش نتیجه پویش. هیچ اطلاعاتی درباره گذرگاه در حال پویش نمایش داده نمی‌شود.

-D | --nut_debug_level

افزایش سطح اشکال‌زدایی. این گزینه را می‌توان چندین بار برای مشاهده جزئیات بیشتر به کار برد.

نکته

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

تنها برای پویش دستگاه‌های USB:

:; nut-scanner -U
[nutdev-usb1]
        driver = "snmp-ups"
        port = "192.168.0.42"

برای پویش دستگاه SNMP v1 با جامعه public (پیش‌فرض) در محدوده نشانی 192.168.0.0 تا 192.168.0.255:

:; nut-scanner -S -s 192.168.0.0 -e 192.168.0.255
[nutdev-snmp1]
        driver = "snmp-ups"
        port = "192.168.0.42"

همان با استفاده از نمادگذاری CIDR:

:; nut-scanner -S -m 192.168.0.0/24
[nutdev-snmp1]
        driver = "snmp-ups"
        port = "192.168.0.42"

برای پویش سرورهای NUT با مهلت زمانی 10 ثانیه در محدوده IP 192.168.0.0 تا 192.168.0.127 با استفاده از نمادگذاری CIDR:

:; nut-scanner -O -t 10 -m 192.168.0.0/25
[nutdev-nut1]
        driver = "dummy-ups"
        port = "dummy-test@192.168.1.28"

برای پویش منابع تغذیه از طریق IPMI (حالت 1.5) بر بستر شبکه در محدوده نشانی 192.168.0.0 تا 192.168.0.255 با استفاده از نمادگذاری CIDR:

:; nut-scanner -I -m 192.168.0.0/24 -b username -B password

برای پویش دستگاه‌های سریال Eaton روی درگاه‌های 0 و 1 (/dev/ttyS0، /dev/ttyUSB0، /dev/ttyS1 و /dev/ttyUSB1 در لینوکس):

:; nut-scanner --eaton_serial 0-1

برای پویش دستگاه‌های سریال Eaton روی درگاه‌های 1 و 2 (COM1 و COM2 در ویندوز):

:; nut-scanner --eaton_serial 1-2

برای پویش دستگاه‌های UPower:

:; nut-scanner -J
[nutdev-upower1]
        driver = "upower"
        port = "/org/freedesktop/UPower/devices/ups_hiddev0"
        vendor = "APC"
        product = "Back-UPS ES 700G"
        serial = "5B1234567890"
        bus = "upower"

ups.conf(5)

صفحه اصلی NUT (Network UPS Tools): https://www.networkupstools.org/historic/v2.8.5

06/21/2026 Network UPS Tools 2.8.5