C++ SNMP Stack  0.10
클래스 | 함수
SnmpParser

SNMP 메시지 생성/파서 라이브러리 더 자세히 ...

클래스

class  CAsnComplex
 ASN 복합 타입 클래스 더 자세히 ...
class  CAsnInt
 ASN 정수 타입 클래스 더 자세히 ...
class  CAsnLong
 ASN long 타입 클래스 더 자세히 ...
class  CAsnNull
 ASN NULL 타입 클래스 더 자세히 ...
class  CAsnOid
 ASN OID 타입 클래스 더 자세히 ...
class  CAsnString
 ASN 문자열 타입 클래스 더 자세히 ...
class  CAsnType
 ASN 타입 클래스의 root 클래스 더 자세히 ...
class  CSnmpMessage
 SNMP 패킷 생성/파서 클래스 더 자세히 ...
class  CSnmpOidValue
 OID 와 OID 의 값을 저장하는 클래스 더 자세히 ...
class  CSnmpOidValueList
 OID 와 OID 의 값들을 리스트에 저장하여서 관리하는 클래스 더 자세히 ...

함수

bool SnmpMakeKey (const char *pszPassWord, uint8_t *pszKey)
 비밀번호로 key 를 생성한다.
bool SnmpMakeAuthKey (const uint8_t *pszKey, const uint8_t *pszEngineId, int iEngineIdLen, uint8_t *pszAuthKey)
 authentication key 를 생성한다.
bool SnmpMakeHmac (const char *pszPacket, int iPacketLen, const char *pszPassWord, const char *pszEngineId, int iEngineIdLen, std::string &strAuthParams)
 SNMPv3 msgAuthenticationParameters 를 계산한다.
bool SnmpEncrypt (const char *pszPacket, int iPacketLen, const char *pszPassWord, const char *pszEngineId, int iEngineIdLen, const char *pszPrivParam, int iPrivParamLen, std::string &strEncrypt)
 SNMPv3 PDU 를 암호화한다.
bool SnmpDecrypt (const char *pszPacket, int iPacketLen, const char *pszPassWord, const char *pszEngineId, int iEngineIdLen, const char *pszPrivParam, int iPrivParamLen, std::string &strPlain)
 SNMPv3 암호화된 PDU 를 복호화한다.
virtual int CAsnComplex::ParsePacket (const char *pszPacket, int iPacketLen)
 패킷을 파싱하여서 내부 변수에 패킷 데이터를 저장한다.
virtual int CAsnComplex::MakePacket (char *pszPacket, int iPacketSize)
 내부 변수를 패킷에 저장한다.
virtual CAsnTypeCAsnComplex::Copy ()
 복사한 객체를 리턴한다.
bool CAsnComplex::AddInt (uint32_t iValue)
 CAsnInt 변수를 리스트에 추가한다.
bool CAsnComplex::AddString (const char *pszValue)
 CAsnString 변수를 리스트에 추가한다.
bool CAsnComplex::AddString (std::string &strValue)
 CAsnString 변수를 리스트에 추가한다.
bool CAsnComplex::AddString (uint8_t cValue)
 1 문자로 구성된 CAsnString 변수를 리스트에 추가한다.
bool CAsnComplex::AddOid (const char *pszValue)
 CAsnOid 변수를 리스트에 추가한다.
bool CAsnComplex::AddNull ()
 CAsnNull 변수를 리스트에 추가한다.
bool CAsnComplex::AddComplex (CAsnComplex *pclsValue)
 CAsnComplex 변수를 리스트에 추가한다.
bool CAsnComplex::AddValue (CAsnType *pclsValue)
 CAsnType 변수를 리스트에 추가한다.
void CAsnComplex::Clear ()
 자료구조에 저장된 데이터를 삭제한다.
virtual int CAsnInt::ParsePacket (const char *pszPacket, int iPacketLen)
 패킷을 파싱하여서 내부 변수에 패킷 데이터를 저장한다.
virtual int CAsnInt::MakePacket (char *pszPacket, int iPacketSize)
 내부 변수를 패킷에 저장한다.
virtual CAsnTypeCAsnInt::Copy ()
 복사한 객체를 리턴한다.
virtual bool CAsnInt::GetInt (uint32_t &iValue)
 정수값을 가져온다.
virtual int CAsnLong::ParsePacket (const char *pszPacket, int iPacketLen)
 패킷을 파싱하여서 내부 변수에 패킷 데이터를 저장한다.
virtual int CAsnLong::MakePacket (char *pszPacket, int iPacketSize)
 내부 변수를 패킷에 저장한다.
virtual CAsnTypeCAsnLong::Copy ()
 복사한 객체를 리턴한다.
virtual bool CAsnLong::GetLong (uint64_t &iValue)
 정수값을 가져온다.
int CAsnLong::ParseLong (const char *pszPacket, int iPacketLen, uint8_t cLength, uint64_t &iValue)
 패킷에서 정수를 파싱한다.
virtual int CAsnNull::ParsePacket (const char *pszPacket, int iPacketLen)
 패킷을 파싱하여서 내부 변수에 패킷 데이터를 저장한다.
virtual int CAsnNull::MakePacket (char *pszPacket, int iPacketSize)
 내부 변수를 패킷에 저장한다.
virtual CAsnTypeCAsnNull::Copy ()
 복사한 객체를 리턴한다.
virtual int CAsnOid::ParsePacket (const char *pszPacket, int iPacketLen)
 패킷을 파싱하여서 내부 변수에 패킷 데이터를 저장한다.
virtual int CAsnOid::MakePacket (char *pszPacket, int iPacketSize)
 내부 변수를 패킷에 저장한다.
virtual CAsnTypeCAsnOid::Copy ()
 복사한 객체를 리턴한다.
virtual bool CAsnOid::GetString (std::string &strValue)
 OID 문자열을 가져온다.
virtual int CAsnString::ParsePacket (const char *pszPacket, int iPacketLen)
 패킷을 파싱하여서 내부 변수에 패킷 데이터를 저장한다.
virtual int CAsnString::MakePacket (char *pszPacket, int iPacketSize)
 내부 변수를 패킷에 저장한다.
virtual CAsnTypeCAsnString::Copy ()
 복사한 객체를 리턴한다.
virtual bool CAsnString::GetString (std::string &strValue)
 문자열을 가져온다.
virtual bool CAsnType::GetInt (uint32_t &iValue)
 ASN 변수에 정수가 저장되어 있으면 정수값을 가져온다.
virtual bool CAsnType::GetLong (uint64_t &iValue)
 ASN 변수에 정수가 저장되어 있으면 정수값을 가져온다.
virtual bool CAsnType::GetString (std::string &strValue)
 ASN 변수에 문자열이 저장되어 있으면 문자열을 가져온다.
int CAsnType::ParseHeader (const char *pszPacket, int iPacketLen)
 패킷을 파싱하여서 ASN.1 타입 및 body 길이를 저장한다.
int CAsnType::SetHeaderLength (char *pszPacket, int iPacketSize, int iLength)
 패킷에 body 길이를 저장한다.
static int CAsnType::ParseInt (const char *pszPacket, int iPacketLen, uint8_t cLength, uint32_t &iValue)
 패킷에서 정수를 파싱한다.
static int CAsnType::SetInt (uint8_t *pszPacket, int iPacketLen, uint32_t iValue)
 ASN.1 header 의 body 길이를 저장한다.
void CSnmpMessage::Clear ()
 내부 변수를 초기화시킨다.
bool CSnmpMessage::MakeGetRequest (const char *pszCommunity, uint32_t iRequestId, const char *pszOid)
 SNMPv2 GET 요청 메시지를 생성한다.
bool CSnmpMessage::MakeGetNextRequest (const char *pszCommunity, uint32_t iRequestId, const char *pszOid)
 SNMPv2 GET NEXT 요청 메시지를 생성한다.
bool CSnmpMessage::MakeTrapRequest (const char *pszTrapOid)
 SNMPv2 TRAP 메시지를 생성한다.
bool CSnmpMessage::MakeGetRequest (const char *pszUserName, const char *pszAuthPassWord, const char *pszPrivPassWord, uint32_t iRequestId, const char *pszOid)
 SNMPv3 GET 요청 메시지를 생성한다.
bool CSnmpMessage::MakeGetNextRequest (const char *pszUserName, const char *pszAuthPassWord, const char *pszPrivPassWord, uint32_t iRequestId, const char *pszOid)
 SNMPv3 GET 요청 메시지를 생성한다.
const char * CSnmpMessage::GetOid ()
 첫번째 OID 를 가져온다.
bool CSnmpMessage::AddOidValue (const char *pszOid, CAsnType *pclsValue)
 OID 와 OID 의 값을 저장한다.
bool CSnmpMessage::AddOidValue (const char *pszOid, uint32_t iValue)
 OID 와 정수를 저장한다.
bool CSnmpMessage::AddOidValue (const char *pszOid, int32_t iValue)
 OID 와 정수를 저장한다.
bool CSnmpMessage::AddOidValue (const char *pszOid, time_t iValue)
 OID 와 시간을 저장한다.
bool CSnmpMessage::AddOidValue (const char *pszOid, const char *pszValue)
 OID 와 문자열을 저장한다.
bool CSnmpMessage::AddOidValueOid (const char *pszOid, const char *pszValue)
 OID 와 OID 를 저장한다.
bool CSnmpMessage::AddOidValueCounter (const char *pszOid, uint32_t iValue)
 OID 와 카운트를 저장한다.
bool CSnmpMessage::AddOidValueIpAddress (const char *pszOid, const char *pszIp)
 OID 와 IP 주소를 저장한다.
CSnmpMessageCSnmpMessage::CreateResponse ()
 SNMP 응답 메시지를 생성한다.
static CSnmpMessageCSnmpMessage::Create (CSnmpMessage *pclsMessage)
 SNMP 메시지를 생성한 후, 입력된 SNMP 메시지를 복사한다.
int CSnmpMessage::MakePacket (char *pszPacket, int iPacketSize)
 내부 변수를 패킷에 저장한다.
bool CSnmpMessage::MakePacket ()
 패킷을 생성하여서 내부 변수에 저장한다.
int CSnmpMessage::ParsePacket (const char *pszPacket, int iPacketLen)
 패킷을 파싱하여서 내부 변수에 패킷 데이터를 저장한다.
int CSnmpMessage::GetPacketLen (const char *pszPacket, int iPacketLen)
 수신해야 하는 패킷 길이를 리턴한다.
bool CSnmpMessage::SetPrivParams ()
 msgPrivacyParameters 값을 설정하고 PDU 를 암호화한다.
bool CSnmpMessage::SetAuthParams ()
 msgAuthenticationParameters 값을 계산한다.
bool CSnmpMessage::ParseEncryptedPdu ()
 암호화된 PDU 를 복호화하여서 내부 변수에 저장한다.
bool CSnmpMessage::CheckAuth ()
 인증 정보가 유효한지 검사한다.
void CSnmpOidValue::Clear ()
 내부 변수를 초기화 시킨다.
CSnmpOidValueCSnmpOidValue::Copy ()
 자신의 내부 변수의 값과 동일한 객체를 복사하여서 리턴한다.
bool CSnmpOidValueList::Add (const char *pszOid, CAsnType *pclsValue)
 OID 와 OID 의 값을 저장한다.
void CSnmpOidValueList::Clear ()
 내부 변수를 초기화 시킨다.
CSnmpOidValueCSnmpOidValueList::GetFirst ()
 리스트의 첫번째 OID 와 OID 값을 저장한 객체를 가져온다.
CSnmpOidValueListCSnmpOidValueList::Copy ()
 자신의 내부 변수의 값과 동일한 객체를 복사하여서 리턴한다.
CAsnComplexCSnmpOidValueList::GetComplex ()
 OID 와 OID 의 값을 CAsnComplex 에 저장하여서 리턴한다.

상세한 설명

SNMP 메시지 생성/파서 라이브러리

함수 문서화

bool CSnmpOidValueList::Add ( const char *  pszOid,
CAsnType pclsValue 
)

OID 와 OID 의 값을 저장한다.

매개변수
pszOidOID
pclsValueOID 의 값
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool CAsnComplex::AddComplex ( CAsnComplex pclsValue)

CAsnComplex 변수를 리스트에 추가한다.

매개변수
pclsValueCAsnComplex 변수
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool CAsnComplex::AddInt ( uint32_t  iValue)

CAsnInt 변수를 리스트에 추가한다.

매개변수
iValue정수
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool CAsnComplex::AddNull ( )

CAsnNull 변수를 리스트에 추가한다.

반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool CAsnComplex::AddOid ( const char *  pszValue)

CAsnOid 변수를 리스트에 추가한다.

매개변수
pszValueOID 문자열
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool CSnmpMessage::AddOidValue ( const char *  pszOid,
CAsnType pclsValue 
)

OID 와 OID 의 값을 저장한다.

매개변수
pszOidOID
pclsValueOID 의 값
반환값
성공하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
bool CSnmpMessage::AddOidValue ( const char *  pszOid,
int32_t  iValue 
)

OID 와 정수를 저장한다.

매개변수
pszOidOID
iValue정수 ( OID 의 값 )
반환값
성공하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
bool CSnmpMessage::AddOidValue ( const char *  pszOid,
uint32_t  iValue 
)

OID 와 정수를 저장한다.

매개변수
pszOidOID
iValue정수 ( OID 의 값 )
반환값
성공하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
bool CSnmpMessage::AddOidValue ( const char *  pszOid,
time_t  iValue 
)

OID 와 시간을 저장한다.

매개변수
pszOidOID
iValue시간 ( OID 의 값 )
반환값
성공하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
bool CSnmpMessage::AddOidValue ( const char *  pszOid,
const char *  pszValue 
)

OID 와 문자열을 저장한다.

매개변수
pszOidOID
pszValue문자열 ( OID 의 값 )
반환값
성공하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
bool CSnmpMessage::AddOidValueCounter ( const char *  pszOid,
uint32_t  iValue 
)

OID 와 카운트를 저장한다.

매개변수
pszOidOID
iValue정수 ( OID 의 값 )
반환값
성공하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
bool CSnmpMessage::AddOidValueIpAddress ( const char *  pszOid,
const char *  pszIp 
)

OID 와 IP 주소를 저장한다.

매개변수
pszOidOID
pszIpIPv4 IP 주소
반환값
성공하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
bool CSnmpMessage::AddOidValueOid ( const char *  pszOid,
const char *  pszValue 
)

OID 와 OID 를 저장한다.

매개변수
pszOidOID
pszValueOID ( OID 의 값 )
반환값
성공하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
bool CAsnComplex::AddString ( const char *  pszValue)

CAsnString 변수를 리스트에 추가한다.

매개변수
pszValue문자열
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool CAsnComplex::AddString ( std::string &  strValue)

CAsnString 변수를 리스트에 추가한다.

매개변수
strValue문자열
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool CAsnComplex::AddString ( uint8_t  cValue)

1 문자로 구성된 CAsnString 변수를 리스트에 추가한다.

매개변수
cValue1 문자
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool CAsnComplex::AddValue ( CAsnType pclsValue)

CAsnType 변수를 리스트에 추가한다.

매개변수
pclsValueCAsnType 변수
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool CSnmpMessage::CheckAuth ( )

인증 정보가 유효한지 검사한다.

반환값
인증 정보가 유효하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
void CSnmpOidValue::Clear ( )

내부 변수를 초기화 시킨다.

void CSnmpMessage::Clear ( )

내부 변수를 초기화시킨다.

void CAsnComplex::Clear ( )

자료구조에 저장된 데이터를 삭제한다.

void CSnmpOidValueList::Clear ( )

내부 변수를 초기화 시킨다.

CSnmpOidValue * CSnmpOidValue::Copy ( )

자신의 내부 변수의 값과 동일한 객체를 복사하여서 리턴한다.

반환값
성공하면 자신의 내부 변수의 값과 동일한 객체를 복사하여서 리턴하고 그렇지 않으면 NULL 을 리턴한다.
CAsnType * CAsnLong::Copy ( )
virtual

복사한 객체를 리턴한다.

반환값
복사한 객체를 리턴한다.

CAsnType를 구현.

CAsnType * CAsnNull::Copy ( )
virtual

복사한 객체를 리턴한다.

반환값
복사한 객체를 리턴한다.

CAsnType를 구현.

CAsnType * CAsnOid::Copy ( )
virtual

복사한 객체를 리턴한다.

반환값
복사한 객체를 리턴한다.

CAsnType를 구현.

CAsnType * CAsnInt::Copy ( )
virtual

복사한 객체를 리턴한다.

반환값
복사한 객체를 리턴한다.

CAsnType를 구현.

CAsnType * CAsnComplex::Copy ( )
virtual

복사한 객체를 리턴한다.

반환값
복사한 객체를 리턴한다.

CAsnType를 구현.

CAsnType * CAsnString::Copy ( )
virtual

복사한 객체를 리턴한다.

반환값
복사한 객체를 리턴한다.

CAsnType를 구현.

CSnmpOidValueList * CSnmpOidValueList::Copy ( )

자신의 내부 변수의 값과 동일한 객체를 복사하여서 리턴한다.

반환값
성공하면 자신의 내부 변수의 값과 동일한 객체를 복사하여서 리턴하고 그렇지 않으면 NULL 을 리턴한다.
CSnmpMessage * CSnmpMessage::Create ( CSnmpMessage pclsMessage)
static

SNMP 메시지를 생성한 후, 입력된 SNMP 메시지를 복사한다.

매개변수
pclsMessageSNMP 메시지
반환값
성공하면 복사된 SNMP 메시지를 리턴하고 그렇지 않으면 NULL 을 리턴한다.
CSnmpMessage * CSnmpMessage::CreateResponse ( )

SNMP 응답 메시지를 생성한다.

반환값
SNMP 응답 메시지를 리턴한다.
CAsnComplex * CSnmpOidValueList::GetComplex ( )

OID 와 OID 의 값을 CAsnComplex 에 저장하여서 리턴한다.

반환값
성공하면 OID 와 OID 의 값을 저장한 CAsnComplex 객체를 리턴하고 실패하면 NULL 을 리턴한다.
CSnmpOidValue * CSnmpOidValueList::GetFirst ( )

리스트의 첫번째 OID 와 OID 값을 저장한 객체를 가져온다.

반환값
리스트의 첫번째가 존재하면 OID 와 OID 값을 저장한 객체를 리턴하고 그렇지 않으면 NULL 을 리턴한다.
bool CAsnInt::GetInt ( uint32_t &  iValue)
virtual

정수값을 가져온다.

매개변수
iValue정수를 저장할 변수
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.

CAsnType(으)로부터 재구현되었습니다.

bool CAsnType::GetInt ( uint32_t &  iValue)
virtual

ASN 변수에 정수가 저장되어 있으면 정수값을 가져온다.

매개변수
iValue정수를 저장할 변수
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.

CAsnInt에서 재구현되었습니다.

bool CAsnLong::GetLong ( uint64_t &  iValue)
virtual

정수값을 가져온다.

매개변수
iValue정수를 저장할 변수
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.

CAsnType(으)로부터 재구현되었습니다.

bool CAsnType::GetLong ( uint64_t &  iValue)
virtual

ASN 변수에 정수가 저장되어 있으면 정수값을 가져온다.

매개변수
iValue정수를 저장할 변수
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.

CAsnLong에서 재구현되었습니다.

const char * CSnmpMessage::GetOid ( )

첫번째 OID 를 가져온다.

반환값
첫번째 OID 가 존재하면 첫번째 OID 를 리턴하고 그렇지 않으면 NULL 을 리턴한다.
int CSnmpMessage::GetPacketLen ( const char *  pszPacket,
int  iPacketLen 
)

수신해야 하는 패킷 길이를 리턴한다.

매개변수
pszPacket패킷
iPacketLen패킷 길이
반환값
성공하면 수신해야 할 패킷 길이를 리턴하고 그렇지 않으면 -1 을 리턴한다.
bool CAsnOid::GetString ( std::string &  strValue)
virtual

OID 문자열을 가져온다.

매개변수
strValueOID 문자열을 저장할 변수
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.

CAsnType(으)로부터 재구현되었습니다.

bool CAsnString::GetString ( std::string &  strValue)
virtual

문자열을 가져온다.

매개변수
strValue문자열을 저장할 변수
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.

CAsnType(으)로부터 재구현되었습니다.

bool CAsnType::GetString ( std::string &  strValue)
virtual

ASN 변수에 문자열이 저장되어 있으면 문자열을 가져온다.

매개변수
strValue문자열을 저장할 변수
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.

CAsnString, CAsnOid에서 재구현되었습니다.

bool CSnmpMessage::MakeGetNextRequest ( const char *  pszCommunity,
uint32_t  iRequestId,
const char *  pszOid 
)

SNMPv2 GET NEXT 요청 메시지를 생성한다.

매개변수
pszCommunitycommunity 문자열
iRequestId요청 아이디
pszOidOID 문자열
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool CSnmpMessage::MakeGetNextRequest ( const char *  pszUserName,
const char *  pszAuthPassWord,
const char *  pszPrivPassWord,
uint32_t  iRequestId,
const char *  pszOid 
)

SNMPv3 GET 요청 메시지를 생성한다.

매개변수
pszUserName사용자 아이디
pszAuthPassWordmsgAuthenticationParameters 생성을 위한 비밀번호
pszPrivPassWordmsgPrivacyParameters 생성을 위한 비밀번호
iRequestId요청 아이디
pszOidOID 문자열
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool CSnmpMessage::MakeGetRequest ( const char *  pszCommunity,
uint32_t  iRequestId,
const char *  pszOid 
)

SNMPv2 GET 요청 메시지를 생성한다.

매개변수
pszCommunitycommunity 문자열
iRequestId요청 아이디
pszOidOID 문자열
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool CSnmpMessage::MakeGetRequest ( const char *  pszUserName,
const char *  pszAuthPassWord,
const char *  pszPrivPassWord,
uint32_t  iRequestId,
const char *  pszOid 
)

SNMPv3 GET 요청 메시지를 생성한다.

매개변수
pszUserName사용자 아이디
pszAuthPassWordmsgAuthenticationParameters 생성을 위한 비밀번호
pszPrivPassWordmsgPrivacyParameters 생성을 위한 비밀번호
iRequestId요청 아이디
pszOidOID 문자열
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
int CAsnLong::MakePacket ( char *  pszPacket,
int  iPacketSize 
)
virtual

내부 변수를 패킷에 저장한다.

매개변수
pszPacket패킷
iPacketSize패킷 크기
반환값
성공하면 저장된 패킷 길이를 리턴하고 실패하면 -1 을 리턴한다.

CAsnType를 구현.

int CAsnNull::MakePacket ( char *  pszPacket,
int  iPacketSize 
)
virtual

내부 변수를 패킷에 저장한다.

매개변수
pszPacket패킷
iPacketSize패킷 크기
반환값
성공하면 저장된 패킷 길이를 리턴하고 실패하면 -1 을 리턴한다.

CAsnType를 구현.

int CAsnInt::MakePacket ( char *  pszPacket,
int  iPacketSize 
)
virtual

내부 변수를 패킷에 저장한다.

매개변수
pszPacket패킷
iPacketSize패킷 크기
반환값
성공하면 저장된 패킷 길이를 리턴하고 실패하면 -1 을 리턴한다.

CAsnType를 구현.

int CAsnOid::MakePacket ( char *  pszPacket,
int  iPacketSize 
)
virtual

내부 변수를 패킷에 저장한다.

매개변수
pszPacket패킷
iPacketSize패킷 크기
반환값
성공하면 저장된 패킷 길이를 리턴하고 실패하면 -1 을 리턴한다.

CAsnType를 구현.

int CAsnComplex::MakePacket ( char *  pszPacket,
int  iPacketSize 
)
virtual

내부 변수를 패킷에 저장한다.

매개변수
pszPacket패킷
iPacketSize패킷 크기
반환값
성공하면 저장된 패킷 길이를 리턴하고 실패하면 -1 을 리턴한다.

CAsnType를 구현.

int CAsnString::MakePacket ( char *  pszPacket,
int  iPacketSize 
)
virtual

내부 변수를 패킷에 저장한다.

매개변수
pszPacket패킷
iPacketSize패킷 크기
반환값
성공하면 저장된 패킷 길이를 리턴하고 실패하면 -1 을 리턴한다.

CAsnType를 구현.

int CSnmpMessage::MakePacket ( char *  pszPacket,
int  iPacketSize 
)

내부 변수를 패킷에 저장한다.

매개변수
pszPacket패킷
iPacketSize패킷 크기
반환값
성공하면 저장된 패킷 길이를 리턴하고 실패하면 -1 을 리턴한다.
bool CSnmpMessage::MakePacket ( )

패킷을 생성하여서 내부 변수에 저장한다.

반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool CSnmpMessage::MakeTrapRequest ( const char *  pszTrapOid)

SNMPv2 TRAP 메시지를 생성한다.

본 메소드를 호출한 후, AddOidValue 메소드를 호출하여서 TRAP 으로 전송할 OID 와 OID 의 값을 저장해야 한다.

매개변수
pszTrapOidTRAP OID 문자열
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool CSnmpMessage::ParseEncryptedPdu ( )

암호화된 PDU 를 복호화하여서 내부 변수에 저장한다.

반환값
성공하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
int CAsnType::ParseHeader ( const char *  pszPacket,
int  iPacketLen 
)

패킷을 파싱하여서 ASN.1 타입 및 body 길이를 저장한다.

매개변수
pszPacket패킷
iPacketLen패킷 길이
반환값
성공하면 파싱한 패킷 길이를 리턴하고 그렇지 않으면 -1 을 리턴한다.
int CAsnType::ParseInt ( const char *  pszPacket,
int  iPacketLen,
uint8_t  cLength,
uint32_t &  iValue 
)
static

패킷에서 정수를 파싱한다.

매개변수
pszPacket패킷
iPacketLen패킷 길이
cLength패킷에 저장된 정수의 길이
iValue정수값 저장 변수
반환값
성공하면 파싱한 패킷 길이를 리턴하고 그렇지 않으면 -1 을 리턴한다.
int CAsnLong::ParseLong ( const char *  pszPacket,
int  iPacketLen,
uint8_t  cLength,
uint64_t &  iValue 
)

패킷에서 정수를 파싱한다.

매개변수
pszPacket패킷
iPacketLen패킷 길이
cLength패킷에 저장된 정수의 길이
iValue정수값 저장 변수
반환값
성공하면 파싱한 패킷 길이를 리턴하고 그렇지 않으면 -1 을 리턴한다.
int CAsnNull::ParsePacket ( const char *  pszPacket,
int  iPacketLen 
)
virtual

패킷을 파싱하여서 내부 변수에 패킷 데이터를 저장한다.

매개변수
pszPacket패킷
iPacketLen패킷 길이
반환값
성공하면 파싱한 패킷 길이를 리턴하고 실패하면 -1 을 리턴한다.

CAsnType를 구현.

int CAsnLong::ParsePacket ( const char *  pszPacket,
int  iPacketLen 
)
virtual

패킷을 파싱하여서 내부 변수에 패킷 데이터를 저장한다.

매개변수
pszPacket패킷
iPacketLen패킷 길이
반환값
성공하면 파싱한 패킷 길이를 리턴하고 실패하면 -1 을 리턴한다.

CAsnType를 구현.

int CAsnInt::ParsePacket ( const char *  pszPacket,
int  iPacketLen 
)
virtual

패킷을 파싱하여서 내부 변수에 패킷 데이터를 저장한다.

매개변수
pszPacket패킷
iPacketLen패킷 길이
반환값
성공하면 파싱한 패킷 길이를 리턴하고 실패하면 -1 을 리턴한다.

CAsnType를 구현.

int CAsnOid::ParsePacket ( const char *  pszPacket,
int  iPacketLen 
)
virtual

패킷을 파싱하여서 내부 변수에 패킷 데이터를 저장한다.

매개변수
pszPacket패킷
iPacketLen패킷 길이
반환값
성공하면 파싱한 패킷 길이를 리턴하고 실패하면 -1 을 리턴한다.

CAsnType를 구현.

int CAsnComplex::ParsePacket ( const char *  pszPacket,
int  iPacketLen 
)
virtual

패킷을 파싱하여서 내부 변수에 패킷 데이터를 저장한다.

매개변수
pszPacket패킷
iPacketLen패킷 길이
반환값
성공하면 파싱한 패킷 길이를 리턴하고 실패하면 -1 을 리턴한다.

CAsnType를 구현.

int CAsnString::ParsePacket ( const char *  pszPacket,
int  iPacketLen 
)
virtual

패킷을 파싱하여서 내부 변수에 패킷 데이터를 저장한다.

매개변수
pszPacket패킷
iPacketLen패킷 길이
반환값
성공하면 파싱한 패킷 길이를 리턴하고 실패하면 -1 을 리턴한다.

CAsnType를 구현.

int CSnmpMessage::ParsePacket ( const char *  pszPacket,
int  iPacketLen 
)

패킷을 파싱하여서 내부 변수에 패킷 데이터를 저장한다.

매개변수
pszPacket패킷
iPacketLen패킷 길이
반환값
성공하면 파싱한 패킷 길이를 리턴하고 실패하면 -1 을 리턴한다.
bool CSnmpMessage::SetAuthParams ( )

msgAuthenticationParameters 값을 계산한다.

반환값
성공하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
int CAsnType::SetHeaderLength ( char *  pszPacket,
int  iPacketSize,
int  iLength 
)

패킷에 body 길이를 저장한다.

body 길이가 127 보다 크다면 패킷을 body 길이를 저장할 만큼 뒤로 복사한다.

매개변수
pszPacket패킷의 body 길이 저장 위치
iPacketSize패킷 크기
iLengthbody 길이
반환값
성공하면 저장된 패킷 길이를 리턴하고 그렇지 않으면 -1 을 리턴한다.
int CAsnType::SetInt ( uint8_t *  pszPacket,
int  iPacketLen,
uint32_t  iValue 
)
static

ASN.1 header 의 body 길이를 저장한다.

매개변수
pszPacket패킷의 body 길이 위치
iPacketLen패킷의 길이
iValuebody 길이
반환값
성공하면 저장된 패킷 길이를 리턴한다.
bool CSnmpMessage::SetPrivParams ( )

msgPrivacyParameters 값을 설정하고 PDU 를 암호화한다.

반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool SnmpDecrypt ( const char *  pszPacket,
int  iPacketLen,
const char *  pszPassWord,
const char *  pszEngineId,
int  iEngineIdLen,
const char *  pszPrivParam,
int  iPrivParamLen,
std::string &  strPlain 
)

SNMPv3 암호화된 PDU 를 복호화한다.

매개변수
pszPacket암호화된 PDU
iPacketLen암호화된 PDU 길이
pszPassWordprivate 비밀번호
pszEngineIdSNMPv3 engine ID
iEngineIdLenSNMPv3 engine ID 길이
pszPrivParammsgPrivacyParameter
iPrivParamLenmsgPrivacyParameter 길이
strPlain평문 PDU 저장 변수
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool SnmpEncrypt ( const char *  pszPacket,
int  iPacketLen,
const char *  pszPassWord,
const char *  pszEngineId,
int  iEngineIdLen,
const char *  pszPrivParam,
int  iPrivParamLen,
std::string &  strEncrypt 
)

SNMPv3 PDU 를 암호화한다.

매개변수
pszPacket평문 PDU 패킷
iPacketLen평문 PDU 패킷 길이
pszPassWordprivate 비밀번호
pszEngineIdSNMPv3 engine ID
iEngineIdLenSNMPv3 engine ID 길이
pszPrivParammsgPrivacyParameter
iPrivParamLenmsgPrivacyParameter 길이
strEncrypt암화화된 PDU 저장 변수
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool SnmpMakeAuthKey ( const uint8_t *  pszKey,
const uint8_t *  pszEngineId,
int  iEngineIdLen,
uint8_t *  pszAuthKey 
)

authentication key 를 생성한다.

매개변수
pszKeykey
pszEngineIdSNMPv3 engine ID
iEngineIdLenSNMPv3 engine ID 길이
pszAuthKeyauthentication key 저장 변수
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool SnmpMakeHmac ( const char *  pszPacket,
int  iPacketLen,
const char *  pszPassWord,
const char *  pszEngineId,
int  iEngineIdLen,
std::string &  strAuthParams 
)

SNMPv3 msgAuthenticationParameters 를 계산한다.

매개변수
pszPacket패킷
iPacketLen패킷 길이
pszPassWord비밀번호
pszEngineIdSNMPv3 engine ID
iEngineIdLenSNMPv3 engine ID 길이
strAuthParamsSNMPv3 msgAuthenticationParameters 저장 변수
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool SnmpMakeKey ( const char *  pszPassWord,
uint8_t *  pszKey 
)

비밀번호로 key 를 생성한다.

매개변수
pszPassWord비밀번호
pszKey생성된 key 저장 변수
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.