Linux 如何找出本地 DNS 请求来源

101 天前
 SeaSaltPepper

用上 SmartDNS with WebUI 之后发现本地 DNS 服务器 127.0.0.1:53 每隔 5min 会有一个来自本机的 dns.pub DNS 解析请求,这台机器几乎不怎么使用,因此对这个 DNS 请求来源比较好奇。用 TcpDump 只能看到发出端口号,无法看到进程;又由于 DNS 请求过于快速,我无法手动通过 ss 查看端口对应进程。

现在没啥头绪了,有大佬支个招吗

2289 次点击
所在节点    Linux
13 条回复
kk2syc
101 天前
NTP ?
ik
101 天前
grep 'dns.pub' /* -R 先看看

同蹲一个答案
dem0ns
101 天前
jworg
101 天前
刚刚试了下 bpftool 的 tracepoint 失败了,dns 用好几种系统调用,大概得上 bcc 过滤了
iceecream
101 天前
审计行不行
beyondstars
101 天前
bindsnoop-bpfcc -w
jworg
101 天前
用 bcc 的 socket_filter 失败了,丢掉了 pid 。

去搜了下有这篇文章 https://medium.com/@nurkholish.halim/a-deep-dive-into-ebpf-writing-an-efficient-dns-monitoring-2c9dea92abdf
对应这个代码 https://gist.github.com/oghie/b4e3accf1f87afcb939f884723e2b462

应该就是你想要的了
daisyfloor
101 天前
问了下 gpt ,它提供了 5 种方法,你自己问问吧

总结
方法 描述 难度 推荐度
conntrack 能追踪短暂 UDP 连接 中 ⭐⭐⭐⭐
auditd 内核审计系统,能监控 socket 行为 高 ⭐⭐⭐
systemd-resolved 检查 排除系统自带 DNS 检测 低 ⭐⭐⭐⭐
ss/lsof 脚本 粗暴轮询法 低 ⭐⭐
smartdns 配置分析 看是否是它自己发的 低 ⭐⭐⭐⭐
eBPF 工具 内核层级追踪 高 ⭐⭐⭐
jworg
101 天前
输出结果大概像这样子

COMM=chrome PID=1169965 TGID=1169997 DEV=wlp6s0 PROTO=UDP SRC=192.168.8.64 DST=192.168.8.1 SPT=48927 DPT=53 UID=1000 GID=1000 DNS_QR=0 DNS_NAME=v2ex.com. DNS_TYPE=A
COMM=chrome PID=1169965 TGID=1169997 DEV=wlp6s0 PROTO=UDP SRC=192.168.8.64 DST=192.168.8.1 SPT=48927 DPT=53 UID=1000 GID=1000 DNS_QR=0 DNS_NAME=v2ex.com. DNS_TYPE=AAAA
COMM=chrome PID=1169965 TGID=1169997 DEV=wlp6s0 PROTO=UDP SRC=192.168.8.1 DST=192.168.8.64 SPT=53 DPT=48927 UID=1000 GID=1000 DNS_QR=1 DNS_NAME=v2ex.com. DNS_TYPE=A DNS_DATA=198.18.0.5
dode
101 天前
也许就是来自 SmartDNS with WebUI ,这个软件开发者内置了腾讯 dns.pub doh 有关的操作
SeaSaltPepper
101 天前
@dem0ns 感谢感谢,咱大哥写的工具真好用啊,一下找着了是 nslookup 发的
SeaSaltPepper
101 天前
@jworg #7 谢谢大哥,eBPF 确实是好东西
feedcode
101 天前
# ptcpdump is a tcpdump-compatible packet analyzer powered by eBPF, automatically annotating packets with process/container/pod metadata when detectable.
https://github.com/mozillazg/ptcpdump
# audit
auditctl -a exit,always -F arch=b64 -S connect -k "connect-audit"

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1134719

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX