python 脚本检测dns时延

本文介绍了一种使用Python socket库检测DNS时延的方法,通过向谷歌DNS服务器8.8.8.8发送请求并计算响应时间来获取时延数据。脚本可以从文本文件读取URL,并将结果记录到文件,提供了一个便捷的DNS性能测试工具。
摘要由CSDN通过智能技术生成

由于实验原因需要查询各地的dns时延,所以我参考了网上的各类代码,写了一个dns时延检测的脚本,希望朋友们指导。

 -*- coding:utf-8 -*-
from timeit import timeit
import time
import socket
global msg
def send():
    q = msg
    sock_recv = 0
    sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    sock.sendto(q, ('8.8.8.8', 53))
    sock_recv = sock.recv(4096)
    while sock_recv != 0:
         break

for num in range(10):
    msg = b'\x5c\x6d\x01\x00\x00\x01\x00\x00\x00\x00\x00\x00\x03www\x05baidu\x03com\x00\x00\x01\x00\x01'
    #msg = b'\x5c\x6d\x01\x00\x00\x01\x00\x00\x00\x00\x00\x00\x03www\x02qq\x03com\x00\x00\x01\x00\x01'
    t = timeit('send()', 'from __main__ import send', number=1)
    print t

使用了python中的socket库,这个库中可以实现发包的功能,这里面我们是将包发送的谷歌的dns服务器8.8.8.8的53端口,然后通过一个计时器函数来判断这个函数是否结束,即是否收到了返回的包,来计算dns时延,这种检测方法,要比通过wiresha

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值