新闻| 文章| 资讯| 行情| 企业| wap手机版| article文章| 首页|会员中心|保存桌面|手机浏览
普通会员

滕州市书瑶科技有限公司

企业列表
新闻列表
  • 暂无新闻
推荐企业新闻
联系方式
  • 联系人:赵先生
首页 > 新闻中心 > 使用nslookup进行DNS查询及tcpdump/wireshark抓取DNS数据包
新闻中心
使用nslookup进行DNS查询及tcpdump/wireshark抓取DNS数据包
发布时间:2024-11-04        浏览次数:4        返回列表

原文

使用nslookup进行DNS查询及tcpdump/wireshark抓取DNS数据包

nslookup 是一个查询 Internet 域名服务器的程序。我们通常使用nslookup工具来测试DNS解析,获取DNS报文的详细数据,这也是我们想要使用协议分析工具nslookup来分析DNS流量进行分析。

只要你上网,都会涉及DNS解析。简单起见,我们这里不会搭建一个DNS服务器,而是使用Internet域名解析来分析验证。

使用nslookup工具进行DNS查询

nslookup 命令可用于许多操作系统,如 Windows、macOS 和 Linux 发行版。 您可以使用它来执行 DNS 查询并接收:域名或 IP 地址,或任何其他特定的 DNS 记录。

nslookup命令可以在两种模式下允许:交互式和非交互式。当需要返回单一查询的结果,可以使用非交互式模式,语法如下

nslookup [-option] [name | -] [server]

例如我们查询一个baidu.com的命令结果如下

nslookup 后跟域名将显示域的“A 记录”(IP 地址)。 使用此命令查找域的地址记录。 它查询域名服务器并获取详细信息。

如何检查反向 DNS 查找

很多时候您会检查 A 记录以查看域的 IP,但有时您需要验证 IP 地址是否与特定域相关。 为此,我们需要反向 DNS 查找。

nslookup的交互模式

nslookup在交互模式下使用,进入交互状态并执行相应的子命令,交互命令如下

常用的子命令为

nslookup [exit | finger | help | ls | lserver | root | server | set | view] [options]

exit :退出 nslookup 命令行工具
finger :与当前计算机上的finger 服务器连接
help : 显示子命令的简短摘要
ls: 列出 DNS 域的信息
lserver : 改变默认域名服务器
root :将默认服务器挂到DNS域名空间根的服务器上
server :指定域名服务器
set :此命令用于更改影响查找的状态信息
view:排序并列出前一个 ls 子命令或命令的输出

在交互模式下正向解析,查询域名信息。要中断交互命令,可以使用ctrl + c组合键,要退出交互模式并返回到命令提示符,在命令提示符下输入“exit”即可。

直接输入要查询的域名可返回域名的IP地址。输入server可返回当前DNS服务器的信息。

无论是交互式和非交互式,如果没有指定DNS服务器地址,nslookup命令将查询当前计算机的默认DNS服务器。

默认查询主机地址,想要测试其他类型的资源记录,先使用 set type命令设置要查询的DNS记录类型,然后输入域名,可得到相应类型的域名测试结果。

类型值如下

举例如下

nslookup -type=any baidu.com

这个查找范围很大。 在这里,我们要查看所有可用的 DNS 记录。 在看到所有这些之后,我们可以对不同类型的 DNS 记录进行特定查找。

捕获DNS流量验证报文格式

网络访问只要涉及域名,都会执行DNS解析,如ping ,web访问等等。下面我们使用nslookup命令查询域名baidu.com 。

下图是使用tcpdump抓包的过程

使用工具进行DNS包的抓取,我们制定的参数

  • -i eth0 指定我们的网卡
  • -n 按照IP地址和端口的数字形式进行输出
  • -s 我们制定抓取数据包的Size
  • port domain 指定域名服务

先开启抓包,然后执行nslookup

抓到的包内容

下图是使用wireshark进行抓取DNS数据包

这是一个简单的DNS解析过程,序号为56的数据包显示的是DNS查询报文,序号为57是数据包是DNS应答报文。

这里我们展开了Domain Name System节点。客户端向服务器发送DNS查询报文,这是一个标准查询(Standard Query,我们可以理解为正向解析。

查询报文分为首部和问题两个部分。首部包含ID,标志和计数器3类字段。Opcode值为0表示标准查询。

Question为1表示只有一个查询报文,其他3个资源记录数均为0。问题部分给出了要查询的域名、类型、和类。

这个报文封装在UDP协议上,发往DNS服务器,传输的目的端口号为53.

下面我们讲讲57序号的详细数据。

这里我们展开了Domain Name System节点。服务器返回客户端DNS应答报文。应答报文分为首部、问题、回答、权威、附加5个部分。

首部包含ID,标志和计数器3类字段。ID与查询报文相同。Question为1表示只有一个查询报文,其他3个资源记录数给出了相应的数目,问题部分与查询部分相同