LoginSignup
3
4

More than 5 years have passed since last update.

snmptrapdのtraphandleの設定と、受け取れる文字列を確認する

Last updated at Posted at 2016-02-08

環境は、CentOS6
net-snmpは5.5
送信元、送信先ともに自分自身

※snmptrapdのオプションに、-Onを渡している

/etc/snmp/snmptrapd.conf
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
/root/traphandle.sh
#!/bin/sh

while [ 1 ]
do
    read line || exit 0
    echo ${line} >> /tmp/traphandle.txt
done

/root/v1trap.sh
#!/bin/sh
snmptrap -v 1 -c public 192.168.0.100 \
NET-SNMP-EXAMPLES-MIB::netSnmpExampleHeartbeatNotification "" 6 17 "" \
netSnmpExampleHeartbeatRate i 123456
/root/v2trap.sh
#!/bin/sh
snmptrap -v 2c -c public 192.168.0.100 \
"" NET-SNMP-EXAMPLES-MIB::netSnmpExampleHeartbeatNotification \
netSnmpExampleHeartbeatRate i 123456
/root/v1trap_ipv6.sh
#!/bin/sh
snmptrap -v 1 -c public 'udp6:[fe80::250:56ff:fe80:6278]:10162' \
NET-SNMP-EXAMPLES-MIB::netSnmpExampleHeartbeatNotification "" 6 17 "" \
netSnmpExampleHeartbeatRate i 123456
/root/v2trap_ipv6.sh
#!/bin/sh
snmptrap -v 2c -c public 'udp6:[fe80::250:56ff:fe80:6278]:10162' \
"" NET-SNMP-EXAMPLES-MIB::netSnmpExampleHeartbeatNotification \
netSnmpExampleHeartbeatRate i 123456
/tmp/traphandle.txt
<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のみ受信しました。
うーん。

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4