리눅스
SNMP 통신을 확인하는 방법
변군이글루
2025. 9. 8. 18:14
반응형
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
반응형