分析并实现 360 P1路由器上的测速功能(也可以针对金山测速功能)

现在各种智能路由器以及一些PC上的防火墙软件,都提供网络测速功能。笔者对此进行了研究,并在自己的路由器上也实现了此功能。下面做一下总结

一般的网络测速,主要关注两个方面:网络延迟和下载速率

1.网络延迟:即客户端从发出一个请求报文,到收到应答报文,这中间耗费的时间。此时间的长度,可以检测网络报文的传输延迟

2.下载速率:即客户端向某些提供下载服务的站点(一般是HTTP)进行数据下载,测试下载速率。

这两个数据,要比运营商告知的宽带套餐的数据,靠谱的多

下面谈谈我是如何实现的

1.网络延迟:简单的方法,就是利用PING的自身统计功能。发出一定数量的ping请求,看最终统计得到的AVG round-trip值。类似如下的:

举例ping –s 36 –c 40 www.baidu.com,则可以得到输出:

…….

44 bytes from 180.97.33.107: seq=38 ttl=55 time=296.485 ms

44 bytes from 180.97.33.107: seq=39 ttl=55 time=225.084 ms

--- www.baidu.com ping statistics ---

40 packets transmitted, 39 packets received, 2% packet loss

round-trip min/avg/max = 4.120/144.129/1052.541 ms

红色的,就是延迟了

主要谈谈下载速率的测试

2.下载速率测试:

分析了360 P1以及金山的测速报文,发现是利用多线程+HTTP下载的方式,向一些(金山是向6个地址)提供固定下载链接的网站,发起真实的下载请求,并在固定测试时间内估计下载速率:下载报文大小/测试时间

那么,我所开发的也就是这样一个测试程序:设定多个URL下载目标(也是6个,且就使用金山使用的目标地址),利用pthread多线程+socket编程,构造HTTP的并发GET请求,并循环接收获得的数据报文(注意,为了统计精确,需要去掉回包中的HTTP头)。此外,还建立一个定时器,设定定时时间就是测试时长。则当定时器到期后,终止所有线程,并结束socket。统计每个url下载的速率,并求和。 即得到此轮测试速率了

经简单验证,此程序的测试结果,与 金山,360P1的测试结果,在同一精度上。

需要代码的,可单独联系哦 ^_^

时间: 2024-08-03 07:28:23

分析并实现 360 P1路由器上的测速功能(也可以针对金山测速功能)的相关文章

基于OpenWRT,实现360 P1路由器上的朋友专享网络 功能

笔者分析了360 P1路由器上的朋友专享网络功能,发现其主要由如下子功能组成: 1. APP点击“立即开启”,则路由器会多出一个新的SSID:360朋友专享网络-8463.此SSID不加密:同时,原有的主SSID不变 2. STA接入此新SSID后 u  可以获得IP地址,且获得的IP地址与接入主SSID设备获取的IP地址在同一个网段: u 可以访问外网: u 不可以访问360路由器的Web, u 无法ping通360路由器的ip地址 u 无法ping通其他连入此路由器的其他客户端(包括连入36

360发布路由器 响应硬件免费

6月11号,360安全路由在北京举办了新品发布会.期间共有三款新品面世,其中包括仅售价59元人民币的360安全路由mini,官方报价139元人民币且信号传输距离增加42%的360安全路由5G,以及由360安全路由P1衍生出的炫彩系列(共七色). 我们使用路由器,一般关注它的安全程度和传输速度.我们来看一下,360路由器是否满足这两个特点. 家庭网的"防火墙" 如今使用网络的家庭设备已经不局限于电脑.手机等电子设备,未来将会有更多的智能家具也参与到家庭网络中来,如果网络被恶意攻击,必然会

drcom运行在路由器上

上篇介绍了drcom运行在Linux或Mac平台下,这篇会介绍如何将drcom运行在路由器上. 在解决了自己电脑如何使用drcom的问题后,突然发现drcom使用代理软件会掉线,不允许将网络共享,但是现在这个年代怎么可以不用路由器. 因为学的是计算机网络技术,专业是学思科设备,平时会很关注各种厂商的路由器,遇到这个问题的时候,首先想到的还是Linux环境配合python,Linux是万能的.于是发现openwrt这个路由器系统真的很强大,可以理解为是一个小型的Linux系统,于是找了几种国内的路

1在路由器上配置 Telnet

实验 在路由器上配置 Telnet [实验名称] 在路由器上配置 Telnet. [实验目的] 掌握如何在路由器上配置 Telnet,以实现路由器的远程登录访问. [背景描述] 路由器用于连接多个子网时,通常放置位置都相距较远,察看和修改配置都比较麻烦, 此时如果可以远程登录到路由器上进行操作,将能够大大降低管理员的工作量. [需求分析] 需要掌握如何配置路由器的密码, 如何配置 Telnet 服务, 以及如何通过 Telnet 远程登录 路由器进行操作的方法. [实验拓扑] 图 6-2 实验拓

在路由器上配置Telnet

路由器用于连接多个子网时,通常放置位置都相距较远,察看和修改配置都比较麻烦, 此时如果可以远程登录到路由器上进行操作,将能够大大降低管理员的工作量.那么我们就要学会如何配置路由的Telnet服务,以及如何通过Telnet登录到路由器进行操作的方法. 实验设备:路由器(带串口),V.35DCE/DTE线缆,pc机. 实验原理:将两台路由器通过串口,以 V.35 DTE/DCE 电缆连接在一起,分别配置 Telnet,可以互 相以 Telnet 方式登录对方. 路由器提供广域网接口(serial 高

小米路由器上搭建服务器

( 作为最发烧的路由器,小米路由器有非常多的全新玩法,凭借强大的性能,我们完全可以把小米路由器当做是一个网站服务器,我们要知道,一般的网络服务器都是需要每年几千元的费用哦,而在小米路由器上玩是完全免费的.小米路由器有非常方便的LAMP功能(Linux+Apache+Mysql+PHP一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序),轻松让新手创建自己的网站环境,而环境创建完成之后,我们可以安装自己喜欢的PHP网站程序,例如我们可以创建自己的博客,这是完全由自己控制的博客哦,一

远程访问VPN--easy vpn 路由器上配置

实验拓扑图: web  用的server2003 搭建 vpn服务器的配置如下: hostname vpn aaa new-model    开启AAA功能,路由器上AAA默认是关闭的 aaa authentication login yanzheng local    设置AAA 验证取名yanzheng:local代表采用本地验证的方式,还可以用三方AAA服务器验证.也可使其与radius服务器相连 aaa authorization network shouquan local  设置AA

L2TP VPN在思科IOS路由器上的应用

概述: L2TP同PPTP一样也是一个传统的VPN拨号技术,微软的操作系统默认都带有L2TP的客户端.L2TP(Leary 2 Tunneling Protocol二层隧道协议)和PPTP不同,L2TP是一个标准技术.L2TP源自于两个老的隧道协议Cisco的L2F(layer2 forwarding protocol )和microsoft的PPTP.L2TP本身不提安全机制,它通过IPSEC框架来实现L2TP的安全,即L2TP Over IPSEC.因此,可以配置不加密的L2TP.L2TP支

路由器上做IPsecVPN

实验 实验拓扑图: 实验环境: 在GNS3上搭建三台路由器,使用VPCS模拟两台PC,并规划上海和北京两家公司局域网. 实验要求: 在两家公司网关路由器上做IPsecVPN,使两家公司内网可以相互通信,并使数据加密传送达到信息安全的目的. 实验步骤: 首先规划路由器和PC机IP地址并在出口网关作做一条通向公网的默认路由: R1: R1(config)#int f0/1 R1(config-if)#ip add 192.168.10.1 255.255.255.0 R1(config-if)#no