在 Java 中发送 DNS 查询而不使用 InetAddress
Send DNS queries in Java without using InetAddress
我正在尝试使用 JAVA 将 DNS 查询发送到 DNS 根服务器(例如 192.58.128.30)。但是问题是,不允许使用像InetAddress.getByName()这样的库函数,如何进行?
到目前为止我已经试过了:
public class Main{
public static void main(String[] args) {
DatagramSocket client = new DatagramSocket();
String rawMessage = "example message";
byte[] message = rawMessage.getBytes(); //converting the message into a byte array
//creating datagram packet
DatagramPacket packet =
new DatagramPacket(rawMessage,rawMessage.length,InetAddress.getByName("192.58.128.30"),53);
//sending packet using datagramSocket
client.send(packet);
}
}
编辑:问题已解决。
最简单的方法是找出函数的真正作用,然后手动实现该方法以供学习。
我正在尝试使用 JAVA 将 DNS 查询发送到 DNS 根服务器(例如 192.58.128.30)。但是问题是,不允许使用像InetAddress.getByName()这样的库函数,如何进行?
到目前为止我已经试过了:
public class Main{
public static void main(String[] args) {
DatagramSocket client = new DatagramSocket();
String rawMessage = "example message";
byte[] message = rawMessage.getBytes(); //converting the message into a byte array
//creating datagram packet
DatagramPacket packet =
new DatagramPacket(rawMessage,rawMessage.length,InetAddress.getByName("192.58.128.30"),53);
//sending packet using datagramSocket
client.send(packet);
}
}
编辑:问题已解决。
最简单的方法是找出函数的真正作用,然后手动实现该方法以供学习。