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

试试支持 DTLS 的 FreeCoAP相关推荐

  1. 网络协议文档阅读笔记-Introduction to DTLS(Datagram Transport Layer Security)

    在互联网中安全的数据传输是至关重要的.很多敏感数据都通过互联网交互数据如金融交易数据,医药数据,媒体流数据等.SSL/TLS和IPSec就是为了确保互联网中传输数据的安全而创建的.许多网站使用的是SS ...

  2. 网安技术与应用(2)——基于DTLS的安全服务器设计

    一 实验目的 通过实验,掌握DTLS的基本原理,掌握python3-dtls库的基本使用. 二 实验内容 利用 DTLS 库编写客户端和服务器程序,服务端开启监听,提供数据传输.文件传输功能: 客户端 ...

  3. pg数据库生成随机时间_如何测试数据库查询优化器

    我一直认为,查询优化器(Query Optimizer,后面简称优化器)一直是数据库领域 Top 级别的 hardcore 技术,自己也一直尝试去深入理解,但每每看到 TiDB 代码里面那一大坨 pl ...

  4. Fast RCNN 训练自己数据集 (1编译配置)

    Fast RCNN 训练自己数据集 (1编译配置) FastRCNN 训练自己数据集 (1编译配置) 转载请注明出处,楼燚(yì)航的blog,http://www.cnblogs.com/louyi ...

  5. stm32 交换机芯片_基于STM32的全链路语音交互 - stm32/stm8 - 电子工程世界

    硬件平台:STM32F746G-DISC开发板 编译软件:KEIL 5.31 操作系统:RTX5 TCP/IP协议栈:Cyclone-TCP 语音交互平台:思必驰DUI开放平台 这里说一下使用的TCP ...

  6. 理解C# 4 dynamic(1) - var, object, dynamic的区别以及dynamic的使用

    一. 为什么是它们三个? 拿这三者比较的原因是它们在使用的时候非常相似.你可以用它们声明的变量赋任何类型的值. 看看下面的示例: var a = 1;object b = 1; dynamic c = ...

  7. 怎样用mysql查询测试_如何测试数据库查询优化器

    我一直认为,查询优化器(Query Optimizer,后面简称优化器)一直是数据库领域 Top 级别的 hardcore 技术,自己也一直尝试去深入理解,但每每看到 TiDB 代码里面那一大坨 pl ...

  8. 一个XP使用者眼中的Windows 7

    我本来想将这篇文章命名为"windows 7试用报告",但我想我没有太多资格这样命名,因为我在大多数时间用的是XP,vista没有深入使用过.只知道vista的UAC很烦人. 根据 ...

  9. GnuTLS传输层安全性库

    https://www.gnutls.org/ 欢迎来到GnuTLS项目页面 总览 GnuTLS是一个安全的通信库,实现SSL,TLS和DTLS协议 及其周围的技术.它提供了用于访问安全通信协议的简单 ...

最新文章

  1. json_encode ajaxReturn getJSON
  2. 转先验概率、最大似然估计、贝叶斯估计、最大后验概率
  3. web开发课程,HTML常用的五种标签,附赠课程+题库
  4. linux udp 端口映射,Linux下的UDP/TCP端口映射(netcat and socat)
  5. Linux netfilter源码分析(7)
  6. 基于JAVA+SpringMVC+MYSQL的进销存管理系统
  7. RocketMQ 一行代码造成大量消息发送失败
  8. [笔记] 如何从不同扩展名的数字证书中提取明文信息? *.pem *.der *.crt *.cer *.key之间的区别是什么?...
  9. MAPZONE GIS SDK接入Openlayers3之二——空间参考扩展
  10. STM32 中的CEC
  11. VS2013中为C++程序生成lib和dll文件
  12. 阶段5 3.微服务项目【学成在线】_day04 页面静态化_03-freemarker测试环境搭建
  13. Java生成验证码合集(一)简单版
  14. matlab电磁场,电磁场与波 电磁材料及MATLAB计算
  15. 软件课程设计--仓库管理系统
  16. matlab电磁场与微波技术相关仿真的代码,几乎覆盖电磁和微波领域
  17. Loongson2_龙芯灵珑9S2A_usb或硬盘方式安装debian6 [刘工版]
  18. 什么是Google AMP
  19. Android微信页面缓存清理,安卓微信浏览器缓存如何清理
  20. 读取CDATA的方法

热门文章

  1. 计算机考研调剂学校2019有哪些,2019考研调剂信息汇总 哪些学校接受考研调剂
  2. Promise详细解说
  3. Java爬虫爬取 天猫 淘宝 京东 搜索页和 商品详情
  4. 如何不累死在创业公司
  5. 你了解学了秃头的C语言吗?(C简介和用途)
  6. 计算机英语听力敎材,计算机英语教程(第5版)(十一五规划教材)(附光盘)
  7. 基于Sikuli GUI图像识别框架的PC客户端自动化测试实践
  8. matlab滤波器在哪,在使用MATLAB进行滤波器设计时,需要注意的是:使用FDAtool工具所设计的滤波器是(    )滤波器。...
  9. A. Donut Shops(分类模拟)
  10. WordPress Rest Api 记录