首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

仅使用常用python2.7库对特定服务器的DNS查询

DNS(Domain Name System)是互联网中用于将域名转换为IP地址的系统。通过DNS查询,可以获取特定服务器的IP地址。

在Python 2.7中,可以使用socket库来进行DNS查询。具体步骤如下:

  1. 导入socket库:import socket
  2. 创建一个socket对象:sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  3. 设置DNS服务器的地址和端口:dns_server = ('8.8.8.8', 53)
  4. 构造DNS查询报文:可以使用DNS协议的格式构造查询报文,包括标识、标志、问题部分等。这里以查询域名为example.com为例:
代码语言:txt
复制
query = b'\xAB\xCD\x01\x00\x00\x01\x00\x00\x00\x00\x00\x00\x07example\x03com\x00\x00\x01\x00\x01'
  1. 发送DNS查询报文到DNS服务器:sock.sendto(query, dns_server)
  2. 接收DNS服务器的响应:response, _ = sock.recvfrom(1024)
  3. 解析DNS响应报文:可以使用struct库来解析响应报文的各个字段。这里以获取IP地址为例:
代码语言:txt
复制
ip_address = socket.inet_ntoa(response[-4:])

完整的代码示例如下:

代码语言:txt
复制
import socket
import struct

def dns_query(domain):
    sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    dns_server = ('8.8.8.8', 53)

    # 构造DNS查询报文
    query = b'\xAB\xCD\x01\x00\x00\x01\x00\x00\x00\x00\x00\x00' + \
            domain.encode('utf-8') + b'\x00\x00\x01\x00\x01'

    # 发送DNS查询报文到DNS服务器
    sock.sendto(query, dns_server)

    # 接收DNS服务器的响应
    response, _ = sock.recvfrom(1024)

    # 解析DNS响应报文
    ip_address = socket.inet_ntoa(response[-4:])
    return ip_address

# 查询example.com的IP地址
ip = dns_query('example.com')
print(ip)

这段代码使用了Google的公共DNS服务器(8.8.8.8)进行查询,可以根据实际情况修改为其他DNS服务器的地址。

推荐的腾讯云相关产品:腾讯云DNSPod,它是腾讯云旗下的DNS解析服务,提供稳定、高效的域名解析服务。详情请参考腾讯云DNSPod产品介绍:https://cloud.tencent.com/product/dnspod

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

DNS or hosts ?

1、dns解析流程 2、dns缓存怎么处理 3、一个不常用文件 4、如何控制解析顺序 5、小结 1、dns解析流程 作为一名IT攻(dǎ)城(gōng)狮(rén),肯定会听过、看过或者在你最初面试中遇到过这个经典问题...如果本地dns缓存和hosts文件没找到,这时候就会把请求发送给网卡配置信息里dns服务器,默认有两个,只有当dns1不能访问时,才会使用dns2。...我们也称网卡配置信息里dns为local dns,这时候local dns会先查询缓存,有没有www.baidu.com相应记录,如果有,则返回给用户,如果没有,就会访问根域名服务器进行后续解析请求及响应流程...install -y nscd # 使用 service nscd restart 3、一个不常用文件 前面聊到都是常见的话题,本节提到是关于linux中一个不常用但很实用内容 那就是在不考虑...先dns,再hosts 关于nsswitch.conf文件配置不深究,这里分析是否配置dns及hosts,以及此文件修改不同顺序给dns解析带来情况 如果hosts未配置,DNS也未配置,必定会报

6.3K10

这款开源终端工具可查询 IP 信息 ...

在 Linux 下,有dig、nslookup、traceroute等多种非常实用网络调试工具。 dig:是常用域名查询工具,可以用来测试域名是否正常。...nslookup:是常用域名查询工具,也就是查 DNS 信息时用到命令,它有两种工作模式,分别为交互模式和非交互模式。...交互模式:用户可以向域名服务器查询各类主机、域名信息或输出域名中主机列表。 非交互模式:用户可以针对一个主机或域名获取它特定名称或所需信息。...后来基于 GoLang 重写了这款工具,在原有功能基础之上增加了 IPv6 支持,并且增加了 Geoip2 数据。...1.1.1.1[澳大利亚] 8.8.8.8[美国 加利福尼亚州山景市谷歌公司DNS服务器] 9.9.9.9[美国 纽约IBM公司] 交互式查询多个 IP 地址信息,可执行nali回车后,输入 IP

88610

CentOS 7下DNS服务器安装部署与配置详解

然后更改它主机记录格式,(注意要把 “A” 记录换成 “PTR” ),更改完成后如下: 全部配置文件编写完成后可以使用以下命令所有DNS相关配置文件进行检查,如有语法错误地方,会依次指出。...使用客户机验证是否能够解析到各主机(正、反向解析均成功): 接下来,开另一台服务器,做 刚才那台 “主DNS服务器 “从DNS服务器”(辅助DNS服务器): 安装BIND相关软件: 编写主配置文件...—–DNS常用资源记录及说明: —– 关于DNS转发器配置简单介绍(做转发器时需要把全局配置中dnssec-enable ; dnssec-validation 两个配置项全部改为“no”): 转发类型...; #only表示转发 ;first表示先进行转发,如果没查询到结果,那么它自己还会根据根提示向外迭代查询 }; 例如: forward first; #本机不能解析转发给202.96.209.5做解析...; }; (2)局部转发:转发特定区域解析请求 zone { forwarders { ip; }; #指明转发器是谁 forward only|first; #only表示转发 ;first

2.4K30

dig 命令洞察 DNS 解析过程

dig 常用命令格式 dig [@server] [-p port] [-t type] [-4] [-6] [+trace] name @ 指定 DNS 查询使用服务器名称或 IP ,IP 地址可以是用点分隔...当参数指定值是服务器主机名时,dig 命令会在查询该域名服务器前先解析该主机名; -p 指定 DNS 查询使用端口号,默认情况下 DNS 查询使用标准53端口,若使用非端口则需要通过 -p 参数指定...,可使用此选项来测试已配置为侦听非标准端口号上 DNS 服务器; -t 指定 DNS 查询记录类型,常用类型包括:A/AAAA/NS/MX/CNAME 等,缺省查询类型是 A ; -4 指定 dig...命令使用 IPv4 查询传输; -6 指定 dig 命令使用 IPv6 查询传输; +trace 跟踪从根名称服务器开始迭代查询过程,缺省情况不使用跟踪。...到目前为止,我们 DNS 解析过程以及 DNS 服务器架构已经有所了解,下一篇文章我们将讨论一个有趣问题,为什么全球只有13台 DNS 服务器

26.6K104

VTest - 漏洞测试辅助系统

VTest - 漏洞测试辅助系统用于辅助安全工程师漏洞挖掘、测试、复现,集合了mock、httplog、dns tools、xss,可用于测试各类无回显、无法直观判断或特定场景下漏洞,例如:存储型xss...项目特点 使用方便,集成常用辅助功能 零部署难度,python环境中直接运行即可 功能介绍 Mock 自定义http请求返回包,例如以下场景: 定义返回内容为php代码,用于测试php远程文件包含漏洞...定义301/302跳转,测试SSRF漏洞 DNS Tools 用于辅助判断无法回显漏洞以及特殊场景下使用,有如下三种使用方式 vultest.yourdomain.net,任意多级子域名解析均会记录显示...,可用于DNS rebinding漏洞测试 HTTP Log 记录任意HTTP请求详细包,可用于各种无回显漏洞判断、漏洞分析、信息收集、数据回传 XSS 用于测试储存型xss漏洞 系统部署 Python2.7...环境 # 安装依赖 pip install flask flask-httpauth sqlite3 # 参数说明: # -d 你域名,需要指向ns记录到此服务器上,具体流程参考其他dnslog类系统

1.3K30

InetAddress.getByName背后发生了什么

DNS 域名系统,即Domain Name System简称,是英特网中作为域名和IP地址互相映射一个分布式数据,能够使用用户更方便访问互联网,而不用记住能够被机器直接读取IP数串。...kube-system.svc.cluster.local options ndots:5 其中nameserver指明dns服务器地址,可以有多行,每行指定一个DNS服务器地址,查询时按照先后顺序...,依次进行查询,但是当前面一个nameserver查询失败时才从后面nameserver继续进行查询。...nospoof:表示是否允许服务器IP地址进行欺骗 on表示不允许 off表示不允许 reorder:表示是否查询结果进行重新排序 on表示重新排序 off表示不重新排序 trim:这个关键字可以多次多次出现...而对于dns(libnss_dns.so)自然就是向dns服务器进行查询

33520

渗透测试信息收集工具篇

1、whois 查询网站及服务器信息 如果知道目标的域名,你首先要做就是通过 Whois 数据查询域名注册信息,Whois 数据是提供域名注册人信息,包括联系方式,管理员名字,管理员邮箱等等,...2、Dig 使用 可以使用 dig 命令 DNS 服务器进行挖掘,Dig 命令后面直接跟域名,回车即可,如图: ?...这也是我们要用来测试 DNS 域传送泄露命令 3、Nslookup 用法 nslookup 是站长较为常用工具之一,它甚至比同类工具 dig 使用人数更多,原因是它运行环境是 windows ,...下面的例子查询 baidu.com 使用 DNS 服务器名称: ? 下面的例子展示如何查询 baidu.com 邮件交换记录: ? 查看网站 cname 值。 ?...Nmap 使用 TCP/IP 协议栈指纹来识别不同操作系统和设备。在 RFC 规范中,有些地方 TCP/IP 实现并没有强制规定,由此不同 TCP/IP 方案中可能都有自己特定方式。

3.3K00

DNS域传送漏洞(一)

DNS服务器分为:主服务器、备份服务器和缓存服务器。在主备服务器之间同步数据,需要使用DNS域传送”。域传送是指后备服务器从主服务器拷贝数据,并用得到数据更新自身数据。...2) nslookup命令 笔者首先介绍DNS查询工具nslookup命令使用使用该命令,就可完成DNS域传送测试。在windows命令提示符中输入“nslookup ?”...] host # 查找使用默认服务器 "host" nslookup [-opt ...] host server # 查找使用 "server" "host" Nslookup...为了查询结果准确,可选用几个常用公共DNS服务器:8.8.8.8是Google提供DNS服务,114.114.114.144和114.114.115.115是114DNS提供免费DNS服务。...下面的例子查询jd.com使用DNS服务器名称: d:\>nslookup www.lijiejie.com 114.114.114.114 服务器: public1.114dns.com

1.8K20

Redis高可用方案之DNS

但是,主库一旦出现故障,虽然有从,且从提升为主库,但是应用程序如果想使用则必须修改配置,重启应用方可生效。如用此情况,则涉及的人员比较多,且应用程序恢复使用时间比较长。...b)  使用DNS 应用程序通过配置内网域名连接redis,DNS服务器对应域名映射到redis主库服务器IP。...DNS方式: 使用DNS方式将有DNS缓存问题,即修改域名映射后域名仍可能解析到原主库机器ip。 vip配合哨兵高可用方式将在后续介绍,本次先介绍DNS服务器配置及dns方式解决方案。 2. ...测试域名方式操作redis 编写程序,测试使用域名方式连接redis 注意:程序运行机器需添加对应内网DNS服务器,即2.8中操作。...即,此时redis已无法使用 5.3   提升从为读写默认为只读,断开主从复制后将会变为读写 a)  查看此时从复制状态 127.0.0.1:6379> info Replication

2.2K60

安全工具系列 -- 信息收集

若要搜索两个或更多域,请使用逻辑运算符OR域进行分组。 您可以使用site:搜索不超过两层Web域、顶级域及目录。您还可以在一个网站上搜索包含特定搜索字词网页。 ?...1、whois查询网站及服务器信息 如果知道目标的域名,你首先要做就是通过Whois数据查询域名注册信息,Whois数据是提供域名注册人信息,包括联系方式,管理员名字,管理员邮箱等等,其中也包括...2、Dig使用 可以使用dig命令DNS服务器进行挖掘。 Dig命令后面直接跟域名,回车即可 ? Dig常用选项 -c 选项,可以设置协议类型(class),包括IN(默认)、CH和HS。...2.下面的例子查询baidu.com使用DNS服务器名称: ? 3.下面的例子展示如何查询baidu.com邮件交换记录: ? 4.查看网站cname值。 ?...6、DNS枚举工具DNSenum DNSenum是一款非常强大域名信息收集工具。它能够通过谷歌或者字典文件猜测可能存在域名,并一个网段进行反向查询

3.1K21

DNSmasq详细解析及详细配置

作为域名解析服务器(DNS),dnsmasq可以通过缓存 DNS 请求来提高访问过网址连接速度。作为DHCP 服务器,dnsmasq 可以用于为局域网电脑分配内网ip地址和提供路由。...对于任何被解析到此 IP 域名,将响应 NXDOMAIN 使其解析失效,可以多次指定 通常用于对于访问不存在域名,禁止其跳转到运营商广告站点 server 指定使用哪个DNS服务器进行解析,对于不同网站可以使用不同域名对应解析...# 也就是将  及其所有子域名解析成指定  IPv4 或者 IPv6 地址,通常用于屏蔽特定域名。...所以我们自己可以架设本地DNS服务器,这样用自己DNS就不会有广告问题。 Dnsmasq也不是仅仅这个用途,我们也可以作为局域网机器批量IP维护使用,以及局域网解决特定网址域名禁止访问。...(1)作为本地DNS使用 将Dnsmasq作为本地DNS服务器使用,直接修改电脑本地DNSIP地址即可 ?

131K67

聊聊 DNS 那些小知识

从 Web 客户端收到 DNS 查询请求后,递归解析器将使用缓存数据进行响应,或者向根域名服务器发送请求,接着向 TLD 域名服务器发送另一个请求,然后向权威性域名服务器发送最后一个请求。...SRV 记录:指定用于特定服务端口。 PTR 记录:在反向查询中提供域名。 其中 A 记录和 CNAME 这两个是解析域名最常用记录。...“A”记录保存 IPv4 地址,如果站点具有 IPv6 地址,它将使用“AAAA”记录。 DNS CNAME 记录 当域或子域是另一个域别名时,使用“规范名称”记录代替 A 记录。...解析器查询 DNS 根域名服务器(.)。 根服务器使用存储其域信息 TLD 域名服务器(.me)地址响应该解析器。在搜索 .me 时,我们请求指向 .me TLD。...TLD 服务器随后使用该域域名服务器 www.xiaoz.me IP 地址进行响应。 递归解析器将查询结果发送到域域名服务器

1.9K10

16 个在面试前需要知道系统设计概念

该过程从你计算机向递归解析器发送查询开始,然后搜索一系列 DNS 服务器,从根服务器开始,然后是顶级域 (TLD) 服务器,最后是权威名称服务器。...IP 哈希:客户端 IP 地址进行哈希处理,结果值用于确定应将请求定向到哪个服务器。此方法可确保特定客户端请求始终路由到同一服务器,从而有助于保持会话持久性。...缓存:为了减少延迟和后端负载,API 网关可以缓存常用响应,直接将它们提供给客户端,而无需查询后端服务。...另一方面,垂直分区涉及将表列划分为单独表。这样做是为了减少表中列数并提高访问少量列查询性能。 8. 数据复制 数据复制是一种用于跨不同服务器或位置维护同一数据多个副本技术。...全文搜索 全文搜索使用户能够在应用程序或网站中搜索特定单词或短语。当用户查询时,应用程序或网站会返回最相关结果。

19910

【白话科普】聊聊 DNS 那些小知识

从 Web 客户端收到 DNS 查询请求后,递归解析器将使用缓存数据进行响应,或者向根域名服务器发送请求,接着向 TLD 域名服务器发送另一个请求,然后向权威性域名服务器发送最后一个请求。...SRV 记录:指定用于特定服务端口。 PTR 记录:在反向查询中提供域名。 其中 A 记录和 CNAME 这两个是解析域名最常用记录。...“A”记录保存 IPv4 地址,如果站点具有 IPv6 地址,它将使用“AAAA”记录。 DNS CNAME 记录 当域或子域是另一个域别名时,使用“规范名称”记录代替 A 记录。...解析器查询 DNS 根域名服务器(.)。 根服务器使用存储其域信息 TLD 域名服务器(.com)地址响应该解析器。在搜索 upyun.com 时,我们请求指向 .com TLD。...TLD 服务器随后使用该域域名服务器 upyun.com IP 地址进行响应。 递归解析器将查询结果发送到域域名服务器。 upyun.com IP 地址之后从域名服务器返回解析器。

2K30

计网 - 域名解析工作流程

DNS是什么 DNS(Domain Name System,域名系统)是互联网中一种分布式数据系统,负责将易于记忆域名转换为对应IP地址。...向根DNS服务器查询: 如果本地DNS服务器无法从缓存中解析出IP地址,它会向根DNS服务器发送查询请求,请求根DNS服务器指示解析该域名顶级域名服务器地址。...本地DNS服务器随后向顶级域DNS服务器发送查询请求,请求解析特定域名权限DNS服务器地址。 向权威DNS服务器查询: 顶级域DNS服务器会将权威DNS服务器地址返回给本地DNS服务器。...本地DNS服务器再向权威DNS服务器发送查询请求,询问特定域名对应IP地址。...防范措施:使用DNSSEC技术DNS响应进行数字签名,确保域名解析结果完整性和真实性。

4300

Linux(RHEL7及CentOS7)下DNS服务器搭建与配置

一、基本概念 DNS即Domain Name System,域名系统,因特网上作为域名和IP地址相互映射一个分布式数据,能够使用户更方便访问互联网,而不用去记住能够被机器直接读取IP数串。...在RFC文档中RFC 2181DNS有规范说明,RFC 2136DNS动态更新进行说明,RFC 2308DNS查询反向缓存进行说明(摘自百度百科)。...DNS服务器上配置主机到IP地址映射,网络上需要使用主机名通信设备,需要到DNS服务器查询主机所对应IP地址。...可以将一些常用域名放入静态域名解析表中,这样可以大大提高域名解析效率。 DNS常用资源记录类型 A:地址 此记录列出特定主机名 IP 地址。这是名称解析重要记录。...四、附加资料 Bind可以使用区域类型及其说明如下: master:主DNS区域。拥有该区域区域数据文件,该区域提供管理。 slave:从DNS区域。

3K40

快速自建 DoH ( DNS over HTTPS) 服务

标准 描述 DNS over HTTPS RFC8484 使用TLS加密HTTP/2执行DNS查询 DNS over TLS RFC7858 使用TLS加密TCP执行DNS查询 DNS over...HTTP 服务提供商自定义 使用自定义加密HTTP/1.1执行DNS查询 移动端DNS优化已经有很多实践,最常见DNS over HTTP,通过加密HTTP请求规避运营商DNSUDP包劫持...客户端方面,常用Chrome、FireFox已经支持了自定义DoH服务器,macOS、iOS也可通过配置文件设置系统范围默认DoH服务器。...笔者也正好有一个自定义DNS需求: 需要针对一些域名DNS查询返回IPv4记录 使用某某路由器系统自定义DNS服务支持设置UDP和DoH UDP模式默认使用53端口,不可修改,UDP包容易遭受干扰...DoH可自定义域名、端口且使用HTTP2作为传输协议,稳定性更强 综上,只有自建DoH服务了,于是就有了下面的折腾,最后测试时发现这个傻瓜路由器系统只支持一些特定DoH服务商如阿里云DNS、DNSPod

5.4K30

Kali Linux下信息搜集基础工具(命令)使用总结

DNS服务器查询主机ip地址,默认使用/etc/resolv.conf里DNS服务器;也可在指令尾部直接添加DNS服务器 默认情况下host指令会搜索域名A记录、AAAA记录和MX记录,如需查询全部...DNS记录,可使用选项-a 例: host还可进行域传输,使用-l选项 3、dig 进行DNS查询返回该域A记录,如需查询全部记录,可以将type设置为any 例: 4、dnsenum 该程序将收集...,一般可以直接使用目标dns服务器,(PS:8.8.8.8 是一个IP地址,是Google提供免费dns服务器IP地址,另一个是:8.8.4.4)-o output.txt 结果在 output.txt...文档里 例:dnsenum -f dns.txt baidu.com 5、fierce DNS枚举工具,可通过多项技术查找目标的ip地址和主机名,他会通过本机使用DNS服务器查找使用个目标域DNS服务器...它把TTL值从1开始递增,直到数据包到达目标主机为止,而tcptraceroute则是使用tcp数据包进行测试,它利用TCP SYN(握手请求)数据包进行路由信息探测; 其有较高通过率 常用选项 -i

1.4K20
领券