首页 > 解决方案 > 不使用 InetAddress 在 Java 中发送 DNS 查询

问题描述

我正在尝试使用 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);

        }
    }

编辑:问题已解决。

标签: javadnsudp

解决方案


最简单的方法是弄清楚该函数的真正作用并手动实现该方法以用于学习目的。


推荐阅读