当前位置: 首页 > news >正文

WebRTC服务器Coturn服务器相关测试工具

1、概述

在安装开源的webrtc服务器coturn服务器后,会附带安装coturn的相关工具,主要有以下几种工具

2、turnadmin工具

说明:服务器命令行工具,提供添加用户、添加管理员、生成TURN密钥等功能,turnadmin -h查看详细用法

命令参数用法:

2.1 直接短选项名用法,后面不加=

eg: turnadmin -u ccc

2.2 参数长选项名用法加=

eg: turnadmin --user=ccc

2.3 命令Commands

2.3.1 -P

作用: 生成并将密码的加密形式输出到标准输出,可以生成密钥,然后设置到/etc/turnserver.conf(web-admin/cli-password)中,防止明文保存在配置文件,增加安全性

eg: turnadmin -P -u ccc -p ccc

终端输出:$5$c58bf5b9e61e5c4a$088e97128d5eacac61130713fe15269b17653410704a1b60fc8d1a076c9d6d2d

备注: 这个密钥生成是针对管理账号和telnet连接账号,不是针对普通用户,普通用户长期凭证机制用用-k生成,普通用户还支持临时凭证

2.3.2 -k

作用: 生成长期凭证机制用户密钥的选项

eg: turnadmin -k -u ccc -p ccc -r nort.gov

终端输出: 0xa00561524d93eb959c884a531cda1769

备注: 把这个配置到/etc/turnserver.conf即可,防止了明文的显示,增加安全。

2.3.3 -a

作用: 添加或更新一个长期凭证用户

eg: turnadmin -a -u ccc -p ccc -r nort.gov

数据库保存:会把这个用户保存到数据库表turnusers_lt

备注: coturn数据库支持sqlite、mysql、redis、postgrepsql、mogo-db, 命令选型根据

sqlite: -b /var/db/turndb

mysql: -M

pqsql: -e

redis: -N

mogo: -J

2.3.4 -A

作用:添加或更新管理员账号

eg: turnadmin -A -u ccc -p ccc

数据库: 会把这个用户保存在数据库表admin_user中

2.3.5 -d

作用: 删除长期凭证机制用户

eg: turnadmin -d -u ccc

2.3.6 -D

作用: 删除管理员用户

2.3.7 -l

作用: 列出当前长期凭证机制用户

eg: turnadmin -l

2.3.8 -L

作用: 列出当前管理员用户

eg: turnadmin -L

2.3.9 -s

作用: 为REST API设置共享密钥

eg: turnadmin -s mytestpwd -r nort.gov

备注: 会保存在数据库表turn_secret中

2.3.10 -S

作用: 显示REST API的共享密钥

eg: turnadmin -S

2.3.11 -X

作用: 删除REST API 共享密钥

eg: turnadmin -X mytestpwd -r

2.3.12 -O

作用: 添加源到域中

eg: turnadmin -O -o https://www.my.com -r myrealm

备注: 保存到turn_origin_to_realm 数据表

2.3.13 -R

作用:删除源与域的对应关系

eg: turnadmin -R -o https://www.my.com -r myrealm

2.3.14 -I

作用: 列出源与域的关系

eg: turnadmin -I

2.3.15 -g

作用: 设置域相关参数选项,比如设置某个域的最大比特率,可控制某个域内所有用户总带宽(max-bps)上限制,总配额(total-quota)【网络连接数,会话数等】,每个用户的配额(user-quota)

eg: turnadmin -g -r nort2.gov --total-quota 300 -- max-bps 1020000

eg: turnadmin -g -r nort2.gov --user-quota 20

备注:数据保存在数据库的turn_realm_option这个表中

2.3.16 -G

作用: 显示域相关参数配置

eg: turnadmin -G

3、turnutils_stunclient

作用:检测STUN服务器是否可用,查看客户端公网ip和端口,理解当前环境下NAT类型

示例:turnutils_stunclient -p 3479 117.72.111.221

4、 turnutils_peer

一个简单的无状态UDP echo”服务器,用作中继模式中的最终服务器(“对等”)。对于每一个到来UDP数据包,它只是将其回传

(此程序仅用于测试目的!),就是简单监听UDP端口,然后发什么它就返回什么的一个简单udp程序。

5、turnutils_uclient

用于测试TURN服务器的功能,验证TURN服务器的配置,确保TURN服务器正确配置,能正常工作

5.1 测试coturn服务器基础功能是否正常

5.1.1 先运行turnutils_peer(部署在公网上,有公网IP端口,方便测试)

作为模拟的端侧客户端,只打开UDP端口,接受了什么数据,就源路返回什么。

5.1.2 执行turnutils_uclient -e 117.72.111.221 -r 3480 -n 3 -l 1024 -p 3478 117.72.111.221

-e代表 对端的地址(比如A跟B通信,turnutils_client代表A端,B就是对端116.205.233.111)

-r 3480代表对端的端口为3480

-n 3 代表发送的数据包为3个

-l 1024 代表发送的数据包的内容长度为1024

-p 代表coturn的端口3478

117.72.111.221 代表要测试的coturn服务器的地址

5.1.3 结果分析

turnutils_client会与coturn进行通信,发送3个数据包到对端,然后分析发包、和收包,判断丢包率,RTT等数据分析以此验证coturn是否正常

其中会经历Allocate Request、Channel Binding Request 、Create Peermission Request等TURN协议的发送与接收处理,具体协议的结构格式,类型值看下面的协议篇。

5.2 测试coturn服务器dtls加密功能是否正常

turnutils_uclient -S -i /home/webrtc/webrtc_server.crt -k /home/webrtc/webrtc_server.key -e 117.72.111.221 -r 3480 -n 3 -l 1024 -p 5349 117.72.111.221 -v -u test -w test

6、turnutils_natdiscovery

是一个用于 ‌NAT 类型检测和网络诊断‌ 的命令行工具,其核心作用是通过模拟不同场景的通信请求,帮助开发者或运维人员快速识别设备的 NAT 类型及网络限制条件‌,(NAT映射规则和防火墙过滤行为)

turnutils_natdiscovery -m -f Example Domain

1)-m 参数

开启映射行为发现

映射行为分为:

端点独立映射: 无论请求的外部服务器地址和端口是什么,NAT设备总是将内部主机同一IP地址和端口映射到相同的外部IP地址和端口

地址依赖映射: NAT设备根据请求的外部服务器IP地址创建映射,如果请求不同的外部服务器IP地址,NAT设备会创建不同的映射

地址和端口依赖映射:NAT设备根据请求的外部服务器IP地址和端口创建映射,只有当请求的外部服务器IP地址和端口相同时才会使用相同的映射

2)-f 参数

开启过滤行为发现

过滤行为分为:

端点独立过滤: 主机可以接收来自任何外部主机的响应,只要该响应是对其之前发出的请求的响应

地址依赖过滤: 主机只能接收来自之前请求的IP地址的响应,无论响应的端口是什么

地址和端口依赖过滤: 主机只能接收来自刚才请求的ip和端口的端口的响应

3)-t 参数

开启映射生命周期行为发现,它会测试NAT设备中映射的生命周期,即映射在多长时间保持有效

turnutils_natdiscovery -t -T 60 -p 3478 stun.example.com

-t 启用映射生命周期行为发现

-T 60 指定定时器值为60秒,即等待60秒后再次请求以测试映射是否有效

4) -c参数

用于碰撞行为发现,它会测试当两个不同的内部地址使用相同的端口向外部服务器发送请求时,NAT设备的处理方式

turnutils_natdiscovery -c -L 192.168.1.100 -A 192.168.1.101 -p 3478 stun.example.com

-c 启用碰撞行为发现

-L 192.168.1.100: 指定第一个本地地址为192.168.1.100

-A 192.168.1.101: 指定第二个本地地址为192.168.1.101,该选项在使用-c时是必须的

-p : 指定STUN服务器的端口为3478

stun.example.com: 指定STUN服务器的地址

5)-H选项

用于开启自环行为发现,自环是指当一个内部主机通过NAT设备访问自己外部映射地址时,NAT设备能否正确处理这种情况

turnutils_natdiscovery -H -p 3478 stun.example.com

-H 启用自环行为发现

相关文章:

  • 2023蓝帽杯初赛内存取证-5
  • 开源模型应用落地-Podcastfy-从文本到声音的智能跃迁-Docker(二)
  • Debian 12.10 root 登录失败,两步解决!
  • 精益数据分析(14/126):基于数据洞察优化产品与运营
  • RK3588 Buildroot 新建板级DTS
  • 从ChatGPT到GPT-4:大模型如何重塑人类认知边界?
  • Idea创建项目的搭建
  • yooAsset打包后材质丢失
  • DAY6-UFS基本概念
  • N8N MACOS本地部署流程避坑指南
  • GTS-400 系列运动控制器板(九)----设置轴为闭环控制方式
  • 缓存与内存;缺页中断;缓存映射:组相联
  • GTS-400 系列运动控制器板(六)----修改编码器计数方向
  • 数据结构图论基础知识(一)
  • 【在阿里云或其他 CentOS/RHEL 系统上安装和配置 Dante SOCKS5 代理服务】
  • k8s-1.28.10 安装metrics-server
  • 【k8s】PV,PVC的回收策略——return、recycle、delete
  • ESP32音频识别(FFT)实测调整(ESP-IDF 5.4)
  • 蓝桥杯常考的找规律题
  • 小白工具视频转MPG, 功能丰富齐全,无需下载软件,在线使用,超实用
  • 国际货币基金组织报告:将今年全球经济增长预期由此前的3.3%下调至2.8%
  • 图忆|温州旅沪先贤的家国情怀
  • 为青少年写新中国成立的故事,刘统遗著《火种》出版
  • 人民日报聚焦外贸“重镇”福建晋江:多元化布局扩大“朋友圈”
  • 成了“一日顶流”又能如何?
  • 观察|雀巢咖啡加码中国布局,如何借势云南咖啡打造新增长极?