内容目录
需求产生
公司安全重构,需要获取打包服务器访问的常用域名加入白名单
启动tcpdump到后台运行
nohup tcpdump > domain_requests.log 2>&1 &
获取域名并排序
cat domain_requests.log | grep "_gateway" | grep "AAAA?" |awk '{print $8}'| sed 's/\.$//' |sort|uniq >domain.txt
结束进程
pkill tcpdump
要使用 tcpdump
提取 DNS 域名解析的日志,可以使用以下命令捕获 DNS 查询和响应的数据包。DNS 通常使用端口 53,因此可以通过监听这个端口来捕获 DNS 流量。
以下是一个示例命令:
sudo tcpdump -i any port 53 -w dns_traffic.pcap
这条命令将捕获所有接口上与端口 53 相关的流量,并将其写入到名为 dns_traffic.pcap
的文件中。捕获的数据可以稍后用 Wireshark 或其他工具进行分析。
如果你想实时查看 DNS 查询,可以使用以下命令:
sudo tcpdump -i any port 53 -l | grep 'A?'
这条命令会实时显示 DNS 查询,并过滤出查询 A 记录的请求。
或者,如果你想要更详细的输出,可以使用:
sudo tcpdump -i any -n port 53
解释每个参数:
-i any
: 监听所有网络接口。-n
: 不进行DNS和服务名解析,直接显示IP地址和端口号。port 53
: 仅捕获与端口53相关的流量(DNS流量)。-l
: 将标准输出设为行缓冲模式,便于实时处理。-w dns_traffic.pcap
: 将捕获的数据写入文件dns_traffic.pcap
中。
捕获的数据将显示DNS请求和响应的详细信息,包括查询的域名和响应的IP地址。
如果只想显示解析到的域名,可以结合 grep
过滤结果:
sudo tcpdump -i any port 53 -l -n | grep -E "A\? |AAAA\?"
这样你将会看到 DNS A 记录和 AAAA 记录的查询。
近期评论