试试支持 DTLS 的 FreeCoAP

FreeCoAP 是 C 语言实现的 CoAP 服务器、客户端、HTTP/CoAP 代理。FreeCoAP 支持 DTLS ,引用的是 GnuTLS 库的 DTLS 。

mingdu.zheng at gmail dot com
https://blog.csdn.net/zoomdy/article/details/80507110

系统环境是 Xubuntu 16.04,理论上其他版本的 Ubuntu 都可以。

首先安装必要的工具:

$ sudo apt update
$ sudo apt install git autoconf libtool-bin libgnutls-dev wireshark-qt

从 github 克隆 FreeCoAP:

$ git clone https://github.com/keith-cullen/FreeCoAP ~/FreeCoAP

编译 FreeCoAP:

$ cd ~/FreeCoAP
$ autoreconf --install
$ ./configure
$ make

编译 Demo:

$ cd ~/FreeCoAP/sample/time_server
$ make
$ cd ~/FreeCoAP/sample/time_client
$ make

调用 tcpdump 捕获通信数据包:

$ sudo tcpdump -i lo -w ~/dtls.pcap "udp port 5684"

打开一个新的终端,运行 Demo 的服务器:

$ cd ~/FreeCoAP/sample/time_server
$ ./time_server 0.0.0.0 5684

再打开一个新的终端,运行 Demo 的客户端

$ cd ~/FreeCoAP/sample/time_client
$ ./time_client 127.0.0.1 5684

在运行 tcpdump 命令的终端按下 Ctrl+C 结束数据包捕获,使用 wireshark 查看捕获的数据包:

$ wireshark ~/dtls.pcap

这里写图片描述

猜你喜欢

转载自blog.csdn.net/zoomdy/article/details/80507110