본문 바로가기

리눅스

SNMP 통신을 확인하는 방법

반응형

SNMP(Simple Network Management Protocol) 통신을 확인하는 방법

SNMP 유틸리티 설치

SNMP 테스트 도구(snmpwalk, snmpget 등)는 net-snmp 패키지에 포함되어 있습니다.

  • Debian/Ubuntu 계열
sudo apt install -y snmp
  • Red Hat/CentOS 계열
sudo yum install -y net-snmp-utils

포트 오픈 여부 확인

SNMP는 UDP 161 포트를 사용합니다. TCP처럼 세션 연결이 안되므로 단순 포트 확인은 제한적이지만, nc(netcat)으로 시도할 수 있습니다.

nc -uzv 192.168.100.2 161
  • -u : UDP
  • -z : 포트 스캔 모드 (데이터 안보냄)
  • -v : verbose

👉 다만 UDP는 응답이 없을 수도 있어서 이 결과만으로 100% 장담은 안 됩니다.

경로 확인(방화벽, 라우팅 문제 확인)

SNMP 요청이 대상 서버까지 도달하는지 확인하려면 traceroute를 UDP 모드로 실행합니다.

traceroute -U 192.168.100.2 -p 161
  • -U : UDP 모드
  • -p 161 : SNMP 포트 지정

👉 중간에 방화벽이 ICMP는 열려있어도 UDP 161을 막을 수 있으므로 확인용으로 유용합니다.

728x90

실제 SNMP 통신 확인

SNMP 응답을 직접 확인하는 것이 가장 확실합니다.

SNMPv2c 테스트

장치 전체 MIB 조회

snmpwalk -v2c -c 'community_string' 192.168.100.2
  • -v2c : SNMP 버전 2c
  • -c : community string
  • 대상: 192.168.100.2

👉 정상적으로 응답이 오면 SNMP 통신이 되는 것이고,

Timeout: No Response from ... 이라면 방화벽/ACL/Community String 문제일 가능성이 큽니다.

 

특정 OID(Object Identifier) 확인

snmpget -v2c -c 'community_string' 192.168.100.2 1.3.6.1.2.1.1.1.0

특정 MIB 트리 조회

snmpwalk -v2c -c 'community_string' 192.168.100.2 1.3.6.1.2.1

👉 정상 응답이 오면 통신 정상,

Timeout: No Response from ...이면 방화벽/ACL/Community String 문제 가능성이 큼.

SNMPv3 테스트

SNMPv3는 인증 및 암호화를 지원하므로 계정과 키를 지정해야 합니다.

snmpget -v 3 \
  -u <username> \
  -l authPriv \
  -a SHA -A <auth_password> \
  -x AES -X <priv_password> \
  <장치_IP> \
  1.3.6.1.2.1.1.1.0

패킷 흐름 확인 (서버 측)

장치에서 SNMP 요청이 들어오는지 확인하려면 tcpdump를 사용합니다.

tcpdump -i eth0 udp port 161

SNMP 트랩 확인

SNMP 에이전트가 특정 이벤트 발생 시 관리자 서버로 트랩(Trap)을 전송할 수 있습니다.

snmptrap -v 2c -c public <관리서버_IP> '' 1.3.6.1.6.3.1.1.5.1

 

728x90
반응형