发送和监控DNS查询

问题描述 投票:0回答:1

我正在尝试使用tcpdump监视我的服务器上的DNS查询,但tcpdump似乎没有收到请求,或者它没有被发送到我的服务器。

我在服务器上运行tcpdump,如下所示:

tcpdump -vvv -s 0 -l -n port 53

然后我发送DNS请求到我的服务器:

 nslookup google.com xx.xx.xxx.xxx

xx.xx.xxx.xxx是我的服务器IP。

并回应:

Server:     xx.xx.xxx.xxx
Address:    xx.xx.xxx.xxx#53

Non-authoritative answer:
Name:   google.com
Address: 216.58.208.78

我没有Bind运行,甚至没有安装,但tcpdump应该仍然捕获正确的数据包?

任何想法可能是什么问题?

tcp wireshark tcp-ip tcpdump
1个回答
0
投票

我想就此分享我的看法。请原谅我,如果它略微偏离主题。

现在,如果出现以下情况,DNS解析将会发生:

  • 接收DNS查询的计算机表现为解析程序OR,
  • 接收DNS查询的计算机充当DNS解析器的某种中间件代理。

你可以解释为什么会出现任何类型的DNS解决方案,如果不是这样的话?

为完整上述评论,

如果tcpdump(8)是使用缺少pcap_findalldevs()函数的旧版libpcap构建的,则不支持-D标志。

现在,我假设:

  • 聆听正确的网络接口(您可能希望明确选择正确的接口来监听w.r.t. tcpdump(8)),
  • UDP 53(网络/主机级别)允许传入,
  • 满足上述条件之一,

它应该工作。

tcpdump -vvv -n -s 0 -l -i eth0 udp port 53

取出-n并重试以查看差异。

您还可以发布您使用的nslookup(1)和tcpdump(8)的版本。

© www.soinside.com 2019 - 2024. All rights reserved.