特定の条件で SNMP トラップをリモート マシンに送信する Visual Studio の C++ アプリケーションがあります。両方のマシンでファイアウォールが無効になっています。
Windows API SnmpSendMsg を使用してトラップを送信しました。
リモート マシンはすべてのトラップを受信しません。たとえば、アプリケーションが 6 つのトラップを送信した場合、リモート マシンは 4 つのトラップを受信することもあれば、5 つのトラップを受信することもあります。
「iReasoning MIB Browser」トラップ受信機を使用してトラップを受信しています。Wireshark を使用してデバッグし、アプリケーションにログを追加しているときに、アプリケーションが SnmpSendMsg を使用して 6 つのトラップを送信し、返されるステータスが毎回 1 (SNMPAPI_SUCCESS) であることがわかりました。ただし、Wireshark は毎回 4 ~ 5 個のトラップしかキャプチャしません。
私の推測では、どういうわけか Windows がトラップを送信していないということです。
この問題をさらにデバッグする方法がわかりません。
ありがとう