環境は、CentOS6
net-snmpは5.5
送信元、送信先ともに自分自身
※snmptrapdのオプションに、-Onを渡している
traphandle default /root/traphandle.sh
snmpTrapdAddr udp:162
snmpTrapdAddr udp6:10162
authCommunity log,execute,net public
view all included .1
group public v1 public
group public v2c public
setaccess public "" any noauth exact log all
setaccess public "" any noauth exact execute all
setaccess public "" any noauth exact net all
# !/bin/sh
while [ 1 ]
do
read line || exit 0
echo ${line} >> /tmp/traphandle.txt
done
# !/bin/sh
snmptrap -v 1 -c public 192.168.0.100 \
NET-SNMP-EXAMPLES-MIB::netSnmpExampleHeartbeatNotification "" 6 17 "" \
netSnmpExampleHeartbeatRate i 123456
# !/bin/sh
snmptrap -v 2c -c public 192.168.0.100 \
"" NET-SNMP-EXAMPLES-MIB::netSnmpExampleHeartbeatNotification \
netSnmpExampleHeartbeatRate i 123456
# !/bin/sh
snmptrap -v 1 -c public 'udp6:[fe80::250:56ff:fe80:6278]:10162' \
NET-SNMP-EXAMPLES-MIB::netSnmpExampleHeartbeatNotification "" 6 17 "" \
netSnmpExampleHeartbeatRate i 123456
# !/bin/sh
snmptrap -v 2c -c public 'udp6:[fe80::250:56ff:fe80:6278]:10162' \
"" NET-SNMP-EXAMPLES-MIB::netSnmpExampleHeartbeatNotification \
netSnmpExampleHeartbeatRate i 123456
<UNKNOWN>
UDP: [192.168.0.100]:45866->[192.168.0.100]
.1.3.6.1.2.1.1.3.0 89:0:23:16.28
.1.3.6.1.6.3.1.1.4.1.0 .1.3.6.1.4.1.8072.2.3.0.1.0.17
.1.3.6.1.4.1.8072.2.3.2.1 123456
.1.3.6.1.6.3.18.1.3.0 192.168.0.100
.1.3.6.1.6.3.18.1.4.0 "public"
.1.3.6.1.6.3.1.1.4.3.0 .1.3.6.1.4.1.8072.2.3.0.1
<UNKNOWN>
UDP: [192.168.0.100]:38635->[192.168.0.100]
.1.3.6.1.2.1.1.3.0 89:0:23:18.75
.1.3.6.1.6.3.1.1.4.1.0 .1.3.6.1.4.1.8072.2.3.0.1
.1.3.6.1.4.1.8072.2.3.2.1 123456
UDP/IPv6: [fe80::250:56ff:fe80:6278]:41740
UDP/IPv6: [fe80::250:56ff:fe80:6278]:41740
.1.3.6.1.2.1.1.3.0 89:0:23:21.62
.1.3.6.1.6.3.1.1.4.1.0 .1.3.6.1.4.1.8072.2.3.0.1.0.17
.1.3.6.1.4.1.8072.2.3.2.1 123456
.1.3.6.1.6.3.18.1.3.0 192.168.0.100
.1.3.6.1.6.3.18.1.4.0 "public"
.1.3.6.1.6.3.1.1.4.3.0 .1.3.6.1.4.1.8072.2.3.0.1
UDP/IPv6: [fe80::250:56ff:fe80:6278]:34879
UDP/IPv6: [fe80::250:56ff:fe80:6278]:34879
.1.3.6.1.2.1.1.3.0 89:0:23:24.12
.1.3.6.1.6.3.1.1.4.1.0 .1.3.6.1.4.1.8072.2.3.0.1
.1.3.6.1.4.1.8072.2.3.2.1 123456
UNKNOWNの部分は、名前解釈が出来れば、ホスト名になる
IPv6の場合は、名前解釈が出来ない場合でも、UNKNOWNではなくIPアドレスが出てくる・・・。うーん
IPv6で名前解釈が出来るパターンは試していない
上記内容だと分からないが、送信元を送信先と別にすると、
最初の1行目、および2行目に出てくる内容は、
送信元情報
送信元情報 -> 送信先情報 (IPv6の場合は、送信元のみ。うーん)
となる。
snmptrapdが渡してくる内容は、OSやnet-snmpのバージョンで
若干異なる。
以下のサイトにある内容だと、UDP: [IPアドレス]の部分が、
単にIPアドレスのみ、となっていたりする(うーん)
traphandleを使いたいサーバーで、実際に受け取っている文字列を
確認してから、traphandleの内容を作りたい。
あと、snmptrapdに渡しているオプションによっても内容が異なる。
-Onを渡しているが、これが無い場合は、oid列が文字列に変換された内容が
渡されてくる。
多くのサイトで、udpとudp6を同じポート番号で指定しているけど、、、。
上記例で162と10162に分けているのは、同じポート番号ではIPv4とIPv6を
両方受信することができなかったため、です。
udp:162,udp6:10162と指定しても、IPv4のみ受信しました。
うーん。