| SNMPCMD(1) | Net-SNMP | SNMPCMD(1) |
نام (NAME)
snmpcmd - گزینهها و رفتار مشترک بیشتر ابزارهای خط فرمان Net-SNMP
خلاصه دستور (SYNOPSIS)
snmpcmd [OPTIONS] AGENT [PARAMETERS]
توضیحات (DESCRIPTION)
این صفحه راهنما گزینههای مشترک دستورهای SNMP را شرح میدهد: snmpbulkget, snmpbulkwalk, snmpdelta, snmpget, snmpgetnext, snmpnetstat, snmpset, snmpstatus, snmptable, snmptest, snmptrap, snmpdf, snmpusm , snmpwalk . برنامههای کاربردی خط فرمان از پروتکل SNMP برای برقراری ارتباط با یک موجودیت شبکه دارای قابلیت SNMP، یعنی یک agent، استفاده میکنند. هر برنامه معمولاً (اما نه لزوماً) پارامترهای اضافهای دریافت میکند که پس از مشخصه agent داده میشوند. این پارامترها در صفحات راهنمای مربوط به هر برنامه مستند شدهاند.
گزینههای پیکربندی خط فرمان (COMMAND-LINE CONFIG OPTIONS)
علاوه بر گزینههای شرح دادهشده در این صفحه راهنما، تمامی توکنهای توضیح دادهشده در snmp.conf و سایر صفحات راهنمای .conf را میتوان در خط فرمان برنامههای Net-SNMP نیز با افزودن پیشوند «--» به آنها استفاده کرد. برای مثال، تعیین --dontLoadHostConfig=true در خط فرمان، بارگذاری فایلهای پیکربندی مخصوص میزبان را غیرفعال میکند.
تنظیمات فایل snmp.conf و آرگومانهای با دو خط تیره (double-dash)، بر آرگومانهای با یک خط تیره (single-dash) اولویت دارند و آنها را بازنویسی میکنند. بنابراین مهم است توجه داشته باشید که اگر آرگومانهای با یک خط تیره کار نمیکنند به این دلیل که تنظیماتی در فایل snmp.conf دارید که با آنها تداخل دارند، آنگاه برای بازنویسی موفقیتآمیز تنظیمات فایل snmp.conf باید از شکل طولانیترِ آرگومانهای با دو خط تیره استفاده کنید.
گزینههای عمومی (GENERIC OPTIONS)
این گزینهها چگونگی رفتار دستورهای Net-SNMP را بدون در نظر گرفتن نسخه SNMP مورد استفاده، کنترل میکنند. برای گزینههایی که نسخههای خاص یا زیرماژولهای پروتکل SNMP را کنترل میکنند، ادامه متن در زیر را ببینید.
- -d
- بستههای خام SNMP ارسالی و دریافتی را (در قالب هگزادسیمال) روگرفت (dump) میکند.
- -D[TOKEN[,...]]
- خروجی اشکالزدایی را برای TOKEN(ها) دادهشده فعال میکند. برای خروجی بسیار مفصل، ALL را امتحان کنید.
- -h, --help
- پیام کوتاهی درباره نحوه استفاده را نمایش داده و خارج میشود.
- -H
- فهرستی از دستورالعملهای فایل پیکربندی که برای این دستور قابل فهم است را نمایش داده و خارج میشود.
- -I [brRhu]
- گزینههای تجزیه ورودی را مشخص میکند. INPUT OPTIONS در زیر را ببینید.
- -L [eEfFoOsS]
- گزینههای ثبت وقایع (logging) خروجی را مشخص میکند. LOGGING OPTIONS در زیر را ببینید.
- -m MIBLIST
- فهرستی جداشده با دونقطه از ماژولهای MIB (نه فایلها) را برای بارگذاری در این برنامه مشخص میکند. این گزینه، متغیر محیطی MIBS، دستورالعمل mibs در snmp.conf و فهرست MIBهای تعبیهشده در کتابخانه Net-SNMP را بازنویسی (یا به آن اضافه) میکند.
- اگر MIBLIST دارای نویسه ابتدایی «-» یا «+» باشد، ماژولهای MIB فهرستشده علاوه بر فهرست پیشفرض، به ترتیب قبل یا بعد از این فهرست بارگذاری میشوند. در غیر این صورت، MIBهای مشخصشده بهجای این فهرست پیشفرض بارگذاری خواهند شد.
- کلیدواژه ویژه ALL برای بارگذاری تمام ماژولهای MIB در فهرست جستجوی دایرکتوری MIB استفاده میشود. هر فایلی که نامش با «.» آغاز نشود، طوری تجزیه خواهد شد که گویی یک فایل MIB است.
- -M DIRLIST
- فهرستی جداشده با دونقطه از دایرکتوریها را برای جستجوی MIBها مشخص میکند. این گزینه، متغیر محیطی MIBDIRS، دستورالعمل mibdirs در snmp.conf و دایرکتوری پیشفرض تعبیهشده در کتابخانه Net-SNMP (/usr/share/snmp/mibs) را بازنویسی (یا به آن اضافه) میکند.
- اگر DIRLIST
دارای
نویسه
ابتدایی «-»
یا «+»
باشد،
دایرکتوریهای
دادهشده
به فهرست
پیشفرض
افزوده
میشوند و
به ترتیب
قبل یا بعد
از
دایرکتوریهای
موجود در
این فهرست
مورد جستجو
قرار
میگیرند.
در غیر این
صورت،
دایرکتوریهای
مشخصشده
بهجای
این فهرست
پیشفرض
جستجو
خواهند شد.
توجه داشته باشید که دایرکتوریهایی که دیرتر در فهرست ظاهر میشوند، نسبت به دایرکتوریهای قبلی اولویت دارند. برای جلوگیری از جستجو در هرگونه دایرکتوری MIB، متغیر محیطی MIBDIRS را روی یک رشته خالی ("") تنظیم کنید.
توجه داشته باشید که MIBهای مشخصشده با استفاده از گزینه -m یا دستورالعمل پیکربندی mibs از یکی از دایرکتوریهای فهرستشده توسط گزینه -M (یا معادلهای آن) بارگذاری خواهند شد. دستورالعمل mibfile یک مسیر کامل را برای فایل MIB مشخصشده میگیرد، بنابراین نیازی نیست که در فهرست جستجوی دایرکتوری MIB باشد.
- -v 1 | 2c | 3
- نسخه پروتکل مورد استفاده را مشخص میکند: 1 (RFCهای 1155-1157)، 2c (RFCهای 1901-1908)، یا 3 (RFCهای 2571-2574). نسخه پیشفرض معمولاً نسخه 3 است. توکن defVersion را در فایل snmp.conf بازنویسی میکند. -O [abeEfnqQsStTuUvxX] گزینههای چاپ خروجی را مشخص میکند. OUTPUT OPTIONS در زیر را ببینید.
- -P [cdeRuwW]
- گزینههای تجزیه MIB را مشخص میکند. MIB PARSING OPTIONS در زیر را ببینید.
- -r retries
- تعداد تلاشهای مجدد مورد استفاده در درخواستها را مشخص میکند. مقدار پیشفرض 5 است.
- -t timeout
- زمان مهلت بر حسب ثانیه را بین تلاشهای مجدد مشخص میکند. مقدار پیشفرض 1 است. برای تعیین کسری از ثانیه میتوان از اعداد اعشاری استفاده کرد.
- -V, --version
- اطلاعات نسخه برنامه را نمایش داده و خارج میشود.
- -Yname="value"
- --name="value"
- امکان مشخص کردن هر توکن ("name") پشتیبانیشده در فایل snmp.conf و تعیین مقدار آن به "value" را فراهم میکند. توکن متناظر را در فایل snmp.conf بازنویسی میکند. برای مشاهده فهرست کامل توکنها به snmp.conf(5) مراجعه کنید..SH "گزینههای SNMPv3 (SNMPv3 Options)" گزینههای زیر برای تمام اشکال SNMPv3 عمومی هستند، صرفنظر از اینکه نسخهٔ اصلی SNMPv3 با USM باشد یا پشتیبانی جدیدتر SNMPv3 بر بستر (D)TLS.
- -l secLevel
- تعیین securityLevel مورد استفاده برای پیامهای SNMPv3 (noAuthNoPriv|authNoPriv|authPriv). در صورت استفاده از هر سطحی بالاتر از noAuthNoPriv، باید عبارت(های) عبور مناسب ارائه شود. توکن defSecurityLevel در فایل snmp.conf را بازنویسی میکند.
- -n contextName
- تعیین contextName مورد استفاده برای پیامهای SNMPv3. مقدار پیشفرض contextName رشته خالی "" است. توکن defContext در فایل snmp.conf را بازنویسی میکند.
گزینههای SNMPv3 بر بستر TLS (SNMPv3 over TLS Options)
این گزینهها پارامترهای مختص لایه انتقال (transport) را به لایه TLS ارسال میکنند. اگر از SNMP بر بستر TLS یا DTLS استفاده میکنید، لازم است ترکیبی از این گزینهها را از طریق خط فرمان یا با استفاده از توکنهای پیکربندی snmp.conf ارسال کنید.
نکتهای دربارهٔ <certificate-specifier>ها: ابزار Net-SNMP گواهیهای X.509 را در هر یک از مسیرهای جستجوی عادی دایرکتوریهای پیکربندی SNMP و در زیرپوشهای با نام "tls" جستجو میکند. به عبارت دیگر، گواهیها را در مسیرهای ~/.snmp/tls و /usr/local/share/snmp/tls جستجو خواهد کرد. اجزای گواهی (مانند بخشهای عمومی و خصوصی) در زیرشاخههای زیر این مجموعه دایرکتوریهای ریشه ذخیره میشوند. برای راهنمایی در مورد وارد کردن، ایجاد و مدیریت گواهیهای Net-SNMP به ابزار net-snmp-cert مراجعه کنید. <certificate-specifier>ها میتوانند به یک اثر انگشت (fingerprint) از گواهی مورد استفاده اشاره کنند (ابزار net-snmp-cert میتواند در شناسایی گواهیها به شما کمک کند) یا میتوان از پیشوند نام فایل استفاده کرد. به عنوان مثال، اگر فایل گواهی "snmpd.crt" را دارید، میتوانید به سادگی از طریق مشخصکنندهٔ "snmpd" به آن گواهی اشاره کنید.
- -T localCert=<certificate-specifier>
- به لایه انتقال مشخص میکند که از کدام کلید برای برقراری اتصالات کلاینت (D)TLS باید استفاده شود. این مقدار معمولاً گواهی مشخصشده از طریق اثر انگشت، نام برنامه (مانند snmpd، snmptrapd، perl، python) یا نام عمومی "snmpapp" در صورت استفاده از یکی از برنامههای عمومی (مانند snmpget، snmpwalk و غیره) خواهد بود. این مقدار را میتوان با استفاده از مشخصکنندهٔ localCert در فایل پیکربندی snmp.conf نیز تنظیم کرد.
- -T peerCert=<certificate-specifier>
- اگر انتظار دارید گواهی خاصی توسط طرف مقابل ارائه شود، میتوانید از این مشخصکننده برای تعیین گواهی مورد انتظار استفاده کنید. اگر طرف مقابل در ارائه گواهی مورد انتظار ناموفق باشد، کلاینت از برقراری اتصال خودداری خواهد کرد (زیرا در غیر این صورت ممکن است منجر به حملات مرد میانی شود). این مقدار را میتوان با استفاده از مشخصکنندهٔ peerCert در فایل پیکربندی snmp.conf نیز تنظیم کرد.
- -T trust_cert=<certificate-specifier>
- اگر یک گواهی CA معتبر دارید که میخواهید نقطه اتکای اعتبارسنجی (trust anchor) شما باشد، میتوانید از این پرچم برای بارگذاری گواهی مربوطه به عنوان نقطه اتکای اعتبار استفاده کنید. نسخهای از گواهی باید درون سیستم ذخیرهسازی گواهیهای Net-SNMP موجود باشد یا اینکه این پارامتر باید به یک مسیر کامل فایل اشاره کند. همچنین توکن پیکربندی "trustCert" را در فایل snmp.conf ببینید.
- -T their_hostname=<name>
- اگر گواهی ارائهشده توسط سرور با استفاده از نقطه اتکای اعتبار قابل اعتبارسنجی باشد، نام میزبان آن بررسی میشود تا اطمینان حاصل شود که نام میزبان ارائهشده با نام مورد انتظار مطابقت دارد (مسلماً مایل نیستید به goodhost.example.com متصل شوید و گواهی ارائهشده توسط badhost.example.com را بپذیرید). این توکن میتواند نام دقیق میزبان مورد انتظار را برای ارائه توسط طرف راه دور، چه در فیلد subjectAltName و چه در فیلد CommonName گواهی X.509 سرور، مشخص کند.
گزینههای SNMPv3 با USM (SNMPv3 with USM Options)
این گزینهها مختص استفاده از SNMPv3 با مدل امنیتی اصلی مبتنی بر کاربر (USM) هستند.
- -3[MmKk] 0xHEXKEY
- کلیدهای مورد استفاده برای تراکنشهای SNMPv3 را تعیین میکند. این گزینهها امکان تنظیم کلیدهای اصلی احراز هویت و رمزگذاری (به ترتیب -3m و -3M) یا تنظیم کلیدهای بومیسازیشدهٔ احراز هویت و رمزگذاری (به ترتیب -3k و -3K) را فراهم میکنند. کلیدهای SNMPv3 را میتوان به صورت دستی با استفاده از این پرچمها یا از طریق کلیدهای تولیدشده از گذرواژهها با پرچمهای -A و -X (که در ادامه توضیح داده شدهاند) ارسال کرد. برای جزئیات بیشتر در مورد SNMPv3 و کاربرد اطلاعات کلید، به وبسایت آموزشی Net-SNMP مراجعه کنید ( http://www.Net-SNMP.org/tutorial-5/commands ). به ترتیب توکنهای defAuthMasterKey (-3m)، defPrivMasterKey (-3M)، defAuthLocalizedKey (-3k) یا defPrivLocalizedKey (-3K) را در فایل snmp.conf بازنویسی میکند؛ ببینید: snmp.conf(5).
- -a authProtocol
- تعیین پروتکل احراز هویت (MD5|SHA|SHA-512|SHA-384|SHA-256|SHA-224) مورد استفاده برای پیامهای احراز هویتشدهٔ SNMPv3. توکن defAuthType در فایل snmp.conf را بازنویسی میکند.
- -A authPassword
- تعیین عبارت عبور احراز هویت برای پیامهای احراز هویتشدهٔ SNMPv3. توکن defAuthPassphrase در فایل snmp.conf را بازنویسی میکند. مشخص کردن عبارات عبور در خط فرمان ناامن است؛ ببینید: snmp.conf(5).
- -e engineID
- تعیین engineID معتبر (authoritative یا امنیتی) مورد استفاده برای پیامهای REQUEST در SNMPv3، که به صورت یک رشته هگزادسیمال (با پیشوند اختیاری "0x") داده میشود. معمولاً تعیین این engine ID ضروری نیست، زیرا غالباً به صورت خودکار کشف میشود.
- -E engineID
- تعیین context engineID مورد استفاده برای scopedPdu در پیامهای REQUEST در SNMPv3، که به صورت یک رشته هگزادسیمال ارائه میشود. در صورت عدم تعیین، مقدار پیشفرض آن engineID معتبر خواهد بود.
- -u secName
- تعیین securityName مورد استفاده برای پیامهای احراز هویتشدهٔ SNMPv3. توکن defSecurityName در فایل snmp.conf را بازنویسی میکند.
- -x privProtocol
- تعیین پروتکل حریم خصوصی (DES یا AES) مورد استفاده برای پیامهای رمزگذاریشدهٔ SNMPv3. توکن defPrivType در فایل snmp.conf را بازنویسی میکند. این گزینه تنها در صورتی معتبر است که نرمافزار Net-SNMP به گونهای کامپایل شده باشد که از OpenSSL استفاده کند.
- -X privPassword
- تعیین عبارت عبور حریم خصوصی برای پیامهای رمزگذاریشدهٔ SNMPv3. توکن defPrivPassphrase در فایل snmp.conf را بازنویسی میکند. مشخص کردن عبارات عبور در خط فرمان ناامن است؛ ببینید: snmp.conf(5).
- -Z boots,time
- تعیین engineBoots و engineTime مورد استفاده برای پیامهای احراز هویتشدهٔ SNMPv3. این گزینه مفهوم محلی boots/time عامل را با یک مقدار احراز هویتشده که در LCD ذخیره شده، مقداردهی اولیه میکند. معمولاً تعیین این گزینه ضروری نیست، زیرا این مقادیر غالباً به صورت خودکار کشف میشوند..SH "گزینههای SNMPv1 و SNMPv2c (SNMPv1 and SNMPv2c Options)"
- -c community
- رشتهی community را برای تراکنشهای SNMPv1/v2c تنظیم میکند. توکن defCommunity را در فایل snmp.conf بازنویسی میکند.
مشخصات کارگزار (AGENT SPECIFICATION)
رشتهی AGENT در بخش خلاصه دستور (SYNOPSIS) در بالا، نهاد دوردست SNMP را که باید با آن ارتباط برقرار شود، مشخص میکند. این مشخصه از قالب زیر پیروی میکند:
- [<transport-specifier>:]<transport-address>
در سادهترین حالت، مشخصهی AGENT میتواند شامل یک نام میزبان، یا یک نشانی IPv4 در قالب استاندارد «چهار بخشی با نقطه» (dotted quad) باشد. در این حالت، تلاش برای برقراری ارتباط با استفاده از UDP/IPv4 به پورت 161 از میزبان دادهشده انجام میشود. در غیر این صورت، بخش <transport-address> از مشخصه بر اساس جدول زیر تجزیه میشود:
- <transport-specifier>
- قالب <transport-address>
- udp
- hostname[:port] یا IPv4-address[:port]
- tcp
- hostname[:port] یا IPv4-address[:port]
- unix
- pathname
- ipx
- [network]:node[/port]
- aal5pvc یا pvc
- [interface.][VPI.]VCI
- udp6 یا udpv6 یا udpipv6
- hostname[:port] یا IPv6-address:port
یا
'['IPv6-address']'[:port] - tcp6 یا tcpv6 یا tcpipv6
- hostname[:port] یا IPv6-address:port
یا
'['IPv6-address']'[:port]
توجه داشته باشید که رشتههای <transport-specifier> به حروف بزرگ و کوچک حساس نیستند؛ برای نمونه، «tcp» و «TCP» یکسان هستند. در ادامه چند مثال به همراه شرح آنها آورده شده است:
- hostname:161
- انجام پرسوجو با استفاده از دیتاگرامهای UDP/IPv4 به hostname روی پورت 161. عبارت «:161» در اینجا اضافی است چرا که در هر صورت پورت پیشفرض SNMP است.
- udp:hostname
- همانند مشخصهی پیشین است. عبارت «udp:» در اینجا اضافی است چرا که UDP/IPv4 لایهی انتقال پیشفرض است.
- TCP:hostname:1161
- اتصال به hostname روی پورت 1161 با استفاده از TCP/IPv4 و انجام پرسوجو از طریق آن اتصال. udp6:hostname:10161 انجام پرسوجو با استفاده از دیتاگرامهای UDP/IPv6 به پورت 10161 روی hostname (که به عنوان یک رکورد AAAA جستجو خواهد شد).
- UDP6:[fe80::2d0:b7ff:fe21:c6c0]
- انجام پرسوجو با استفاده از دیتاگرامهای UDP/IPv6 به پورت 161 در نشانی fe80::2d0:b7ff:fe21:c6c0.
- tcpipv6:[::1]:1611
- اتصال به پورت 1611 روی میزبان محلی (::1 در اصطلاح IPv6) با استفاده از TCP/IPv6 و انجام پرسوجو از طریق آن اتصال.
- tls:hostname:10161
- dtls:hostname:10161
- اتصال با استفاده از SNMP روی DTLS یا TLS طبق مستندات کارگروه ISMS (که تا این تاریخ RFCهای آن هنوز منتشر نشده است). این کار مستلزم استفاده از مدل امنیتی TSM است (و به صورت خودکار آن را تضمین میکند). شما همچنین باید مسیرهای اعتبارسنجی را برای گواهیهای ارائهشده توسط سرور تنظیم کنید (برای توضیحات در این باره، بخشهای بالا را ببینید).
- ssh:hostname:22
- اتصال با استفاده از SNMP روی SSH طبق مستندات کارگروه ISMS (که تا این تاریخ RFCهای آن هنوز منتشر نشده است). این کار مستلزم استفاده از مدل امنیتی TSM است (--defSecurityModel=tsm).
- ipx::00D0B7AAE308
- انجام پرسوجو با استفاده از دیتاگرامهای IPX به شماره گره 00D0B7AAE308 روی شبکهی پیشفرض، و با استفاده از پورت پیشفرض IPX یعنی 36879 (900F در مبنای شانزده)، همانگونه که در RFC 1906 پیشنهاد شده است.
- ipx:0AE43409:00D0B721C6C0/1161
- انجام پرسوجو با استفاده از دیتاگرامهای IPX به پورت 1161 روی شماره گره 00D0B721C6C0 در شماره شبکهی 0AE43409.
- unix:/tmp/local-agent
- اتصال به سوکت دامنهی یونیکس /tmp/local-agent، و انجام پرسوجو از طریق آن اتصال.
- /tmp/local-agent
- همانند مشخصهی پیشین است؛ چرا که دامنهی یونیکس لایهی انتقال پیشفرض است اگر و فقط اگر نخستین نویسهی <transport-address> یک «/» باشد.
- alias:myname
- برقراری اتصال به نام مستعار myname که باید در فایل snmp.conf با خطی مانند alias myname udp:127.0.0.1:9161 تعریف شود. از هر نوع تعریفی برای لایهی انتقال میتوان به عنوان پارامتر بسط نام مستعار استفاده کرد. نامهای مستعار بهویژه برای استفادهی مکرر از رشتههای انتقال پیچیده سودمند هستند.
- AAL5PVC:100
- انجام پرسوجو با استفاده از PDUهای AAL5 ارسالی روی مدار مجازی دائمی با VPI=0 و VCI=100 (در مبنای ده) روی نخستین آداپتور ATM سیستم.
- PVC:1.10.32
- انجام پرسوجو با استفاده از PDUهای AAL5 ارسالی روی مدار مجازی دائمی با VPI=10 (در مبنای ده) و VCI=32 (در مبنای ده) روی دومین آداپتور ATM سیستم. توجه داشته باشید که «PVC» مترادفی برای «AAL5PVC» است.
توجه داشته باشید که تمام دامنههای انتقال فهرستشده در بالا همیشه در دسترس نخواهند بود؛ برای نمونه، میزبانهای فاقد پشتیبانی از IPv6 قادر به استفاده از نشانیهای انتقال udp6 نخواهند بود و تلاش برای انجام آن با خطای «Unknown host» مواجه خواهد شد. به همین ترتیب، از آنجا که پشتیبانی از AAL5 PVC در حال حاضر فقط در Linux موجود است، در سایر پلتفرمها نیز با همان خطا شکست خواهد خورد..SH "گزینههای تجزیه MIB (MIB PARSING OPTIONS)" تجزیهکنندهٔ MIB در Net-SNMP عمدتاً از Structure of Management Information (SMI) پیروی میکند. از آنجا که این مشخصات در گذر زمان تغییر کرده است و با توجه به تنوع (بهاصطلاح) رعایت استانداردها در فایلهای MIB، گزینههای بیشتری برای انعطافپذیری بالاتر در خواندن فایلهای MIB ارائه شدهاند.
- -Pc
- وضعیت گسترش توضیحات (کامنتهای) ASN.1 تا انتهای خط منبع MIB را تغییر میدهد (روشن/خاموش میکند). به بیان دقیق، دومین تکرار «--» باید به توضیح خاتمه دهد، اما این رفتار برخی از فایلهای MIB را دچار اشکال میکند. رفتار پیشفرض (تفسیر صحیح توضیحات) را میتوان با نشانهٔ پیکربندی commentToEOL نیز تنظیم کرد.
- -Pd
- بارگذاری DESCRIPTION اشیاء MIB را هنگام تجزیه فایلهای MIB غیرفعال میکند. این امر مقدار حافظهٔ مصرفی برنامهٔ در حال اجرا را کاهش میدهد.
- -Pe
- وضعیت نمایش خطاهای رخداده هنگام تجزیه فایلهای MIB را تغییر میدهد. این خطاها شامل ارجاع به پودمانهای IMPORT شده و اشیاء MIB است که در فهرست جستجوی دایرکتوری MIB یافت نمیشوند. رفتار پیشفرض را میتوان با نشانهٔ پیکربندی showMibErrors نیز تنظیم کرد.
- -PR
- اگر یک شیء MIB
یکسان (نام
والد و
شناسهٔ
فرعی) چندین
بار در
فهرست
تعاریف
بارگذاریشدهٔ
MIB ظاهر شود،
از آخرین
نسخهٔ
خواندهشده
استفاده
میکند.
بهطور
پیشفرض،
اولین نسخه
استفاده
میشود و
موارد
تکراری
نادیده
گرفته
میشوند.
این رفتار
را میتوان
با نشانهٔ
پیکربندی
mibReplaceWithLatest نیز
تنظیم کرد.
این ترتیب معمولاً تنها زمانی اهمیت دارد که دو فایل MIB دارای تعاریف متناقض برای یک OID یکسان باشند (یا نسخههای بازنگری متفاوتی از یک شیء پایهٔ MIB یکسان وجود داشته باشد).
- -Pu
- وضعیت مجاز بودن نویسهٔ زیرخط (underline) در نام اشیاء MIB و نمادهای دیگر را تغییر میدهد. به بیان دقیق، این یک نحو معتبر در SMI نیست، اما فایلهای MIB برخی از تولیدکنندگان چنین نامهایی را تعریف میکنند. رفتار پیشفرض را میتوان با نشانهٔ پیکربندی mibAllowUnderline نیز تنظیم کرد.
- -Pw
- پیامهای هشدار گوناگون را هنگام تجزیه فایلهای MIB و ساخت درخت کلی OID نمایش میدهد. این گزینه را میتوان با دستورالعمل پیکربندی mibWarningLevel 1 نیز تنظیم کرد.
- -PW
- برخی پیامهای هشدار اضافی، عمدتاً مرتبط با تجزیه اشیاء انفرادی MIB را نمایش میدهد. این گزینه را میتوان با دستورالعمل پیکربندی mibWarningLevel 2 نیز تنظیم کرد.
گزینههای خروجی (OUTPUT OPTIONS)
قالب خروجی دستورات SNMP را میتوان با استفاده از پارامترهای گوناگون پرچم -O کنترل کرد. اثرات این زیرگزینهها را میتوان در مقایسه با خروجی پیشفرض زیر مشاهده کرد (مگر اینکه خلاف آن مشخص شده باشد):
$ snmpget -c public -v 1 localhost sysUpTime.0 SNMPv2-MIB::sysUpTime.0 = Timeticks: (14096763) 1 day, 15:09:27.63
- -Oa
- مقادیر
رشتهای را
بهصورت
رشتههای ASCII
نمایش
میدهد (مگر
اینکه یک DISPLAY-HINT
برای شیء MIB
متناظر
تعریف شده
باشد).
بهطور
پیشفرض،
کتابخانه
تلاش
میکند
تعیین کند
که آیا
مقدار یک
رشتهٔ چاپی
است یا
باینری، و
آن را
متناسب با
آن نمایش
میدهد.
این گزینه بر اشیائی که دارای Display Hint هستند، تأثیری ندارد.
- -Ob
- نمایههای جدول را بهصورت عددی نمایش میدهد، بهجای اینکه تلاش کند شناسههای فرعی نمونه (instance) را بهصورت مقادیر رشتهای یا OID تفسیر کند:
$ snmpgetnext -c public -v 1 localhost vacmSecurityModel SNMP-VIEW-BASED-ACM-MIB::vacmSecurityModel.0."wes" = xxx $ snmpgetnext -c public -v 1 -Ob localhost vacmSecurityModel SNMP-VIEW-BASED-ACM-MIB::vacmSecurityModel.0.3.119.101.115 = xxx
- -Oe
- برچسبهای نمادین را از مقادیر شمارشی (enumeration) حذف میکند:
$ snmpget -c public -v 1 localhost ipForwarding.0 IP-MIB::ipForwarding.0 = INTEGER: forwarding(1) $ snmpget -c public -v 1 -Oe localhost ipForwarding.0 IP-MIB::ipForwarding.0 = INTEGER: 1
- -OE
- رشتههای نمایه را تغییر میدهد تا نویسههای نقلقول گریزدهی (escape) شوند:
$ snmpgetnext -c public -v 1 localhost vacmSecurityModel SNMP-VIEW-BASED-ACM-MIB::vacmSecurityModel.0."wes" = xxx $ snmpgetnext -c public -v 1 -OE localhost vacmSecurityModel SNMP-VIEW-BASED-ACM-MIB::vacmSecurityModel.0.\"wes\" = xxx
- این کار امکان استفادهٔ مجدد از خروجی را در دستورات پوسته فراهم میکند.
- -Of
- هنگام نمایش یک OID، فهرست کامل اشیاء MIB را شامل میشود:
- -On
- شناسهٔ OID را
بهصورت
عددی نمایش
میدهد:
.1.3.6.1.2.1.1.3.0 = Timeticks: (14096763) 1 day, 15:09:27.63 - -Op PRECISION
- از رشتهٔ PRECISION
برای تغییر
قالب خروجی
مقدار
استفاده
میکند. این
گزینه در
حال حاضر
برای نوع
ممیز شناور
(float/double) از نوع OPAQUE
به کار
میرود،
اما ممکن
است در
آینده برای
انواع دیگر
نیز قابل
استفاده
باشد.
رشتههای
مجاز PRECISION با
بخش flag/field width/precision در
تابع printf(3)
سازگار
هستند:
$ snmpget localhost outputVoltage.1
WIENER-CRATE-MIB::outputVoltage.u0 = Opaque: Float: 0.000000 V
$ snmpget -Op +020.12 localhost outputVoltage.1
WIENER-CRATE-MIB::outputVoltage.u0 = Opaque: Float: +000000.000000000000 V - -Oq
- علامت
مساوی و
اطلاعات
نوع را
هنگام
نمایش
مقادیر varbind
حذف میکند:
SNMPv2-MIB::sysUpTime.0 1:15:09:27.63 - -OQ
- اطلاعات
نوع را
هنگام
نمایش
مقادیر varbind
حذف میکند:
SNMPv2-MIB::sysUpTime.0 = 1:15:09:27.63 - -Os
- نام شیء MIB را
(بههمراه
هرگونه
نمونه یا
شناسههای
فرعی دیگر)
نمایش
میدهد:
sysUpTime.0 = Timeticks: (14096763) 1 day, 15:09:27.63 - -OS
- نام MIB را
علاوه بر
نام شیء
نمایش
میدهد:
SNMPv2-MIB::sysUpTime.0 = Timeticks: (14096763) 1 day, 15:09:27.63
- این قالب پیشفرض خروجی OID است.
- -Ot
- مقادیر TimeTicks
را بهصورت
اعداد خام
نمایش
میدهد:
SNMPv2-MIB::sysUpTime.0 = 14096763 - -OT
- اگر مقادیر بهصورت رشتههای هگزادسیمال (Hex) چاپ شوند، یک نسخهٔ قابل چاپ را نیز نمایش میدهد.
- -Ou
- شناسهٔ OID را
به شیوهٔ
سنتی UCD (به
ارث رسیده
از کد اصلی CMU)
نمایش
میدهد. این
بدان
معناست که
مجموعهای
از
پیشوندهای
«استاندارد»
از OID حذف شده
و فهرست
باقیمانده
از نامهای
شیء MIB
(بههمراه
شناسههای
فرعی دیگر)
نمایش داده
میشود:
system.sysUpTime.0 = Timeticks: (14096763) 1 day, 15:09:27.63 - -OU
- پسوند UNITS را در انتهای مقدار چاپ نمیکند.
- -Ov
- فقط مقدار varbind را نمایش میدهد، نه OID را:
$ snmpget -c public -v 1 -Ov localhost ipForwarding.0 INTEGER: forwarding(1)
- -Ox
- مقادیر
رشتهای را
بهصورت
رشتههای
هگزادسیمال
(Hex) نمایش
میدهد (مگر
اینکه یک DISPLAY-HINT
برای شیء MIB
متناظر
تعریف شده
باشد).
بهطور
پیشفرض،
کتابخانه
تلاش
میکند
تعیین کند
که آیا
مقدار یک
رشتهٔ چاپی
است یا
باینری، و
آن را
متناسب با
آن نمایش
میدهد.
این گزینه بر اشیائی که دارای Display Hint هستند، تأثیری ندارد.
- -OX
- نمایههای جدول را در قالبی «برنامهنویسیمانندتر» و با تقلید از قالب نمایهای شبیه به آرایههای سنتی نمایش میدهد:
$ snmpgetnext -c public -v 1 localhost ipv6RouteTable IPv6-MIB::ipv6RouteIfIndex.63.254.1.0.255.0.0.0.0.0.0.0.0.0.0.0.64.1 = INTEGER: 2 $ snmpgetnext -c public -v 1 -OX localhost ipv6RouteTable IPv6-MIB::ipv6RouteIfIndex[3ffe:100:ff00:0:0:0:0:0][64][1] = INTEGER: 2بیشتر این گزینهها همچنین میتوانند از طریق توکنهای پیکربندی تنظیم شوند. برای جزئیات بیشتر به صفحه راهنمای snmp.conf(5) مراجعه کنید.
گزینههای ثبت وقایع (LOGGING OPTIONS)
سازوکار و مقصد مورد استفاده برای ثبت پیامهای هشدار و خطا را میتوان با ارسال پارامترهای مختلف به پرچم -L کنترل کرد.
- -Ln
- غیرفعال کردن تمام فرآیندهای ثبت وقایع.
- -Le
- ثبت پیامها در جریان خطای استاندارد (standard error).
- -Lf FILE
- ثبت پیامها در فایل مشخصشده.
- -Lo
- ثبت پیامها در جریان خروجی استاندارد (standard output).
- -Ls FACILITY
- ثبت پیامها از طریق syslog، با استفاده از فسیلیتی (facility) مشخصشده ('d' برای LOG_DAEMON، 'u' برای LOG_USER، یا '0' تا '7' برای LOG_LOCAL0 تا LOG_LOCAL7).
همچنین نسخههای «حروف بزرگ» از هر یک از این گزینهها وجود دارد که اجازه میدهد سازوکار ثبت مربوطه به اولویتهای خاصی از پیامها محدود شود. با استفاده از ثبت خطای استاندارد به عنوان مثال:
- -LE pri
- پیامهای دارای اولویت 'pri' و بالاتر را در خطای استاندارد ثبت خواهد کرد. برای مقادیر ممکن 'pri' به زیر مراجعه کنید-
- -LE pri1-pri2
- پیامهای دارای اولویت بین 'pri1' و 'pri2' (شامل هر دو) را در خطای استاندارد ثبت خواهد کرد.
برای -LF و -LS مشخصه اولویت قبل از توکن فایل یا فسیلیتی قرار میگیرد.
اولویتهای شناختهشده عبارتند از:
- 0 یا ! برای
LOG_EMERG،
1 یا a برای LOG_ALERT،
2 یا c برای LOG_CRIT،
3 یا e برای LOG_ERR،
4 یا w برای LOG_WARNING،
5 یا n برای LOG_NOTICE،
6 یا i برای LOG_INFO، و
7 یا d برای LOG_DEBUG.
خروجی عادی در سطح اولویت LOG_NOTICE ثبت میشود (یا خواهد شد!).
گزینههای ورودی (INPUT OPTIONS)
تفسیر نام اشیای ورودی و مقادیری که باید تخصیص داده شوند را میتوان با استفاده از پارامترهای مختلف پرچم -I کنترل کرد. رفتار پیشفرض در انتهای این بخش شرح داده خواهد شد.
- -Ib
- مشخص
میکند که
نام
ارائهشده
باید به
عنوان یک
عبارت منظم
(regular expression) در نظر
گرفته شود
تا (بدون
حساسیت به
حروف کوچک و
بزرگ) با
نام اشیا در
درخت MIB
مطابقت
داده شود.
«بهترین»
تطابق
استفاده
خواهد شد -
که به عنوان
تطابقی
محاسبه
میشود که
نزدیکترین
به ابتدای
نام گره و
بالاترین
در درخت
باشد. برای
مثال، شیء MIB
با نام vacmSecurityModel
میتواند
با عبارت
vacmsecuritymodel (نام
کامل، اما
با حروف
کوچک/بزرگ
متفاوت) یا
vacm.*model (الگوی
عبارت منظم)
مطابقت
داده شود.
توجه داشته باشید که '.' یک نویسه خاص در الگوهای عبارت منظم است، بنابراین عبارت نمیتواند شناسههای فرعی نمونه (instance subidentifiers) یا بیش از یک نام شیء را مشخص کند. عبارت «بهترین تطابق» تنها بر روی نامهای تکی اشیای MIB اعمال خواهد شد. برای مثال، عبارت sys*ontact.0 با نمونه sysContact.0 مطابقت نخواهد داشت (اگرچه sys*ontact با sysContact مطابقت دارد). به طور مشابه، مشخص کردن نام ماژول MIB موفقیتآمیز نخواهد بود (بنابراین SNMPv2-MIB::sys.*ontact نیز مطابقت نخواهد داشت).
- -Ih
- استفاده از
اطلاعات DISPLAY-HINT
را هنگام
تخصیص
مقادیر
غیرفعال
میکند. این
امر مستلزم
ارائه
مقدار خام (raw)
خواهد بود:
snmpset ... HOST-RESOURCES-MIB::hrSystemDate.0
x "07 D2 0C 0A 02 04 06 08"
به جای یک نسخه قالببندیشده:
snmpset ... HOST-RESOURCES-MIB::hrSystemDate.0
= 2002-12-10,2:4:6.8 - -Ir
- بررسی
نمایههای
جدول و
مقدار
تخصیصیافته
در برابر
تعاریف
مربوطه در MIB
را غیرفعال
میکند. این
امر
(امیدوارانه)
باعث
میشود که
کارگزار (agent)
دوردست یک
درخواست
نامعتبر را
گزارش دهد،
به جای
اینکه این
مورد قبل از
ارسال به
کارگزار
دوردست
بررسی (و رد)
شود.
بررسیهای محلی کارآمدتر هستند (و پیامهای تشخیصی ارائهشده نیز معمولاً دقیقترند)، اما غیرفعال کردن این رفتار بهویژه هنگام آزمایش کارگزار دوردست مفید است.
- -IR
- جستجوی «دسترسی تصادفی» (random access) نامهای MIB را فعال میکند. به جای ارائه مسیر کامل OID به شیء MIB مورد نظر (یا مشخص کردن این شیء با نام صریح یک ماژول MIB)، درخت MIB برای یافتن نام شیء منطبق جستجو خواهد شد. بنابراین .iso.org.dod.internet.mib-2.system.sysDescr.0 (یا SNMPv2-MIB::sysDescr.0) را میتوان به سادگی به صورت sysDescr.0 مشخص کرد.
- هشدار:
- از آنجا که نامهای اشیای MIB به صورت سراسری یکتا نیستند، این رویکرد ممکن است بسته به اینکه کدام فایلهای MIB بارگذاری شدهاند، شیء MIB متفاوتی را بازگرداند.
- نحو MIB-MODULE::objectName این مزیت را دارد که یک شیء MIB خاص را به صورت یکتا مشخص میکند، و همچنین کمی کارآمدتر است (و در صورت لزوم، فایل MIB لازم را به طور خودکار بارگذاری میکند).
- -Is SUFFIX
- پسوند مشخصشده را به هر OID متنی ارائهشده در خط فرمان اضافه میکند. این گزینه میتواند برای بازیابی چندین شیء از یک ردیف جدول، با مشخص کردن یک مقدار نمایه (index) مشترک استفاده شود.
- -IS PREFIX
- پیشوند مشخصشده را به هر OID متنی ارائهشده در خط فرمان اضافه میکند. این گزینه میتواند برای مشخص کردن یک نام صریح ماژول MIB برای تمام اشیای در حال بازیابی استفاده شود (یا برای تایپیستهای بیش از حد تنبل).
- -Iu
- رویکرد سنتی به سبک UCD را برای تفسیر OIDهای ورودی فعال میکند. این رویکرد فرض میکند که OIDها در نقطه 'mib-2' در درخت ریشه دارند (مگر اینکه با یک '.' صریح آغاز شوند یا شامل نام ماژول MIB باشند). بنابراین نمونه sysDescr در بالا به صورت system.sysDescr.0 ارجاع داده میشود.
نامهای اشیایی که با یک '.' ابتدایی مشخص میشوند، همواره به عنوان OIDهای «کاملاً واجد شرایط» (fully qualified) تفسیر میشوند که توالی اشیای MIB را از ریشه درخت MIB فهرست میکنند. چنین اشیایی و مواردی که با یک نام ماژول MIB صریح مشخص شدهاند، تحت تأثیر پرچمهای -Ib، -IR و -Iu قرار نمیگیرند.
در غیر این صورت، اگر هیچیک از گزینههای ورودی بالا مشخص نشده باشد، رفتار پیشفرض برای یک OID «نسبی» این است که ابتدا تلاش کند آن را به عنوان یک OID (به طور ضمنی) کاملاً واجد شرایط تفسیر کند، سپس جستجوی «دسترسی تصادفی» (-IR)، و به دنبال آن تطبیق الگوی «بهترین تطابق» (-Ib) را اعمال کند..SH "متغیرهای محیطی (ENVIRONMENT VARIABLES)"
- PREFIX
- پیشوند استاندارد برای شناسههای شیء (هنگام استفاده از خروجی به سبک UCD). مقدار پیشفرض .iso.org.dod.internet.mgmt.mib-2 است.
- MIBS
- فهرست
MIBهایی که
باید
بارگذاری
شوند.
پیشفرض:
SNMPv2-TC:SNMPv2-MIB:IF-MIB:IP-MIB:TCP-MIB:UDP-MIB:SNMP-VACM-MIB.
توسط گزینهٔ -m بازنویسی میشود. - MIBDIRS
- فهرست دایرکتوریها برای جستجوی MIBها. مقدار پیشفرض /usr/share/snmp/mibs است. توسط گزینهٔ -M بازنویسی میشود.
فایلها (FILES)
- /etc/snmp/snmpd.conf
- فایل پیکربندی عامل (Agent). ببینید: snmpd.conf(5).
- /etc/snmp/snmp.conf
- ~/.snmp/snmp.conf
- فایلهای پیکربندی برنامه. ببینید: snmp.conf(5).
همچنین ببینید (SEE ALSO)
snmpget(1), snmpgetnext(1), snmpset(1), snmpbulkget(1), snmpbulkwalk(1), snmpwalk(1), snmptable(1), snmpnetstat(1), snmpdelta(1), snmptrap(1), snmpinform(1), snmpusm(1), snmpstatus(1), snmptest(1), snmp.conf(5).
| 20 Jul 2010 | V5.9.5.2 |