找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 134|回复: 1

dns和udp解析测试

[复制链接]
建议用 1.1.1.1 而不是用阿里云的 223.5.5.5


因为1.1.1.1的回应  对于测试来说 是比较友好的

很多时候 你发给阿里云的 也许连回应都收不到

尤其是一些比较奇怪的包 不合法的包等等

rust可以用simple-dns这个crate包用于测试dns协议的解析和封装

  1. use std::net::UdpSocket;

  2. use simple_dns::*;
  3. use simple_dns::rdata::*;


  4. fn main() {

  5.     let mut packet = Packet::new_query(1);

  6.     let question = Question::new(Name::new_unchecked("_srv._udp.local"), TYPE::TXT.into(), CLASS::IN.into(), false);
  7.     packet.questions.push(question);

  8.     let resource = ResourceRecord::new(Name::new_unchecked("_srv._udp.local"), CLASS::IN, 10, RData::A(A { address: 10 }));
  9.     packet.additional_records.push(resource);

  10.     // Write the packet in the provided buffer;
  11.     let mut bytes = [0u8; 200];
  12.     assert!(packet.write_to(&mut &mut bytes[..]).is_ok());

  13.     let socket = UdpSocket::bind("0.0.0.0:0").expect("couldn't bind to address");
  14.    
  15.    
  16.     match socket.connect("1.1.1.1:53") {
  17.         Ok(r) => println!("{:?}",r),
  18.         Err(e) => println!("{:?}",e),
  19.     }

  20.     socket.send(&bytes).expect("couldn't send message");

  21.     let mut buf = [0; 1024];
  22.     match socket.recv(&mut buf) {
  23.         Ok(received) => println!("received {received} bytes {:?}", &buf[..received]),
  24.         Err(e) => println!("recv function failed: {e:?}"),
  25.     }
  26.    
  27.    
  28. }
复制代码



simple-dns = "0.7.0"

我的恩山、我的无线 The best wifi forum is right here.
 楼主| | 显示全部楼层
  1. packet.set_flags(PacketFlag::RECURSION_DESIRED);
复制代码


注意把 递归 设置上  不然除非大热门域名  容易出现空的回复
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-30 01:36

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表