无法通过windows 10和dlink dir-615路由器中的java代码获取dns请求

zf2sa74q  于 2021-06-26  发布在  Java
关注(0)|答案(0)|浏览(205)

因此,我正在开发一个软件,它将监视(并可能通过充当forrowder来更改)我的路由器发出的所有dns请求。
我做了什么?
因此,首先我编写了一个java代码,它可以监听特定的端口,并将所有请求打印到控制台(现在我只想用这些请求进行测试)。
代码是:

import java.net.*;
import java.io.*;

public class PortLogger{
    public static void main(String[] args) {
        LoggerServer loggerServer = new LoggerServer(53);
        loggerServer.start();
    }
}

class LoggerServer extends Thread{
    private int port;

    public LoggerServer(int port){
        this.port = port;
    }

    @Override
    public void run(){
        try{
            int id = 1;
            ServerSocket server = new ServerSocket(port);
            System.out.println("Server Listening at port " + port);
            Socket client;
            while(true){
                client = server.accept();
                ClientHandler clientHandler = new ClientHandler(client, id++);
                clientHandler.start();
            }
        }catch(Exception ex){
            System.out.println("Exception at Server : 1 :: EX = " + ex);
        }
    }
}

class ClientHandler extends Thread{
    private Socket client;
    private int id;

    public ClientHandler(Socket client, int id){
        this.client = client;
        this.id = id;
    }

    @Override
    public void run(){
        try {
            String data = "";
            BufferedReader reader = new BufferedReader(new InputStreamReader(client.getInputStream()));
            while(true){
                data = reader.readLine();
                if(data.length() > 0){
                    System.out.println("Client : " + id + " :: " + data);
                }
            }
        }catch(Exception ex){
            System.out.println("Exception at Client : " + id + " :: EX = " + ex);
        }
    }
}

现在这个代码的唯一建议是向我显示对服务器的所有请求。
我知道我也必须改变我的路由器中的dns服务器。
因此,我首先尝试去互联网安装和把我的计算机作为dns服务器本地ip。
但它显示:
dns ip和lan ip必须在不同的网络上!

但我找到了另一种方法。
具体如下:
我去安装向导的路由器和设置dns服务器到同一个ip。
出人意料的是,它居然成功了!
[我不知道这是否是d-link固件中的错误。

我还添加了一个例外,允许所有入站和出站请求都进入端口53。
有什么问题?
所以现在的问题是,即使成功地将dns更改为我的服务器。似乎根本没有对控制台的请求。我试了很多,但什么也没做。
我通过自愿使用telnet向程序发送请求来检查程序是否正常工作?
现在我做错了什么,或者路由器有问题(它是旧的)。
注意:图片上的黑线只是为了隐藏我的公共ip地址,没有什么特别的。
编辑:我尝试了几次,然后发现网站没有打开时,我改变了我的路由器的dns,但仍然没有在控制台!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题