linux测试lsquic

编译

安装依赖

#不安装zlib make会报错

#不安装 libevent不会报错,但不会生成所需可执行文件

sudo apt-get install cmake zlib1g-dev libevent-dev

boringssl

git clone https://github.com/google/boringssl

cd boringssl

git checkout 0.20250807.0

cmake . && make

export BORINGSSL=$PWD

lsquic

git clone https://github.com/litespeedtech/lsquic

或者git clone https://gitee.com/mirrors/boringssl.git

cd lsquic

git submodule update --init

cmake -DLIBSSL_DIR=$BORINGSSL .

make

#make执行完后确认bin下是否生成http_server和http_client

#测试功能是否正常

make test

证书和dns

签发证书

需要pem格式的证书,pem格式的证书以 -----BEGIN CERTIFICATE----- 开头

可以自己签发,过程略

检查证书有效性:

openssl x509 -in /home/user1/certs/example.pem -text -noout

检查私钥有效性:

openssl rsa -in /home/user1/certs/priv.key -check

确保证书和私钥匹配:

openssl x509 -noout -modulus -in /home/user1/certs/example.pem | openssl md5

openssl rsa -noout -modulus -in /home/user1/certs/priv.key | openssl md5

两者md5值相同

客户端ca证书

把ca证书拷贝到客户端,加载到系统中

客户端hosts配置

把example.com和server的IP映射关系写入/etc/hosts文件

然后重启dns服务

服务端hosts配置

把example.com和0.0.0.0映射关系写入/etc/hosts文件

然后重启dns服务

运行

server

example.com为证书签发的域名

cert.pem是服务端证书

priv.key是相应私钥

监听4443端口

-r指定服务端文件的根目录

-L debug 2打印详细信息

-W

-o base_plpmtu=8900 指定包大小

./http_server -c example.com,/home/user1/cert/cert.pem,/home/user1/cert/priv.key -s 0.0.0.0:4443 -r /home/user1/http3-server/ -L debug 2 -W -o base_plpmtu=8900

client

example.com为server的域名

获取server根目录下的文件index.html

-L debug 2打印详细信息

-T response.txt 将response信息写入指定文件

-K reponse内容不打印到界面上

./http_client -s example.com:4443 -p /index.html -L debug 2 -T response.txt -K

相关推荐
2401_834636996 小时前
Linux 负载均衡全实战:Nginx+HAProxy+LVS 从原理到落地
linux·nginx·负载均衡
鹏大师运维11 小时前
为什么信创电脑装软件总提示“软件包架构不匹配”?
linux·运维·架构·国产化·麒麟·deb·统信uos
007张三丰11 小时前
软件测试专栏(11/20):测试框架开发:pytest深度解析与插件体系
运维·服务器·自动化测试·pytest·测试框架
weixin_6042366712 小时前
华三 路由器 极简核心配置
运维·服务器·网络·h3c·h3c路由器
鹤落晴春13 小时前
【Linux复习】管理SELinux安全性
linux·运维·服务器
yz_aiks13 小时前
Linux Jar包配置Systemd自启动实战:从排查到配置全流程
linux·python·jar·自启动·systemd
AI智图坊13 小时前
多件装组合SKU图的批量生产效率分析:从PS手工到AI自动化的工作流改造
大数据·运维·人工智能·gpt·ai作画·自动化·aigc
bjzhang7514 小时前
CentOS下安装MySQL详解
linux·mysql·centos
Jason_chen16 小时前
Linux 6.2 音频机制深度解析:AI驱动的低延迟音频与零信任音频安全架构
linux
下午写HelloWorld16 小时前
Linux系统及Ubuntu常用指令
linux·ubuntu·操作系统