2022-12-12

今天做了一下服务端和客户端的协议混淆,昨天后面又仔细看了一下chacha20poly1305的加密步骤,虽然chacha20是一个流加密算法,但是加上了poly1305之后就变成了认证加密了,每次加密之后都有一个认证标签产生,这就如果要做这个算法加密的话,流量就必须得分包处理,不然没办法分清认证标签在哪里,性能估计也会打折扣。 ...

2022年12月12日 · 1 分钟 · 238 字 · sdttttt

2022-12-11

今天主要就是加了客户端的重连机制,也没什么好做的,明天打算加一下协议混淆,比较控制连接的通信包如果分析起来的话很容易就能看出来。

2022年12月11日 · 1 分钟 · 64 字 · sdttttt

2022-12-10

现在开始总算是可以松口气了,今天把配置文件部分写好了,配置文件使用的是ini格式,这个解析非常简单。而且Rust上的库也不少,最后选择了tini这个库。 https://github.com/pinecrew/tini 主要是这个库完全咩有依赖, 草草的看了一下源码,写的也非常精妙,实际解析ini的逻辑也就30行。 ...

2022年12月10日 · 1 分钟 · 294 字 · sdttttt

2022-12-9

今天总算是修复了好了所有bug,所有bug都是出现在Go编写的服务端,居然没有Rust的比较神奇。经过昨天的痛苦测试,今天我编写了一个echo服务器来专门测试这种网络软件,效果可以说是还算不错,很快就能定位问题大概是出现在服务端还是客户端哪里的问题。 ...

2022年12月09日 · 2 分钟 · 641 字 · sdttttt

2022-12-8

今天算是把加密的部分写完了,但是测试的时候问题还是很严重,单元测试中Rust和Go的加密结果是一致的,但是实际运行,就是无法正常使用,怀疑可能我编写的加密管道的代码问题,但是找了2个小时还是没有结果,到时候在说吧… 到时候做个回声服务器在做测试吧..

2022年12月08日 · 1 分钟 · 124 字 · sdttttt

2022-12-7

今天在客户端编写流加密的地方卡住了,主要是设计问题,没有很好的方式从TcpStream里家里再塞回去.. 明天接着想…

2022年12月07日 · 1 分钟 · 58 字 · sdttttt

2022-12-6

写这篇日志的时候已经是7号1点多了,有点晚了,随便写一些吧,今天主要就是研究流加密的部分,这个加密还很麻烦,参数除了key之外还有一个nonce,这个还需要连接双方互相共享一下。 明天还是写这部分客户端的代码,今天把服务端的加密弄好了。但是还不知道能不能跑。客户端也加了不少依赖,一个流加密库,一个随机数库…

2022年12月06日 · 1 分钟 · 153 字 · sdttttt

2022-12-5

今天测试的时候又发现,服务端有大量没用连接的问题,而且客户端关闭后,服务端也没有读到connection中的EOF,连接一直阻塞着,还是得上长连接心跳啊,服务端还好,主要是客户端的Rust写起来特别头疼. ...

2022年12月05日 · 1 分钟 · 351 字 · sdttttt

2022-12-4

今天主要写了软件的Dockerfile部分,rust的docker做起来感觉并不推荐,因为rust的docker基础镜像就要占用大小1GB左右,所以为了编译而特地去下载一个GB的镜像感觉很不划算。这个事还要考虑考虑。

2022年12月04日 · 1 分钟 · 108 字 · sdttttt

2022-12-3

今天主要写了文档,还有服务端的Dockerfile,剩下的时间就直接摆烂了,随便逛逛github找到了些好东西. 最大的收获是这个 https://github.com/ouch-org/ouch 平时unix上的解压缩命令太麻烦了,什么tar zxvf 我都记不熟,还有zip的,这个命令能解压各种压缩包,这样就免的去记各种解压缩命令,挺好。还没用过,有空试试。

2022年12月03日 · 1 分钟 · 143 字 · sdttttt