OT CLI를 사용하여 보안 CoAP 리소스에 대한 연결 테스트

GitHub에서 소스 보기

OpenThread는 보안 CoAP 서버와 클라이언트 기능을 모두 제공하므로 기기에서 보안 CoAP 서버의 리소스에 연결하고 각 리소스의 현재 상태 변경을 관찰할 수 있습니다.

보안 CoAP는 데이터그램 전송 계층 보안 (DTLS)을 사용하여 안전한 엔드 투 엔드 연결을 설정합니다.

CLI에서 제공되는 보안 CoAP 에이전트는 보안 CoAP 클라이언트 또는 보안 CoAP 서버 역할을 할 수 있습니다.

이 가이드에서는 보다 일반적인 보안 CoAP (coaps) 명령어를 사용하는 기본 작업을 제공합니다.

보안 CoAP 명령어

보안 CoAP 명령어 목록을 보려면 help를 입력합니다.

coaps help
connect
delete
disconnect
get
isclosed
isconnactive
isconnected
post
psk
put
resource
set
start
stop
x509
Done

CLI 명령어 참조

모든 명령어에 대한 설명과 구문은 CLI 명령어 참조를 확인하세요. 보안 CoAP 명령어는 coaps connect로 알파벳순으로 시작됩니다.

보안 CoAP 서버 및 클라이언트 명령어 사용의 예

이 예시에서는 기본 CLI 명령어를 사용하여 보안 CoAP 서버 및 클라이언트를 시작하고, 보안 CoAP 서버에 테스트 리소스를 만들고, 보안 CoAP 클라이언트가 리소스와 상호작용하도록 합니다. 샘플 데이터는 설명을 위해 사용되었습니다.

DTLS 암호화 기술 구성

coaps CLI는 PSK 키 및 X.509 인증서와 함께 사용할 수 있는 pskx509 명령어를 제공합니다. 명령어 문법 및 예는 coaps pskcoaps x509를 참고하세요.

보안 CoAP 서버 설정

보안 CoAP 서버 노드에서 다음 단계를 수행합니다.

  1. 보안 CoAP 에이전트를 시작합니다.

    coaps start
    Done
    
  2. 테스트 리소스를 만듭니다.

    coaps resource test-resource
    Done
    

보안 CoAP 클라이언트 설정

보안 CoAP 클라이언트 노드에서 다음 단계를 수행합니다.

  1. 다음과 같이 보안 CoAP 에이전트를 시작합니다.

    coaps start
    Done
    
  2. connect 명령어를 실행하여 피어로 DTLS 세션을 초기화합니다.

    coaps connect fdde:ad00:beef:0:9903:14b:27e0:5744
    Done
    coaps connected
    
  3. get 명령어를 실행하여 리소스에 대한 정보를 가져옵니다.

    coaps get test-resource
    Done
    coaps response from fdde:ad00:beef:0:9903:14b:27e0:5744 with payload: 68656c6c6f576f726c6400
    

    서버 응답의 마지막 부분은 with payload: 용어이며, 그 뒤에는 16진수 형식의 모든 페이로드 바이트가 나옵니다. 예시에서 with payload: 68656c6c6f576f726c6400는 리소스의 현재 페이로드가 helloWorld 문자열로 변환되는 16진수 값 68656c6c6f576f726c6400임을 나타냅니다. payload 옵션 사용에 관한 자세한 내용은 coaps 게시물을 참고하세요.

  4. put 명령어를 사용하여 리소스를 수정할 수 있습니다.

    coaps put test-resource con hellothere
    Done
    coaps response from fdde:ad00:beef:0:9903:14b:27e0:5744
    

    이 예시에서 con는 확인 가능한 메시지 (con)를 사용하여 얻은 신뢰할 수 있는 메시지가 보안 CoAP 서버로 전송되기를 원한다는 의미입니다. 기본값은 확인할 수 없는 메시지 (non-con)를 전송하는 것입니다.

    hellothere 문자열은 typecon 또는 non-con일 때 선택적 payload 매개변수를 사용하는 예입니다. 자세한 내용은 coaps put을 참고하세요.

    서버는 요청이 처리되었음을 나타내기 위해 IPv6 주소로 응답합니다.

보안 CoAP 서버로 응답 전송

서버에서 이 예의 출력은 다음과 유사합니다.

coaps request from fdde:ad00:beef:0:9e68:576f:714c:f395 GET
coaps response sent
coaps request from fdde:ad00:beef:0:9e68:576f:714c:f395 PUT with payload: 68656c6c6f7468657265
coaps response sent

68656c6c6f7468657265payload 값은 ASCII 코드 바이트 시퀀스로 변환된 hellothere 문자열입니다.