我正在构建一个网络模拟器来帮助实现不同的速度。基本上,该系统将根据用户的请求调整给定用户的网络指标(例如上传速度/下载速度/数据包丢失/抖动等)。例如,如果用户选择 3G,系统将转换他的连接以使其表现得像 3G 连接。我想象使用用户的 IP 地址来实现这一点。
我一直在寻求帮助,但找不到太多帮助。我想知道这是否可行。
答案1
您可以使用类似下面的方法模拟丢弃包:
iptables -A OUTPUT -p tcp -d [your station ip] --sport 80 -m statistic --mode random --probability 0.2 -j DROP
翻译为:服务器将有 20% 的概率丢弃发往您所在站点的数据包。
有关更多高级选项,请查看这。