1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
# 调用不同的脚本
import time
import apps.utiltcping as utping
from flask import Blueprint,request
from icmplib import ping
from dns import resolver
import dns.nameserver
bp=Blueprint("script",__name__,url_prefix="/script")
@bp.route("/test")
def hello():
return "hello"
# icmp时延测试
@bp.route("/icmpdelay")
def icmpdelay():
addr=request.args.get("ip")
host=ping(addr,count=2,interval=0.1)
return str(host.avg_rtt)
@bp.route("/tcpdelay")
def tcpdelay():
addr=request.args.get("ip")
port=request.args.get("port",default=53)
tdelay=utping.cli(addr,port,2,5)
return str(tdelay)
# dns时延测试函数,返回执行完成时的时间戳
@bp.route("/dnsdelay")
def dnsdelay():
addr = request.args.get("ip")
port = request.args.get("port",default=53)
domain = request.args.get("domain", default="www.baidu.com")
qtype=request.args.get("qtype",default="A")
start_time=time.time()
# 解析器配置
myResolver = resolver.Resolver()
myResolver.nameservers = [dns.nameserver.Do53Nameserver(addr, port=port)]
# 开始解析
ans=myResolver.resolve(domain,qtype)
stop_time=time.time()
t=stop_time-start_time
return str(int(t*1000))
|