SNMPD(8) Net-SNMP
SNMPD(8)
NAME
snmpd - daemon to respond to SNMP request
packets.
# 注释 :snmpd 命令是响应 SNMP
请求的守护进程
SYNOPSIS
snmpd
[OPTIONS] [LISTENING ADDRESSES]
# 注释 :语法格式是 snmpd
后面加上选项或者监听地址
# 补充 :Redhat 9 默认的启动命令是
:snmpd -s -l /dev/null -P /var/run/snmpd -a
# -)使用 syslog
记录日志
# -)输出信息送到
/dev/null
# -)pid 文件是
/var/run/snmpd
# -)记录 snmp
请求的地址
DESCRIPTION
snmpd is an SNMP agent which binds to
a port and awaits requests from
SNMP management software. Upon
receiving a request, it processes the
request(s), collects the
requested information and/or performs the
requested operation(s) and
returns the information to the sender.
# 注释 :snmpd 是一个 SNMP
代理,绑定到某个端口上,并且等待来自 SNMP 管理软件或者工作站的请求。
#
一旦收到请求后,就处理请求,收集相关信息,或者完成某个动作,然后返回信息给发送者
OPTIONS
-a
Log the source addresses of incoming requests.
# 注释 :-a 记录
incoming 请求的源地址
-A Append to the log file
rather than truncating it.
# 注释 :-A
表示对日志进行追加操作,而不是清空操作
-c FILE Read FILE as a configuration
file.
# 注释 :-c
表示读取某个文件以作为配置文件
-C Do not read any
configuration files except the one optionally
specified by the -c
option.
# 注释 :-C
表示不要读取任何配置文件除了 -C 列出的那个
-d Dump (in hexadecimal) the
sent and received SNMP packets.
# 注释 :-d 选项表示导出发送和接收的
SNMP packets
-D[TOKEN[,...]]
Turn on
debugging output for the given TOKEN(s). Without any
tokens
specified, it defaults to printing all the tokens (which
is
equivalent to the keyword "ALL"). You might want to try ALL
for
extremely verbose output. Note: You can not put a space
between
the -D flag and the listed TOKENs.
-f Do not fork() from the
calling shell.
# 注释 :-f
选项表示不执行 fork 操作,也就是不以守护进程方式运行,而是在前台运行
-g GID Change to the numerical
group ID GID after opening listening
sockets.
# 注释 :-g
表示在打开监听 socket 后将组id改为指定的 gid
-h, --help
Display a
brief usage message and then exit.
# 注释 ;-h
显示帮助信息
-H Display a list of
configuration file directives understood by
the agent and then
exit.
# 注释 :-H 选项显示所有
snmpd 知道的配置文件指令然后退出
-I [-]INITLIST
This option specifies which modules you do
(or do not) want to
be
initialized when the agent starts up. If the comma-sepa-
rated INITLIST is preceded with a '-',
it is the list of mod-
ules that you do not want to be started.
Otherwise, INITLIST
is the list of modules to be
started.
# 注释 :-I [-]
是用于指定 snmpd 在启动时加载或者不加载那些模块。
# 如果
前面是一个减号,则认为是禁止 snmpd 加载指定模块
#
是一个用逗号分隔的列表
To get a list of compiled modules, run the
agent with the argu-
ments -Dmib_init -H (assumes you have
debugging support com-
piled in).
# 注释 :那么如何知道
snmpd 有那些模块呢?可以执行 snmpd -Dmib_init -H
-l [FILE]
Log all output from the agent (including
stdout and stderr) to
FILE. If no filename is given, log to a
default file set at
compile time (normally /var/log/snmpd.log).
# 注释 :-l [file]
选项将snmpd 产生的所有输出(包括标准输出和标准错误)都记录到指定的文件中。
#
假如没有给出文件名,记录到默认的文件 /var/log/snmpd.log 中
# 补充 :在 Redhat 9 中,-l
指向的是 /dev/null ,所以不会保存任何信息
-L Do not open a log file;
print all messages to stderr instead.
# 注释 :-L
选项表示不记录日志,所有的输出都写到 stderr
-P FILE Save the process ID of the
daemon in FILE.
# 注释 :-P
表示 snmpd 的 pid 文件。
# 默认为
/var/run/snmpd
-q Print simpler output for
easier automated parsing.
# 注释 :-q
选项打印简单的输出,以便于其他程序处理日志
-r Do not require root access to run the
daemon. Specifically,
do
not exit if files
only accessible to root (such as /dev/kmem
etc.) cannot be opened.
# 注释 :-r
选项表示不强制以 root 身份启动守护进程。特别是当某些文件只有 root 才能访问的时候不要退出。
-s Use syslog for
logging.
# 注释 :-s 选项表示使用
syslog 来记录日志
-S d|0-7
Specifies the syslog facility to use when
logging to syslog.
'd'
means LOG_DAEMON and 0 through 7 mean LOG_LOCAL0
through
LOG_LOCAL7.
LOG_DAEMON is the default.
# 注释 :-S
|<0-7> 表示使用什么 facility 来记录日志。默认是 LOG_DAEMON
。
# 也就是记录为 snmpd
-u UID Change to the user ID UID
(which can be given in numerical or
textual form) after opening
listening sockets.
# 注释 :-u
表示在打开监听 sockets 之后切换 uid 为指定值
#
部分可以为用户名或者 uid
# 问题 :执行 snmpd
-u bob ,看 snmpd 进程是否为 bob 所有
-v, --version
Print
version information for the agent and then exit.
# 注释 :-v 选项打印
snmpd 命令的版本并退出
-V Symbolically dump SNMP
transactions.
# 注释 :-V 选项“象征性”地导出
SNMP 事务
-x ADDRESS
Listens for AgentX connections on the
specified address rather
than the default '/var/agentx/master'. The address can either
be a Unix domain socket path, or the address of a
network
interface.
The format is the same as the
format of listening
addresses described below.
# 注释 :-x
选项表示监听 AgentX 的地址。
#
可以是 socket 文件的路径,也可以是 ip 地址
# 问题 :什么是 AgentX
?
-X Run as an AgentX subagent
rather than as an SNMP master agent.
# 注释 :-X
选项表示运行一个 AgentX 子代理,而不是是一个 SNMP 主代理
LISTENING
ADDRESSES
By
default, snmpd listens for incoming SNMP requests only on UDP
port
161. However, it
is possible to modify this behaviour by specifying
one or more listening addresses as
arguments to snmpd. A listening
address takes the form:
# 注释 :默认情况下,SNMP 的监听地址为 UDP
161 端口。
# 但也可以修改为一个或者多个其他的地址,格式如下
;
[:]
At its simplest, a listening address may
consist only of a port number,
in which case snmpd listens on that UDP port
on all IPv4 interfaces.
Otherwise, the part
of the specification is parsed
according to the following
table:
# 注释 :最简单的就是一个端口。这种情况下,snmp
在所有的 ipv4 接口的指定的 udp 端口上监听
#
如果要指定特定的地址,可以按照以下格式
# 注释 :其中的 transport-specifier
是指 tcp 还是 udp
# tranport-address 就是
“主机名:端口” 或者 “ip:端口”的格式了
# 如果是 unix sockets 格式的,则
transport-specific 为 unix ,后面的 transport-address 为 socket 文件的路径
# 注释 :注意,udp或者tcp或者unix后面要接一个
':' 而后才是 “主机名:端口”或者 “ip:端口”
# 也就是 snmpd
[udp|tcp|unix]:[hostname | ip]:[port]
# 各个部分都是可选的,默认就是 0.0.0.0:161
udp,如果某部分忽略不写,则使用默认值
# 例如只在 127.0.0.1 上监听而已,可以执行
snmpd udp:127.0.0.1 或者 snmpd udp:127.0.0.1:161
format
udp hostname[:port]
or IPv4-address[:port]
tcp hostname[:port]
or IPv4-address[:port]
unix pathname
ipx [network]:node[/port]
aal5pvc or
pvc [interface.][VPI.]VCI
udp6 or udpv6 or udpipv6
hostname[:port] or IPv6-address[:port]
tcp6 or tcpv6 or tcpipv6
hostname[:port] or IPv6-address[:port]
Note that
strings are case-insensitive so that,
for example, "tcp" and "TCP" are
equivalent. Here are some examples,
along with their
interpretation:
# 注释
:要注意,这里的传输协议部分和主机名是不区分大小写的,所以 udp 和 UDP 是相同的
127.0.0.1:161 listen on UDP port 161,
but only on the loop-
back interface. This prevents snmpd
being
queried remotely (which is a bit
pointless).
The ":161" is redundant here since that is
the
default SNMP port in any case.
TCP:1161 listen on TCP port 1161 on
all IPv4 interfaces.
ipx:/40000 listen on IPX port
40000 on all IPX interfaces.
unix:/tmp/local-agent listen on the Unix
domain socket /tmp/local-
agent.
/tmp/local-agent identical to the
previous specification, since
the Unix domain is the default transport
iff
the first
character of the
is a '/'.
PVC:161 listen on the AAL5
permanent virtual circuit
with VPI=0 and VCI=161 (decimal) on the
first
ATM adapter in the machine.
udp6:10161 listen on port 10161 on all
IPv6 interfaces.
Note that not all the transport
domains listed above will always be
available; for instance, hosts
with no IPv6 support will not be able to
use udp6 transport
addresses, and attempts to do so will result in the
error "Error
opening specified endpoint". Likewise, since AAL5 PVC
support is
only currently available on Linux, it will fail with the
same error
on other platforms.
CONFIGURATION FILES
snmpd checks for the
existence of and parses the following files:
/snmp/snmp.conf
Common configuration for the agent and applications.
See
snmp.conf(5) for details.
# 注释 :/etc/snmp/snmp.conf 是 Agent 和
应用程序的公用配置
/snmp/snmpd.conf
/snmp/snmpd.local.conf
Agent-specific configuration. See snmpd.conf(5) for details.
These
files are optional and may be used to configure access con-
trol, trap
generation, subagent protocols and much else besides.
# 注释 :/etc/snmpd.conf
和 /etc/snmpd.local.conf 是配置 snmpd 的文件。
#
可以用于配置访问控制,trap 消息的产生,子代理等等
In addition to these two
configuration files in /snmp, the agent
will read any files
with the names snmpd.conf and
snmpd.local.conf in a colon
separated path specified in the SNMP-
CONFPATH environment
variable.
# 注释
:除此之外,snmpd 还会通过 $SNMP-CONFPATH 变量读取所有名称为 snmpd.conf 或者 snmpd.local.conf
的文件
/usr/share/snmp/mibs/
The
agent will also load all files in this directory as MIBs. It
will not,
however, load any file that begins with a '.' or
descend into
subdirectories.
# 注释
:/usr/share/snmp/mibs 是 snmp 存放 MIBs 文件的位置。
# 不过 snmpd
不会加在那些以 '.' 开头的文件,也不会读取子目录下的文件
SEE ALSO
(in
recommended reading order)
snmp.conf(5),
snmpd.conf(5)
4th Berkeley Distribution 7 Feb
2002 SNMPD(8)