一、通过Linux命令实现

ping www.baidu.com

nslookup www.baidu.com

nslookup 14.215.177.166

为什么这个命令会有一个192.168.1.1呢?

192.168.1.1是默认的DNS服务器。

二、DNS的理解

DNS的解析流程:

1.客户端访问www.baidu.com,检查浏览器是否有缓存,若无,往下走 2.操作系统检查host文件,有无对应关系,若无,往下走 3.在系统DNS缓存中找,若有返回域名对应的IP,若无,往下走 4.找事先设置好的DNS服务器(主&备)去请求,若在DNS服务器的解析库中找不到,往下走 5.向根发送请求,根看到要请求的是com,就将com所在的ns服务器告诉我们的DNS 6.我们的DNS去请求com所在的ns服务器 7.请求到达ns服务器,ns服务器看域名是baidu这个域下的,就把baidu所在的ns服务器地址告诉我们的DNS 8.我们的DNS去请求baidu所在的ns服务器 9.baidu的ns服务器看要访问www,就找到www对应的A记录的IP,将其返回给我们的DNS 10.我们的DNS再把最终解析到的IP返回给客户端,客户端直接去访问。

三、Java实现通过IP获取域名

引入依赖

dnsjava

dnsjava

2.1.1

代码实现

public class GetHostName {

public static void main(String[] args) {

try {

String hostName = Address.getHostName(InetAddress.getByName("14.215.177.166"));

System.out.println(hostName);

} catch (UnknownHostException e) {

e.printStackTrace();

}

}

}

执行结果(要去掉最后的点,最后面的点是根的意思。www.baidu.com.的意思就是根下的com下的baidu)

三、Java实现通过域名获取IP

代码

public class GetIp {

public static void main(String[] args) {

try {

String name = "www.baidu.com";

InetAddress[] addresses = InetAddress.getAllByName(name);

for (int i = 0; i < addresses.length; i++) {

System.out.println(name + "[" + i + "]: "

+ addresses[i].getHostAddress());

}

} catch (UnknownHostException uhe) {

System.err.println("Unable to find: " + args[0]);

}

}

}

参考文档

[1]: DNS深度理解 [ 一 ] [2]: java通过ip拿不到域名的坑 [3]: 大规模爬虫为什么要管理DNS缓存

java如何通过域名查ip_Java实现通过IP获取域名,通过域名获取IP相关推荐

  1. java如何通过域名查ip_JAVA实现通过IP反查域名

    package org.util.test.*; import java.net.*; public class InetAddressDemo { public static void main(S ...

  2. 极客技术专题【003期】:java mvc 增删改查 自动生成工具来袭

    日期:2013-4-17  来源:GBin1.com 技术专题介绍 分享专题:java mvc 增删改查 自动生成工具来袭 分享人:激情燃烧的UI 授课时间:2013/04/19  21:00-22: ...

  3. IP反查网站,ip反查接口,旁站查询接口大全,通过IP查域名汇总,域名历史解析记录查询,IP地址查对应机房名称、地址,查IP地址的AS号码...

    IP反查网站,ip反查接口,旁站查询接口大全,通过IP查域名汇总: http://bgp.he.net/,IP地址查对应机房:IP地址在 bgp.he.net 直接能查到IP所属机房或运营商的AS号. ...

  4. Java项目对接天眼查

    Java项目对接天眼查 文章目录 Java项目对接天眼查 天眼查接口以及token获取 1.登录天眼查开放平台 2.找到数据接口,找到token,调用示例 Java代码以及返回值 1.config 2 ...

  5. HBase java 的增删改查

    HBase java 的增删改查 . 目前来看好像是我的最全了,应该是大佬不屑于写这种的吧 . 其实本来想写很多方法的,但是写着写着就有点烦了,再加上本人也不全是闲人一个,然后就给停了,看着有点乱,但 ...

  6. window下利用ip反查域名与利用域名查ip

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 一.已知 ...

  7. 域名能查到服务器信息么,域名查服务器信息

    域名查服务器信息 内容精选 换一换 用户可以通过查询域名注册信息,确认域名所属的DNS服务器信息,然后再根据域名所属的DNS服务器信息进行DNS验证的相关操作.当"Name Servers& ...

  8. java 获取邮编_基于JAVA的根据地名查邮编api调用代码实例

    代码描述:基于JAVA的根据地名查邮编api调用代码实例 接口地址:http://www.juhe.cn/docs/api/id/66 1.[代码][Java]代码 import java.io.Bu ...

  9. JAVA修饰符速查表

    JAVA修饰符速查表

  10. Java后端Cookie工具类(设置Cookie有效时间、得到Cookie的域名等方法)

    在这里总结一些后端处理Cookie的工具类方法,供参考 调用就可以这样 // 设置cookie CookieUtils.setCookie(request, response, "user& ...

最新文章

  1. laravel框架中文手册_Laravel框架的这些你都懂的话,它核心架构基本就懂了
  2. 833c语言程序是什么,江南大学
  3. Python的内存管理、命名规则、3个特性讲解
  4. java简述标识符和保留字区别_Java 基础语法 - 流年似水莫停留的个人页面 - OSCHINA - 中文开源技术交流社区...
  5. centos 6.5 x64编译有python的vim7.4
  6. 最小覆盖模型matlab_数学规划模型的matlab求解 非线性最小二乘lsqnonlin
  7. MYSQL用存储过程创建百万级测试数据表
  8. From NSURLConnection to NSURLSession
  9. 站在巨人的肩膀上看Servlet——原来如此(更适合初学者认识Servlet)
  10. 决策树及matlab实现
  11. 计算机网络一小时总结 明天考试
  12. 汕头大学计算机专业就业,汕头大学毕业生最后怎样了?17%进入世界和中国500强,月薪5185元...
  13. 计算机显存影响什么,老司机告诉你显存是怎样影响电脑速度的
  14. 一个直播例子:快速集成iOS基于RTMP的视频推流
  15. 【去后厂村开游戏厅吧】基于pp-tinypose的体感贪吃蛇游戏
  16. Excel实现分时统计折线图
  17. OpenCV图像处理--设置和获取摄像头参数
  18. windows xp桌面消失
  19. 软碟通UltraISO v9.6.5.3237去插件官方版
  20. Django REST 框架详解 06 | 视图家族 Generics 与 Viewsets

热门文章

  1. 阿里在线字体库超级简单又快捷的使用方法+Dcloud插件使用图标
  2. 计算机消极影响英语作文,关于手机的消极影响高中英语作文
  3. 麦克阿瑟奖得主Dawn Song:区块链能保密和保护隐私?图样图森破!
  4. MacBook蓝牙鼠标 自动断开问题
  5. SQL语句查询:查询本周过生日的信息
  6. 【历史上的今天】1 月 22 日:苹果广告震动硅谷;计算机科学公司创始人出生;科学计量学先驱诞生
  7. 第五节、Vim编辑器与Shell入门
  8. Mac 破解zip压缩文件密码详解
  9. 当前时间加30分钟_“尾盘30分钟”才是黄金时间,判次日涨跌!无半点偏差,字字珠玑...
  10. matlab coder分析