Nagios

使用 snmptrap 欺騙源主機

  • May 29, 2020

我已經準備好為此失去理智了……

我需要使用 snmptrap 命令欺騙發送 snmp 陷阱的主機。

snmptrap 的手冊頁表明您可以使用snmpcmd提供的常用選項。snmpcmd 聲明您可以使用 snmp.conf 中存在的選項,如下所示:–name=“value”。snmp.conf聲明有一個 clientAddr 選項,允許您將陷阱指定為從另一台主機發送。

這是我正在執行的命令:

[root@***** objects]# /usr/bin/snmptrap --clientAddr="<clientipaddr>" -v 2c -c <communityString> <destipaddr> '' NAGIOS-NOTIFY-MIB::nSvcEvent nHostname s "testHost" nSvcDesc s "testService" nSvcStateID i 2 nSvcOutput s "testOutput"

這是我收到的輸出:

snmptrap: Unknown host (<destipaddr>) (Cannot assign requested address)

當我在沒有 –clientAddr 參數的情況下執行它時,陷阱接收器可以正常執行。

知道我在這裡做錯了什麼嗎?

我嘗試做同樣的事情並最終使用 IP 表而不是 net-snmp。需要在發送陷阱的主機上設置以下內容:

iptables -t nat -A POSTROUTING -s <IP which you send originally traps from> -p udp --dport 162 -j SNAT --to-source <IP you want to spoof>

你沒有做錯什麼。只是主機希望指定的 IP(或名稱,就此而言)是本地的,即附加到某個本地介面。欺騙主機的一種方法是臨時設置一些具有所需 IP 地址的別名介面,例如 Linux 上的 1.2.3.4:

ifconfig lo:0 1.2.3.4 netmask 255.255.255.248

引用自:https://serverfault.com/questions/418292