DNS解析失败

1 DNS解析失败

#场景:yum配置使用wget repo失败,DNS解析超时

#法一
检查DNS配置`vim /etc/resolv.conf`
#法二,strace(系统调用追踪)
strace -ff -o xxx curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo


strace:用于追踪系统调用和信号的工具。
-ff:为每个被跟踪的进程生成单独的输出文件。
-o xxx:将追踪结果输出到文件 xxx。
curl:用于从服务器传输数据或向服务器传输数据的工具。
-o /etc/yum.repos.d/CentOS-Base.repo:将下载的内容保存到指定文件。
https://mirrors.aliyun.com/repo/Centos-7.repo:要下载的文件 URL。

egrep -r "53"

- 当 curl 尝试访问 https://mirrors.aliyun.com/repo/Centos-7.repo 时,首先需要解析域名 mirrors.aliyun.com。DNS 解析通常通过 UDP 端口 53 进行。

#示例输出
socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP) = 3
connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("8.8.8.8")}, 16) = 0
sendto(3, ";\214\1\0\0\1\0\0\0\0\0\0\3www\6mirrors\6aliyun\3com\0\0\1\0\1", 37, 0, NULL, 0) = 37
系统调用connect服务,只有53端口请求,无相应-->DNS解析失败


#扩展
  strace -e open,connect,socket nslookup www.baidu.com
  #so都是系统文件不用关注,查看打开了其他哪些文件,然后进行下一步
#法三,tcpdump抓包
tcpdump -i any port 53 -nn


-i any:指定监听所有网络接口。any 是一个特殊的接口,它会捕获所有经过系统的网络数据包。
port 53:指定只捕获通过端口 53 的数据包。端口 53 通常用于 DNS(域名系统)服务。
-nn:-n 表示不将 IP 地址解析为域名,-nn 表示同时也不解析端口号为服务名称,以数字形式显示。
posted @ 2025-05-30 00:07  FangNing  阅读(13)  评论(0)    收藏  举报