본문 바로가기

IT 공부 관련

다이제스트 인증과 IP camera ptz 제어

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

 

'IT 공부 관련' 카테고리의 다른 글

jetson 용 Anaconda  (0) 2023.06.08
AI 양자화(AI Quantization)  (0) 2022.08.03
python opencv의 cv2 에러 관련.  (0) 2022.01.09