
SNMP::setSecurity에서 Community String 대신 Username과 Password를 사용하려면, SNMPv3 프로토콜을 사용해야 합니다.
SNMP::setSecurity의 경우 SNMPv2c 프로토콜을 위한 Community String을 사용하므로, SNMPv3 프로토콜을 사용하려면 SNMP::setEngineId, SNMP::setEngineBoots, SNMP::setEngineTime, SNMP::setSecurityLevel, SNMP::setAuthProtocol, SNMP::setAuthPassphrase, SNMP::setPrivProtocol, SNMP::setPrivPassphrase를 사용해야 합니다.
SNMP::setEngineId는 엔진 ID를 설정하는 메서드입니다. 엔진 ID는 SNMPv3 프로토콜에서 사용하는 고유한 ID입니다.
SNMP::setEngineBoots는 엔진 부트 시간을 설정하는 메서드입니다. 엔진 부트 시간은 SNMPv3 프로토콜에서 사용하는 시간입니다.
SNMP::setEngineTime는 엔진 시간을 설정하는 메서드입니다. 엔진 시간은 SNMPv3 프로토콜에서 사용하는 시간입니다.
SNMP::setSecurityLevel는 보안 수준을 설정하는 메서드입니다. 보안 수준은 SNMPv3 프로토콜에서 사용하는 보안 수준입니다.
SNMP::setAuthProtocol은 인증 프로토콜을 설정하는 메서드입니다. 인증 프로토콜은 SNMPv3 프로토콜에서 사용하는 인증 프로토콜입니다.
SNMP::setAuthPassphrase는 인증 암호를 설정하는 메서드입니다. 인증 암호는 SNMPv3 프로토콜에서 사용하는 인증 암호입니다.
SNMP::setPrivProtocol은 암호화 프로토콜을 설정하는 메서드입니다. 암호화 프로토콜은 SNMPv3 프로토콜에서 사용하는 암호화 프로토콜입니다.
SNMP::setPrivPassphrase는 암호화 암호를 설정하는 메서드입니다. 암호화 암호는 SNMPv3 프로토콜에서 사용하는 암호화 암호입니다.
다음은 예제입니다.
#hostingforum.kr
perl
use Net::SNMP;
my $session = Net::SNMP->session(
-hostname => 'localhost',
-community => 'public',
-version => 'snmpv3',
-username => 'myuser',
-authpassphrase => 'mypassword',
-privpassphrase => 'myprivpassword',
-authprotocol => 'SHA',
-privprotocol => 'AES',
-engineid => '0x8000000000000000',
-engineboots => 1,
-enginetime => 0,
-securitylevel => 'authPriv',
);
if (defined($session)) {
print "SNMP session established.n";
} else {
print "Error in session()n";
}
이 예제에서는 SNMPv3 프로토콜을 사용하여 SNMP::setSecurity를 호출합니다. SNMP::setSecurity는 Community String 대신 Username과 Password를 사용하므로, SNMP::setEngineId, SNMP::setEngineBoots, SNMP::setEngineTime, SNMP::setSecurityLevel, SNMP::setAuthProtocol, SNMP::setAuthPassphrase, SNMP::setPrivProtocol, SNMP::setPrivPassphrase를 사용해야 합니다.
2025-08-01 08:28