IT 공부 관련
다이제스트 인증과 IP camera ptz 제어
AI 로밧
2021. 12. 29. 23:10
728x90
※이론적인 부분은 약하고, 단순 기능 구현만을 위한 내용입니다.
- 국내 한화 테크윈의 IP camera의 ptz 제어는 camera - POE - COM이 직접 연결되어 있을 때,
- 일반적인 RTSP(Real Time Streaming Protocol)로 데이터를 가져오는 제어 프로토콜의 보안과 다르다.
- ptz 카메라를 제어 할 목적으로 http 서버로 신호를 보내는 데, 이때 인증된 권한자(Auth)에서 SUNAPI라는 삼성테크윈 일 때 개발된? 자체 API를 이용해서 신호를 넘겨줘야 한다. 인증된 권한자로 등록하는 과정이후 SUNAPI를 이용해 카메라를 제어할 수 있는 관련 신호들을 넘겨 줄 수 있다.
- 나는 주로 python으로 개발을 진행중이므로 관련된 인증 코드는 다음과 같다. 간단하지만 보안관련 개념을 몰라 rtsp 서버에 ID/PASSWORD를 계속 넘겨주면서 API를 불러와서 처음에는 시행착오를 많이 겪었다.
- 카메라 - 컨트롤 타워로 오는 중간에 NVR과 같은 매체가 있으면 거기서 보안 권한을 재요구하기도 하는 듯 하다. 위 방법은 중간단 없이 직접 연결 되었을 때 사용 가능한 방법이고, 응용은 무궁무진 한 것 같다.
import requests
from requests.auth import HTTPDigestAuth
ip = requests.Session()
ip.auth = HTTPDigestAuth('admin','password')
ip_control = ip.get(url)
if ip_control.status_code == 200:
print(f'ip_control code is success')
else:
print(f'url or control api source check plz')
다이제스트 인증의 개념은 다음글을 참고. https://feel5ny.github.io/2019/11/24/HTTP_013_01/
다이제스트 인증 (1) - 다이제스트 인증과 특징
기본 인증은 편리하고 유연하지만, 전혀 안전하지 않다. 메세지를 위조하지 못하게 보호하려는 어떠한 시도도 하지 않는다. 다이제스트 인증은 기본 인증과 호환되는 더 안전한 대체재로서 개
feel5ny.github.io
C# or C++ 으로 개발된 코드를 찾으려면 다음을 참고.https://gyeongju.tistory.com/entry/SUNAPI-10-%EC%82%AC%EC%9A%A9%EC%9E%90%EC%9D%B8%EC%A6%9D-digest-%EC%9D%B8%EC%A6%9D%EB%B0%A9%EB%B2%95
[SUNAPI 1.0] 사용자인증 digest 인증방법
SUNAPI 1.0은 삼성 네트워크 카메라를 제어하기 위한 프로토콜 네트워크쪽 지식이 전혀 없는데, 카메라 제어한다고 힘들었다. ㅠㅠ 하고나니 별거 아닌것들. 이제 정리 시작! 장비에 접속하기 위해
gyeongju.tistory.com