Windows에서 Net-SNMP를 사용하여 감시 시스템에 경보를 발생시키는 트랩을 에뮬레이트하려고 합니다.
설정은 다음과 같습니다.
- 트랩을 보내는 Windows 7 클라이언트
- 트랩 전송을 위한 소프트웨어인 Net-SNMP
- Adventnet ManageEngine OpManager를 NMS로 사용하는 Linux(관련 없음)
이것이 내가 달성하려는 것입니다.
NMS에 로드한 MIB에 따라 OID .1.3.6.1.4.1.5089.1.0.1이 포함된 트랩과 일종의 메시지를 보내 NMS에서 경보를 받을 수 있는지 확인합니다. 실제로 방화벽에 트랩을 보내는 것을 볼 수 있지만 그 안에 무엇이 포함되어 있는지는 알 수 없습니다.
이것은 지금까지 나의 시도입니다.
snmptrap.exe -v 2c -c xxxxxxx 192.168.100.65 '' 6 0 .1.3.6.1.4.1.5089.1.0.1 s "123456"
그러나 snmptrap에 대한 예제가 포함된 합리적인 문서를 찾을 수 없는 것 같습니다. 기본적으로 다음 사항을 알아야 합니다.
- '' <- 이게 왜 필요한가요? 생략해도 여전히 트랩이 전송됩니다.
- 6 <- 엔터프라이즈 일반 트랩인 것으로 가정합니다. 이 올바른지?
- 0 <- 잘 모르겠습니다. 이에 대한 일종의 값이 필요합니다.
- .1.3.6.1.4.1.5089.1.0.1 <- 내가 가정하는 기업별 OID입니다. 뒤에 숫자가 더 있어야 합니다.
- s <-는 문자열을 나타냅니다.
- "123456" <- 임의의 테스트 문자열...
이것은 나에게 그다지 이해가 되지 않으며 누군가가 이것에 대해 약간의 정보를 제공할 수 있다면 나는 매우 감사할 것입니다.
답변1
다음을 시도해 보세요:
snmptrap.exe -v 2c -c xxxxxxx 192.168.100.65
'' .1.3.6.1.4.1.5089.1.0.1 .1.3.6.1.4.1.5089.2.0.999 s "123456"
'' <- v2c 트랩의 첫 번째 매개변수는 에이전트 가동 시간이며 필수이며 빈 매개변수는 현재 값으로 대체됩니다.
.1.3.6.1.4.1.5089.1.0.1 <- 트랩 OID
.1.3.6.1.4.1.5089.2.0.999 <- varbind(MIB에서 문자열 값으로 정의해야 함)
s <-는 문자열을 나타냅니다.
"123456" <- 임의의 테스트 문자열...
그러면 다음 내용으로 SNMPv2c 트랩이 생성됩니다(wireshark에 표시됨).
variable-bindings: 3 items
1.3.6.1.2.1.1.3.0: 878104
1.3.6.1.6.3.1.1.4.1.0: 1.3.6.1.4.1.5089.1.0.1 (iso.3.6.1.4.1.5089.1.0.1)
1.3.6.1.4.1.5089.2.0.999: 31323334353 (this is 123456 octet string)
이 출력은 Linux의 snmptrap에서 나오지만 Windows의 경우와 동일한 것 같습니다.
답변2
Net-SNMP를 사용하는 것은 너무 번거롭습니다. 다음에서 MIB 브라우저를 다운로드하십시오.http://ireasoning.com/mibbrowser.shtml... mib 파일을 로드하면 모든 SNMP 트랩을 보고 보낼 수 있습니다.
답변3
나도 그것을 완전히 이해하지 못하지만 이것은 나에게 효과적입니다 (시행 착오 방법;)
snmptrap -v 2c -Ci -u user -c 커뮤니티 호스트 '' .xyzqoid 1 s 문자열 2 s string2