본문 바로가기

분류 전체보기

(887)
SNMP - 래퍼 net-snmp 순수 C로 구현된 SNMP 라이브러리이다. 공식 웹사이트 : http://www.net-snmp.org 소스코드 수정 : 유니코드로 변경snmp_api.hsystem.hdata_list.hdefault_store.h 타입 재정의 문제types.h(81) : warning C4142: 형식이 재정의되었지만 심각하지는 않습니다.-> include/net-snmp/types.h#ifndef HAVE_SOCKLEN_Ttypedef u_int socklen_t;#endif하지만 윈속에 이미 타입 정의가 되어 있기에 충돌하는 것이다.Microsoft SDKs/Windows/v6.0A/Include/WS2tcpip.htypedef int socklen_t; 해결하는 가장 빠른 방법은 include 하는 위에 HAVE..
SNMP - 래퍼 SNMP Management SNMP Management API링크시 Mgmtapi.lib 포함 필요#pragma comment(lib, "MgmtAPI.Lib")WinSNMP API와 구별되는 API로 보임(StarUp과 CleanUp을 안해도 된다는 장점이 있음)단순히 값만 조회 할 경우에는 이 API들을 사용하는 것이 좋아보임 Utility API를 이용해야 할 필요성이 있음 SnmpMgrOpen Function - 특정 SNMP에이전트에게 통신을 하기 위해, 교신용 소켓들과 데이터 구조들을 초기화하는 함수SnmpMgrRequest Function - 특정 에이전트에게 명령을 요청하게 하는 함수request 함수에서 세 번째 인자인 SnmpVarBindList 구조체의 포인트(SnmpVarBind 배열의 포인트를 가지는)는 반..
SNMP - 래퍼 Rogério Paulo 쓸만한 WinSNMP Wrapper ClassSNMP - A C++ Wrapper for the WinSnmp libraryhttp://www.codeproject.com/KB/library/WinSNMPWrapper.aspx?display=Print 클래스 다이어그램까지 잘 만들어져 있다.실행파일, 프로젝트 파일 두 가지 형태로 배포되고 있는데, Visual Stdio 2003이 있다면 바로 컴파일해서 사용할 수 있다.주의할 점이 라이브러리는 알려진 버그와 콘솔이 뜨는 문제가 있다.알려진 버그불규칙하게 메모리 쓰기 오류문제 이 라이브러리를 사용하다 보면 불규칙적으로 메모리 충돌이 일어난다.(그런데 이상하게 Debug 모드로 컴파일하면 문제가 안 생기다가, Release 모드로 컴파일을 하면 문제가 발생..
SNMP 래퍼 클래스 회사에서 SNMP관련 프로그래밍을 할 일이 있었다.환경은 윈도우 /콘솔/서비스 프로그램과 C/C++기반 첫번째 사용한 것은 코드프로젝트에서 구한 'Rogério Paulo'의 SNMP Wrappe 클래스 이 래퍼 클래스는 확실히 잘 설계가 되었다. 하지만 사용하기가 조금 어렵고, 오래 사용을 하면 메모리 누수 문제가 있다.두번째 사용한 것은 내가 직접 WinSNMP API를 가지고 만든 것(현재) 결국 내가 직접 래퍼 클래스를 만들었다. 조회하려는 SNMP 에이전트의 주소와 OID를 넣으면 값을 가져오게 하는 방법으로 단순하게 바꾸었다. 하지만 약간 불안정한적인 면이 있어서 바꾸려고 하고 있다.세번째 지금 만들고 있는 것은 SNMP Management API를 가지고 만들고 있다.예전에 회사에서 사용했던..
SNMP 프로그래밍 기본적인 Socket 프로그래밍(UDP)을 할 줄 안다면 데이터를 전송하고 수신만 하면 간단하다.문제는 메시지를 만드는 것과 수신한 데이터를 해석해내는 것이 관건이다. SNMP 통신SNMP Message를 구성한다SNMP Agent에 UDP 161 포트에 접속해서 1번에서 만든 Message를 전송한다(데이터 송신-Snmp Request)전송한 데이터에 대한 응답을 받는다(데이터 수신-Snmp Response)데이터를 해석해서 사용한다 SNMP Message 포맷은 아래의 사이트를 참고하세요http://www.tcpipguide.com/free/t_SNMPVersion1SNMPv1MessageFormat.htm SNMP 메시지 샘플Windows Server 2003에 SNMP 서비스를 올리고(SNMP A..
MAC주소와 서브넷마스크 구하기 MAC 주소 구하기ARP를 이용하면 같은 네트워크에 있는 호스트의 MAC주소를 쉽고도 빠르게 구할 수 있다.msdn : SendARP API 참고 하지만 다른 네트워크의 호스트의 MAC주소는 어떻게 가져올까? 호스트에서 snmp agent가 있어서 서비스를 제공하고 있다면대부분 MAC주소와 관련된 정보를 조회할 수 있다. ipAdEntIfIndex(1.3.6.1.2.1.4.20.1.2) 를 이용해서 인터페이스의 인덱스를 구하고그 인덱스의 ifPhysAddress(1.3.6.1.2.1.2.2.1.6)를 GET하면 된다.인터페이스의 타입이 이더넷(ethernet)인지 확인하자.. eg) ifType(1.3.6.1.2.1.2.2.1.3) 예) 대상 IP가 192.168.10.3 일때SNMP GET 1.3.6...
MRTG(Multi Router Traffic Grapher) 네트워크 링크상의 트래픽 부하를 모니터링하고 측정하기 위한 무료 소프트웨어이다.그래픽 폼에 시간당 네트워크 트래픽을 볼 수 있게 해준다. 공식사이트 : http://oss.oetiker.ch/mrtg/위키백과 : http://en.wikipedia.org/wiki/Multi_Router_Traffic_Grapher블로그: - MRTG 윈도우 서버에 설치하기 - MRTG Config - WMI를 이용한 MRTG - ProcessorLoad 예제
SNMP - 윈도우 :: 프린터 추가시 윈도우에서 네트워크 프린터를 표준 TCP/IP 포트를 이용하여 추가를 할 때 SNMP 교신을 한다.정확하게는 표준 TCP/IP 포트를 생성할 때 ICMP 패킷을 보내 응답을 하는지를 체크를 하고 따라서 프린트 제조사는 이 부분을 고려해야 할 것이다.