
用上 SmartDNS with WebUI 之后发现本地 DNS 服务器 127.0.0.1:53 每隔 5min 会有一个来自本机的 dns.pub DNS 解析请求,这台机器几乎不怎么使用,因此对这个 DNS 请求来源比较好奇。用 TcpDump 只能看到发出端口号,无法看到进程;又由于 DNS 请求过于快速,我无法手动通过 ss 查看端口对应进程。
现在没啥头绪了,有大佬支个招吗
1 v1 201 天前 NTP ? |
2 ik 201 天前 via iPhone grep 'dns.pub' /* -R 先看看 同蹲一个答案 |
3 dem0ns 201 天前 |
4 jworg 201 天前 刚刚试了下 bpftool 的 tracepoint 失败了,dns 用好几种系统调用,大概得上 bcc 过滤了 |
5 iceecream 201 天前 审计行不行 |
6 beyondstars 201 天前 bindsnoop-bpfcc -w |
7 jworg 201 天前 用 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 应该就是你想要的了 |
8 daisyfloor 201 天前 问了下 gpt ,它提供了 5 种方法,你自己问问吧 总结 方法 描述 难度 推荐度 conntrack 能追踪短暂 UDP 连接 中 auditd 内核审计系统,能监控 socket 行为 高 systemd-resolved 检查 排除系统自带 DNS 检测 低 ss/lsof 脚本 粗暴轮询法 低 smartdns 配置分析 看是否是它自己发的 低 eBPF 工具 内核层级追踪 高 |
9 jworg 201 天前 输出结果大概像这样子 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 |
10 dode 201 天前 也许就是来自 SmartDNS with WebUI ,这个软件开发者内置了腾讯 dns.pub doh 有关的操作 |
11 SeaSaltPepper OP @dem0ns 感谢感谢,咱大哥写的工具真好用啊,一下找着了是 nslookup 发的 |
12 SeaSaltPepper OP @jworg #7 谢谢大哥,eBPF 确实是好东西 |
13 feedcode 201 天前 # 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" |