Skip to content

Weak Network Simulation

RealOnlyone edited this page Jun 9, 2022 · 4 revisions

DoKit 弱网模拟(Android iOS)

背景介绍

在dokit上早期已经有一个弱网模拟功能,但是实现方式非常原始,在实际进行弱网模拟测试过程中存在问题,并不能真实的模拟弱网条件下的网络请求过程。现在需要完善弱网模拟功能,实现一个能真实模拟弱网条件下的网络请求过程,并且能支持TCP/UDP协议。

技术目标

  • 支持TCP/UDP协议
  • 支持弱网模拟参数(包括不限于:丢包率,通信延时,带宽限制)
  • 弱网模拟在移动端完整实现,闭环

技术选择

  • VPN服务(使用android/ios提供的vpn服务获取到IP报文,然后进行丢包/流量限制实现弱网模拟)
  • tun2sockes(使用其他开源项目实现的tun2sockes代码将IP报文转为TCP包,然后通过请求发送到真实目的地址完成通信)
  • 关于IP报文等处理要求使用C/C++
  • socket5代理服务可以选择C/C++或者客户端的java/oc实现

参考资料

https://github.com/xjasonlyu/tun2socks https://github.com/shadowsocks/shadowsocks-android

Clone this wiki locally