|
C++ SNMP Stack
0.10
|
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 CAsnType * | CAsnComplex::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 CAsnType * | CAsnInt::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 CAsnType * | CAsnLong::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 CAsnType * | CAsnNull::Copy () |
| 복사한 객체를 리턴한다. | |
| virtual int | CAsnOid::ParsePacket (const char *pszPacket, int iPacketLen) |
| 패킷을 파싱하여서 내부 변수에 패킷 데이터를 저장한다. | |
| virtual int | CAsnOid::MakePacket (char *pszPacket, int iPacketSize) |
| 내부 변수를 패킷에 저장한다. | |
| virtual CAsnType * | CAsnOid::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 CAsnType * | CAsnString::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 주소를 저장한다. | |
| CSnmpMessage * | CSnmpMessage::CreateResponse () |
| SNMP 응답 메시지를 생성한다. | |
| static CSnmpMessage * | CSnmpMessage::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 () |
| 내부 변수를 초기화 시킨다. | |
| CSnmpOidValue * | CSnmpOidValue::Copy () |
| 자신의 내부 변수의 값과 동일한 객체를 복사하여서 리턴한다. | |
| bool | CSnmpOidValueList::Add (const char *pszOid, CAsnType *pclsValue) |
| OID 와 OID 의 값을 저장한다. | |
| void | CSnmpOidValueList::Clear () |
| 내부 변수를 초기화 시킨다. | |
| CSnmpOidValue * | CSnmpOidValueList::GetFirst () |
| 리스트의 첫번째 OID 와 OID 값을 저장한 객체를 가져온다. | |
| CSnmpOidValueList * | CSnmpOidValueList::Copy () |
| 자신의 내부 변수의 값과 동일한 객체를 복사하여서 리턴한다. | |
| CAsnComplex * | CSnmpOidValueList::GetComplex () |
| OID 와 OID 의 값을 CAsnComplex 에 저장하여서 리턴한다. | |
SNMP 메시지 생성/파서 라이브러리
| bool CSnmpOidValueList::Add | ( | const char * | pszOid, |
| CAsnType * | pclsValue | ||
| ) |
OID 와 OID 의 값을 저장한다.
| pszOid | OID |
| pclsValue | OID 의 값 |
| bool CAsnComplex::AddComplex | ( | CAsnComplex * | pclsValue | ) |
| bool CAsnComplex::AddInt | ( | uint32_t | iValue | ) |
| bool CAsnComplex::AddNull | ( | ) |
CAsnNull 변수를 리스트에 추가한다.
| bool CAsnComplex::AddOid | ( | const char * | pszValue | ) |
| bool CSnmpMessage::AddOidValue | ( | const char * | pszOid, |
| CAsnType * | pclsValue | ||
| ) |
OID 와 OID 의 값을 저장한다.
| pszOid | OID |
| pclsValue | OID 의 값 |
| bool CSnmpMessage::AddOidValue | ( | const char * | pszOid, |
| int32_t | iValue | ||
| ) |
OID 와 정수를 저장한다.
| pszOid | OID |
| iValue | 정수 ( OID 의 값 ) |
| bool CSnmpMessage::AddOidValue | ( | const char * | pszOid, |
| uint32_t | iValue | ||
| ) |
OID 와 정수를 저장한다.
| pszOid | OID |
| iValue | 정수 ( OID 의 값 ) |
| bool CSnmpMessage::AddOidValue | ( | const char * | pszOid, |
| time_t | iValue | ||
| ) |
OID 와 시간을 저장한다.
| pszOid | OID |
| iValue | 시간 ( OID 의 값 ) |
| bool CSnmpMessage::AddOidValue | ( | const char * | pszOid, |
| const char * | pszValue | ||
| ) |
OID 와 문자열을 저장한다.
| pszOid | OID |
| pszValue | 문자열 ( OID 의 값 ) |
| bool CSnmpMessage::AddOidValueCounter | ( | const char * | pszOid, |
| uint32_t | iValue | ||
| ) |
OID 와 카운트를 저장한다.
| pszOid | OID |
| iValue | 정수 ( OID 의 값 ) |
| bool CSnmpMessage::AddOidValueIpAddress | ( | const char * | pszOid, |
| const char * | pszIp | ||
| ) |
OID 와 IP 주소를 저장한다.
| pszOid | OID |
| pszIp | IPv4 IP 주소 |
| bool CSnmpMessage::AddOidValueOid | ( | const char * | pszOid, |
| const char * | pszValue | ||
| ) |
OID 와 OID 를 저장한다.
| pszOid | OID |
| pszValue | OID ( OID 의 값 ) |
| bool CAsnComplex::AddString | ( | const char * | pszValue | ) |
| bool CAsnComplex::AddString | ( | std::string & | strValue | ) |
| bool CAsnComplex::AddString | ( | uint8_t | cValue | ) |
| bool CAsnComplex::AddValue | ( | CAsnType * | pclsValue | ) |
| bool CSnmpMessage::CheckAuth | ( | ) |
인증 정보가 유효한지 검사한다.
| void CSnmpOidValue::Clear | ( | ) |
내부 변수를 초기화 시킨다.
| void CSnmpMessage::Clear | ( | ) |
내부 변수를 초기화시킨다.
| void CAsnComplex::Clear | ( | ) |
자료구조에 저장된 데이터를 삭제한다.
| void CSnmpOidValueList::Clear | ( | ) |
내부 변수를 초기화 시킨다.
| CSnmpOidValue * CSnmpOidValue::Copy | ( | ) |
자신의 내부 변수의 값과 동일한 객체를 복사하여서 리턴한다.
| CSnmpOidValueList * CSnmpOidValueList::Copy | ( | ) |
자신의 내부 변수의 값과 동일한 객체를 복사하여서 리턴한다.
|
static |
SNMP 메시지를 생성한 후, 입력된 SNMP 메시지를 복사한다.
| pclsMessage | SNMP 메시지 |
| CSnmpMessage * CSnmpMessage::CreateResponse | ( | ) |
SNMP 응답 메시지를 생성한다.
| CAsnComplex * CSnmpOidValueList::GetComplex | ( | ) |
OID 와 OID 의 값을 CAsnComplex 에 저장하여서 리턴한다.
| CSnmpOidValue * CSnmpOidValueList::GetFirst | ( | ) |
리스트의 첫번째 OID 와 OID 값을 저장한 객체를 가져온다.
|
virtual |
|
virtual |
ASN 변수에 정수가 저장되어 있으면 정수값을 가져온다.
| iValue | 정수를 저장할 변수 |
CAsnInt에서 재구현되었습니다.
|
virtual |
|
virtual |
ASN 변수에 정수가 저장되어 있으면 정수값을 가져온다.
| iValue | 정수를 저장할 변수 |
CAsnLong에서 재구현되었습니다.
| const char * CSnmpMessage::GetOid | ( | ) |
첫번째 OID 를 가져온다.
| int CSnmpMessage::GetPacketLen | ( | const char * | pszPacket, |
| int | iPacketLen | ||
| ) |
수신해야 하는 패킷 길이를 리턴한다.
| pszPacket | 패킷 |
| iPacketLen | 패킷 길이 |
|
virtual |
OID 문자열을 가져온다.
| strValue | OID 문자열을 저장할 변수 |
CAsnType(으)로부터 재구현되었습니다.
|
virtual |
|
virtual |
ASN 변수에 문자열이 저장되어 있으면 문자열을 가져온다.
| strValue | 문자열을 저장할 변수 |
CAsnString, CAsnOid에서 재구현되었습니다.
| bool CSnmpMessage::MakeGetNextRequest | ( | const char * | pszCommunity, |
| uint32_t | iRequestId, | ||
| const char * | pszOid | ||
| ) |
SNMPv2 GET NEXT 요청 메시지를 생성한다.
| pszCommunity | community 문자열 |
| iRequestId | 요청 아이디 |
| pszOid | OID 문자열 |
| bool CSnmpMessage::MakeGetNextRequest | ( | const char * | pszUserName, |
| const char * | pszAuthPassWord, | ||
| const char * | pszPrivPassWord, | ||
| uint32_t | iRequestId, | ||
| const char * | pszOid | ||
| ) |
SNMPv3 GET 요청 메시지를 생성한다.
| pszUserName | 사용자 아이디 |
| pszAuthPassWord | msgAuthenticationParameters 생성을 위한 비밀번호 |
| pszPrivPassWord | msgPrivacyParameters 생성을 위한 비밀번호 |
| iRequestId | 요청 아이디 |
| pszOid | OID 문자열 |
| bool CSnmpMessage::MakeGetRequest | ( | const char * | pszCommunity, |
| uint32_t | iRequestId, | ||
| const char * | pszOid | ||
| ) |
SNMPv2 GET 요청 메시지를 생성한다.
| pszCommunity | community 문자열 |
| iRequestId | 요청 아이디 |
| pszOid | OID 문자열 |
| bool CSnmpMessage::MakeGetRequest | ( | const char * | pszUserName, |
| const char * | pszAuthPassWord, | ||
| const char * | pszPrivPassWord, | ||
| uint32_t | iRequestId, | ||
| const char * | pszOid | ||
| ) |
SNMPv3 GET 요청 메시지를 생성한다.
| pszUserName | 사용자 아이디 |
| pszAuthPassWord | msgAuthenticationParameters 생성을 위한 비밀번호 |
| pszPrivPassWord | msgPrivacyParameters 생성을 위한 비밀번호 |
| iRequestId | 요청 아이디 |
| pszOid | OID 문자열 |
|
virtual |
내부 변수를 패킷에 저장한다.
| pszPacket | 패킷 |
| iPacketSize | 패킷 크기 |
CAsnType를 구현.
|
virtual |
내부 변수를 패킷에 저장한다.
| pszPacket | 패킷 |
| iPacketSize | 패킷 크기 |
CAsnType를 구현.
|
virtual |
내부 변수를 패킷에 저장한다.
| pszPacket | 패킷 |
| iPacketSize | 패킷 크기 |
CAsnType를 구현.
|
virtual |
내부 변수를 패킷에 저장한다.
| pszPacket | 패킷 |
| iPacketSize | 패킷 크기 |
CAsnType를 구현.
|
virtual |
내부 변수를 패킷에 저장한다.
| pszPacket | 패킷 |
| iPacketSize | 패킷 크기 |
CAsnType를 구현.
|
virtual |
내부 변수를 패킷에 저장한다.
| pszPacket | 패킷 |
| iPacketSize | 패킷 크기 |
CAsnType를 구현.
| int CSnmpMessage::MakePacket | ( | char * | pszPacket, |
| int | iPacketSize | ||
| ) |
내부 변수를 패킷에 저장한다.
| pszPacket | 패킷 |
| iPacketSize | 패킷 크기 |
| bool CSnmpMessage::MakePacket | ( | ) |
패킷을 생성하여서 내부 변수에 저장한다.
| bool CSnmpMessage::MakeTrapRequest | ( | const char * | pszTrapOid | ) |
SNMPv2 TRAP 메시지를 생성한다.
본 메소드를 호출한 후, AddOidValue 메소드를 호출하여서 TRAP 으로 전송할 OID 와 OID 의 값을 저장해야 한다.
| pszTrapOid | TRAP OID 문자열 |
| bool CSnmpMessage::ParseEncryptedPdu | ( | ) |
암호화된 PDU 를 복호화하여서 내부 변수에 저장한다.
| int CAsnType::ParseHeader | ( | const char * | pszPacket, |
| int | iPacketLen | ||
| ) |
패킷을 파싱하여서 ASN.1 타입 및 body 길이를 저장한다.
| pszPacket | 패킷 |
| iPacketLen | 패킷 길이 |
|
static |
패킷에서 정수를 파싱한다.
| pszPacket | 패킷 |
| iPacketLen | 패킷 길이 |
| cLength | 패킷에 저장된 정수의 길이 |
| iValue | 정수값 저장 변수 |
| int CAsnLong::ParseLong | ( | const char * | pszPacket, |
| int | iPacketLen, | ||
| uint8_t | cLength, | ||
| uint64_t & | iValue | ||
| ) |
패킷에서 정수를 파싱한다.
| pszPacket | 패킷 |
| iPacketLen | 패킷 길이 |
| cLength | 패킷에 저장된 정수의 길이 |
| iValue | 정수값 저장 변수 |
|
virtual |
패킷을 파싱하여서 내부 변수에 패킷 데이터를 저장한다.
| pszPacket | 패킷 |
| iPacketLen | 패킷 길이 |
CAsnType를 구현.
|
virtual |
패킷을 파싱하여서 내부 변수에 패킷 데이터를 저장한다.
| pszPacket | 패킷 |
| iPacketLen | 패킷 길이 |
CAsnType를 구현.
|
virtual |
패킷을 파싱하여서 내부 변수에 패킷 데이터를 저장한다.
| pszPacket | 패킷 |
| iPacketLen | 패킷 길이 |
CAsnType를 구현.
|
virtual |
패킷을 파싱하여서 내부 변수에 패킷 데이터를 저장한다.
| pszPacket | 패킷 |
| iPacketLen | 패킷 길이 |
CAsnType를 구현.
|
virtual |
패킷을 파싱하여서 내부 변수에 패킷 데이터를 저장한다.
| pszPacket | 패킷 |
| iPacketLen | 패킷 길이 |
CAsnType를 구현.
|
virtual |
패킷을 파싱하여서 내부 변수에 패킷 데이터를 저장한다.
| pszPacket | 패킷 |
| iPacketLen | 패킷 길이 |
CAsnType를 구현.
| int CSnmpMessage::ParsePacket | ( | const char * | pszPacket, |
| int | iPacketLen | ||
| ) |
패킷을 파싱하여서 내부 변수에 패킷 데이터를 저장한다.
| pszPacket | 패킷 |
| iPacketLen | 패킷 길이 |
| bool CSnmpMessage::SetAuthParams | ( | ) |
msgAuthenticationParameters 값을 계산한다.
| int CAsnType::SetHeaderLength | ( | char * | pszPacket, |
| int | iPacketSize, | ||
| int | iLength | ||
| ) |
패킷에 body 길이를 저장한다.
body 길이가 127 보다 크다면 패킷을 body 길이를 저장할 만큼 뒤로 복사한다.
| pszPacket | 패킷의 body 길이 저장 위치 |
| iPacketSize | 패킷 크기 |
| iLength | body 길이 |
|
static |
ASN.1 header 의 body 길이를 저장한다.
| pszPacket | 패킷의 body 길이 위치 |
| iPacketLen | 패킷의 길이 |
| iValue | body 길이 |
| bool CSnmpMessage::SetPrivParams | ( | ) |
msgPrivacyParameters 값을 설정하고 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 를 복호화한다.
| pszPacket | 암호화된 PDU |
| iPacketLen | 암호화된 PDU 길이 |
| pszPassWord | private 비밀번호 |
| pszEngineId | SNMPv3 engine ID |
| iEngineIdLen | SNMPv3 engine ID 길이 |
| pszPrivParam | msgPrivacyParameter |
| iPrivParamLen | msgPrivacyParameter 길이 |
| strPlain | 평문 PDU 저장 변수 |
| 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 패킷 길이 |
| pszPassWord | private 비밀번호 |
| pszEngineId | SNMPv3 engine ID |
| iEngineIdLen | SNMPv3 engine ID 길이 |
| pszPrivParam | msgPrivacyParameter |
| iPrivParamLen | msgPrivacyParameter 길이 |
| strEncrypt | 암화화된 PDU 저장 변수 |
| bool SnmpMakeAuthKey | ( | const uint8_t * | pszKey, |
| const uint8_t * | pszEngineId, | ||
| int | iEngineIdLen, | ||
| uint8_t * | pszAuthKey | ||
| ) |
authentication key 를 생성한다.
| pszKey | key |
| pszEngineId | SNMPv3 engine ID |
| iEngineIdLen | SNMPv3 engine ID 길이 |
| pszAuthKey | authentication key 저장 변수 |
| bool SnmpMakeHmac | ( | const char * | pszPacket, |
| int | iPacketLen, | ||
| const char * | pszPassWord, | ||
| const char * | pszEngineId, | ||
| int | iEngineIdLen, | ||
| std::string & | strAuthParams | ||
| ) |
SNMPv3 msgAuthenticationParameters 를 계산한다.
| pszPacket | 패킷 |
| iPacketLen | 패킷 길이 |
| pszPassWord | 비밀번호 |
| pszEngineId | SNMPv3 engine ID |
| iEngineIdLen | SNMPv3 engine ID 길이 |
| strAuthParams | SNMPv3 msgAuthenticationParameters 저장 변수 |
| bool SnmpMakeKey | ( | const char * | pszPassWord, |
| uint8_t * | pszKey | ||
| ) |
비밀번호로 key 를 생성한다.
| pszPassWord | 비밀번호 |
| pszKey | 생성된 key 저장 변수 |
1.8.1.2