Kiểm thử kết nối với một tài nguyên CoAP bảo mật bằng OT CLI

Xem nguồn trên GitHub

OpenThread cung cấp cả chức năng máy khách và máy chủ CoAP bảo mật, cho phép thiết bị kết nối với các tài nguyên trên máy chủ CoAP bảo mật và quan sát từng tài nguyên để biết sự thay đổi về trạng thái hiện tại của tài nguyên đó.

CoAP bảo mật sử dụng giao thức Bảo mật tầng truyền tải gói thông tin (DTLS) để thiết lập các kết nối bảo mật hai đầu.

Tác nhân CoAP bảo mật được cung cấp trong CLI có thể hoạt động như máy khách CoAP bảo mật hoặc máy chủ CoAP bảo mật.

Hướng dẫn này cung cấp các thao tác cơ bản sử dụng một số lệnh Secure CoAP (coaps) phổ biến hơn.

Các lệnh CoAP bảo mật

Để xem danh sách các lệnh CoAP bảo mật, hãy nhập help:

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

Tham chiếu lệnh CLI

Để biết mô tả và cú pháp của tất cả các lệnh, hãy tham khảo Tham chiếu lệnh CLI. Các lệnh Secure CoAP bắt đầu theo thứ tự bảng chữ cái với coaps Connect (kết nối).

Ví dụ về cách sử dụng lệnh máy khách và máy chủ CoAP bảo mật

Ví dụ này sử dụng các lệnh CLI cơ bản để khởi động một máy chủ và ứng dụng khách CoAP bảo mật, tạo một tài nguyên kiểm thử trên máy chủ CoAP bảo mật và để ứng dụng CoAP bảo mật tương tác với tài nguyên. Dữ liệu mẫu chỉ mang tính minh hoạ.

Định cấu hình bộ mật mã DTLS

CLI coaps cung cấp các lệnh pskx509 có thể dùng với khoá PSK và Chứng chỉ X.509. Để biết ví dụ và cú pháp lệnh, hãy tham khảo coaps pskcoaps x509.

Thiết lập máy chủ CoAP bảo mật

Trên nút máy chủ CoAP bảo mật, hãy thực hiện các bước sau:

  1. Khởi động tác nhân Secure CoAP.

    coaps start
    Done
    
  2. Tạo tài nguyên kiểm thử.

    coaps resource test-resource
    Done
    

Thiết lập ứng dụng CoAP bảo mật

Trên nút máy khách CoAP bảo mật, hãy thực hiện các bước sau:

  1. Khởi động tác nhân CoAP bảo mật:

    coaps start
    Done
    
  2. Chạy lệnh connect để khởi động một phiên DTLS với ứng dụng ngang hàng:

    coaps connect fdde:ad00:beef:0:9903:14b:27e0:5744
    Done
    coaps connected
    
  3. Chạy lệnh get để lấy thông tin về tài nguyên:

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

    Phần cuối cùng của phản hồi của máy chủ là thuật ngữ with payload:, theo sau là tất cả các byte tải trọng ở định dạng chữ số thập lục phân. Trong ví dụ này, with payload: 68656c6c6f576f726c6400 cho biết rằng tải trọng hiện tại cho tài nguyên là giá trị thập lục phân 68656c6c6f576f726c6400, giá trị này sẽ chuyển đổi thành chuỗi helloWorld. Để biết thêm thông tin về cách sử dụng tuỳ chọn payload, hãy tham khảo bài đăng về Coaps.

  4. Bạn có thể sửa đổi tài nguyên bằng lệnh put:

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

    Trong ví dụ này, con có nghĩa là bạn muốn gửi một thông báo đáng tin cậy (nhận được qua thông báo có thể xác nhận (con) đến máy chủ CoAP bảo mật. Chế độ mặc định là gửi một tin nhắn không thể xác nhận (non-con).

    Chuỗi hellothere là một ví dụ về cách sử dụng tham số payload không bắt buộc khi typecon hoặc non-con. Để biết thêm thông tin, hãy tham khảo bài viết hợp tác được đặt.

    Máy chủ phản hồi bằng địa chỉ IPv6 để cho biết yêu cầu đã được xử lý.

Phản hồi được gửi đến máy chủ CoAP bảo mật

Trên máy chủ, kết quả trong ví dụ này sẽ tương tự như sau:

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

Giá trị payload của 68656c6c6f7468657265 là chuỗi hellothere được chuyển đổi sang chuỗi byte mã ASCII.