首页 > 编程知识 正文

nmap扫描udp端口,dns解析报文

时间:2023-05-05 08:01:08 阅读:172275 作者:3521

在Linux上监听53号端口捕捉DNS查询消息的计算机网络课程,要求编写功能正常的DNS resolver,因此要求编写的解析器能够监听来自APP应用程序的查询消息

这意味着,如果APP应用程序需要询问与web地址相对应的IP地址,它会首先向DNS resolver发送一条询问消息。 该解析器解析该消息,首先查找是否存在与本地缓存对应的IP地址,如果没有,则前往其他已知的DNS服务器进行检索。 获取结果后,会返回一条消息。

其中,53号端口是解析器和服务器监听的端口。

可以使用sudo netstat -aptn | grep 53命令检查端口号53的使用情况

TCP 0127.0.0.5:530.0.0.0: * listen 826/systemd-resolve TCP 010.122.223.9633605370854.209.117 firet

如果强制运行侦听器,将出现以下错误:

为此,地址分配使用必须首先停止系统资源服务

使用systemctl stop systemd-resolved命令停止服务

然后修改/etc/resolv.conf的内容

name server 127.0.0.1 # name server 127.0.0.53 # options edns0trust-ad文件由systemd-resolve服务自动生成

监听器的小DEMO :

# includesys/socket.h # include arpa/inet.h # include unistd.h # include stdio.h # include STD sin.sin_family=AF_INET; sin.sin_port=htons(53; sin.sin _ addr.s _ addr=htonl (in addr _ any ); if(bind(FD,) struct sockaddr * ) sin,sizeof (sin ) )0) {perror ) ' bind'}; 返回0; }struct sockaddr_in peeraddr; socklen_t peerlen; wile(1)打印(prepare recv (n ) ); char resbuf[BUFSIZ]={ '' }; intn=recvfrom(FD,resbuf,sizeof(resbuf ),0,) (struct sockaddr * ) peeraddr,peerlen ); 打印(% d (n ),n ); }close(FD ); } UDP使用sendto函数发送消息,使用recvfrom接收消息

运行程序,自由搜索网站。

prepare recv 42 prepare recv 42 prepare recv 42 prepare recv 42 prepare recv 42 prepare recv 55可以运行

执行完成后,使用systemctl start systemd-resolved命令重新启动系统服务

此时,/etc/resolve.conf文件将被重写

这样就可以成功捕获来自APP应用程序的查询消息,并对其进行进一步处理

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。