`
flashsword20
  • 浏览: 9222 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

分享一个Java写的DNS服务器

阅读更多
因为之前工作需要,写了一个DNS服务器,后来维护了半年,公司内部也一直在使用,现在比较稳定了,拿出来跟大家分享。

主要有DNS代理和缓存功能,也可以用hosts风格自定义域名,之前遇到的DNS服务器配置起来都比较复杂,实际上我们自己搭建大多数都是内网或者自己用,根本用不着。我这个默认代理了google的DNS 8.8.8.8,启动起来就能用了,不需要什么配置。只支持A记录配置,不过内部DNS算是足够了。

设计方面,当做一个web服务器来写的,也分了connector、container什么的,connector用的是多线程reactor。
缓存用了EhCache,性能还是比较好的。这个程序在我的笔记本上跑到50000qps,超过了BIND和pdnsd。

项目地址:https://github.com/code4craft/blackhole

安装可以用脚本:

            curl http://code4craft.github.io/blackhole/install.sh | sh

对Java底层有兴趣的可以看看!
分享到:
评论

相关推荐

    java 开发的局域网内DNS 服务器

    配置:把源代码导入Eclipse中,运行DNSServer.java文件。然后把局域网内计算机系统的DNS服务器地址改为运行DNSServer.java的主机地址。这样就配置完成了。 源代码中还包含了DNS查询包和应答包的解析,非常利于学习。

    java实现DNS数据包发送及响应数据包解析IDEA源代码

    1. **DNS(Domain Name System)域名系统**:DNS是互联网的一项服务,它作为将域名和IP地址相互映射的一个分布式数据库,允许用户通过域名访问网站。在Java中,我们可以通过`java.net.DNS`类来与DNS服务器进行交互,...

    基于java的开发源码-DNS服务器 Eagle DNS.zip

    基于java的开发源码-DNS服务器 Eagle DNS.zip 基于java的开发源码-DNS服务器 Eagle DNS.zip 基于java的开发源码-DNS服务器 Eagle DNS.zip 基于java的开发源码-DNS服务器 Eagle DNS.zip 基于java的开发源码-DNS服务器...

    java编写的简单DNS服务器代码

    java编写的简单DNS服务器代码,可用于二次开发,或者作为测试

    本地DNS服务器模拟

    标题中的“本地DNS服务器模拟”指的是使用编程语言(在这种情况下是Java)来创建一个本地的域名系统(DNS)服务器,该服务器可以模仿真实的DNS服务器工作流程,并与上级DNS服务器进行交互。DNS是互联网的一项核心...

    java资源DNS服务器EagleDNS

    java资源DNS服务器 Eagle DNS提取方式是百度网盘分享地址

    JAVA源码DNS服务器EagleDNS

    JAVA源码DNS服务器EagleDNS

    使用Java实现DNS域名解析的简单示例

    总结来说,Java提供了一种方便的方式来执行DNS域名解析,而动态DNS更新则需要服务器端的配合,通常是通过一个接收更新请求的程序,以及正确配置的DNS服务器。这样的机制对于拥有动态IP的家庭服务器或者需要从外部...

    基于Java的DNS服务器 Eagle DNS.zip

    Eagle DNS作为一个用Java语言编写的DNS服务器,具有以下特点: 1. **跨平台性**:由于Java的“一次编写,到处运行”特性,Eagle DNS可以在任何支持Java的平台上运行,包括Windows、Linux、macOS等操作系统。 2. **...

    基于java的DNS服务器 Eagle DNS.zip

    总的来说,Eagle DNS是Java技术在DNS服务领域的一个应用实例,它展示了Java语言在网络服务开发中的灵活性和实用性。无论是开发还是运维,深入理解和使用Eagle DNS都能提升我们在IT领域的专业技能。

    DNS中继服务器的实现(java版)

    设计一个DNS服务器程序,读入“域名-IP地址”对照表,当客户端查询域名对应的IP地址时,用域名检索该对照表,三种检索结果: 检索结果为ip地址0.0.0.0,则向客户端返回“域名不存在”的报错消息(不良网站拦截功能)...

    基于Java的实例开发源码-DNS服务器 Eagle DNS.zip

    Eagle DNS作为一款DNS服务器,它的核心功能就是执行这个转化过程。 **2. Java在DNS服务器开发中的应用** Java以其跨平台的特性,成为开发服务器软件的理想选择。Eagle DNS利用Java的网络编程库,如Socket和...

    java源码:DNS服务器 Eagle DNS.zip

    Eagle DNS是一款基于Java开发的开源DNS服务器软件,它的源码为我们提供了深入理解DNS系统工作原理和Java编程实践的机会。本文将围绕Eagle DNS的源码进行深入解析,涵盖DNS协议、Java网络编程以及源码架构等多个方面...

    基于Java的实例源码-DNS服务器 Eagle DNS.zip

    Eagle DNS是一款基于Java开发的DNS(Domain Name System)服务器软件。这个压缩包包含了实现Eagle DNS功能的源代码,对于学习和理解DNS服务器...同时,这也是一个实践Java并发编程、网络编程和服务器软件设计的好机会。

    基于Java的源码-DNS服务器 Eagle DNS.zip

    Eagle DNS是一款基于Java开发的开源DNS服务器软件,它的设计目标是提供高效、稳定且易于配置的服务。在本文中,我们将深入探讨Eagle DNS的核心功能、工作原理以及如何利用Java编程语言来理解和实现DNS服务器。 首先...

    迷你DNS服务器BlackHoleJ.zip

    BlackHole是一个Java编写的DNS服务器,它可以进行DNS缓存,也支持自定义域名配置,并可以防止DNS污染。比起老牌的DNS软件BIND、pdnsd,BlackHole功能比较简单,但是更容易使用,性能也更好。BlackHole的功能包括: ...

    【BUPT】北京邮电大学 DNS relay(JAVA).zip

    在本项目中,我们看到的是一个基于JAVA实现的DNS relay服务,这是北京邮电大学计算机网络课程设计的一部分。这个课程设计旨在让学生深入理解DNS的工作原理,并通过实际编程来增强对网络协议的掌握。 DNS(Domain ...

    用java开发的dns,这里面是源代码

    1. 域名解析:当用户输入一个域名时,DNS服务器会将这个域名转换为对应的IP地址,以便网络设备进行通信。 2. 分布式数据库:DNS由全球范围内的众多服务器组成,每个服务器负责一部分区域的域名解析,这种分布式设计...

    用java编写的dns内含源码和测试用例

    - `bnd.jar`:可能是一个构建工具或依赖管理工具的jar文件,用于打包和构建项目。 - `LICENSE`:定义了该项目的许可协议,规定了使用、分发和修改代码的规则。 - `Makefile`:自动化构建脚本,通常用于Unix/Linux...

    l3dns:用Java编写的DNS服务器

    【l3dns:用Java编写的DNS服务器】 l3dns是一个用Java语言开发的DNS(Domain Name System)服务器,它提供了对于DNS协议的全面支持,包括解析查询、处理响应以及维护DNS记录。DNS是互联网的核心服务之一,它将人类可...

Global site tag (gtag.js) - Google Analytics