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

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

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

  1. import java.net.*;
  2. import java.io.*;
  3. public class PortLogger{
  4. public static void main(String[] args) {
  5. LoggerServer loggerServer = new LoggerServer(53);
  6. loggerServer.start();
  7. }
  8. }
  9. class LoggerServer extends Thread{
  10. private int port;
  11. public LoggerServer(int port){
  12. this.port = port;
  13. }
  14. @Override
  15. public void run(){
  16. try{
  17. int id = 1;
  18. ServerSocket server = new ServerSocket(port);
  19. System.out.println("Server Listening at port " + port);
  20. Socket client;
  21. while(true){
  22. client = server.accept();
  23. ClientHandler clientHandler = new ClientHandler(client, id++);
  24. clientHandler.start();
  25. }
  26. }catch(Exception ex){
  27. System.out.println("Exception at Server : 1 :: EX = " + ex);
  28. }
  29. }
  30. }
  31. class ClientHandler extends Thread{
  32. private Socket client;
  33. private int id;
  34. public ClientHandler(Socket client, int id){
  35. this.client = client;
  36. this.id = id;
  37. }
  38. @Override
  39. public void run(){
  40. try {
  41. String data = "";
  42. BufferedReader reader = new BufferedReader(new InputStreamReader(client.getInputStream()));
  43. while(true){
  44. data = reader.readLine();
  45. if(data.length() > 0){
  46. System.out.println("Client : " + id + " :: " + data);
  47. }
  48. }
  49. }catch(Exception ex){
  50. System.out.println("Exception at Client : " + id + " :: EX = " + ex);
  51. }
  52. }
  53. }

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

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

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

暂无答案!

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

相关问题