V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
SeaSaltPepper
V2EX  ›  Linux

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

  •  1
     
  •   SeaSaltPepper · 10 天前 · 1761 次点击

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

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

    13 条回复    2025-05-27 22:02:11 +08:00
    kk2syc
        1
    kk2syc  
       9 天前
    NTP ?
    ik
        2
    ik  
       9 天前 via iPhone
    grep 'dns.pub' /* -R 先看看

    同蹲一个答案
    jworg
        4
    jworg  
       9 天前
    刚刚试了下 bpftool 的 tracepoint 失败了,dns 用好几种系统调用,大概得上 bcc 过滤了
    iceecream
        5
    iceecream  
       9 天前
    审计行不行
    beyondstars
        6
    beyondstars  
       9 天前
    bindsnoop-bpfcc -w
    jworg
        7
    jworg  
       9 天前
    用 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
        8
    daisyfloor  
       9 天前
    问了下 gpt ,它提供了 5 种方法,你自己问问吧

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

    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
        10
    dode  
       9 天前
    也许就是来自 SmartDNS with WebUI ,这个软件开发者内置了腾讯 dns.pub doh 有关的操作
    SeaSaltPepper
        11
    SeaSaltPepper  
    OP
       9 天前
    @dem0ns 感谢感谢,咱大哥写的工具真好用啊,一下找着了是 nslookup 发的
    SeaSaltPepper
        12
    SeaSaltPepper  
    OP
       9 天前
    @jworg #7 谢谢大哥,eBPF 确实是好东西
    feedcode
        13
    feedcode  
       9 天前
    # 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"
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2680 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 11:29 · PVG 19:29 · LAX 04:29 · JFK 07:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.