java如何通过域名查ip_Java实现通过IP获取域名,通过域名获取IP
一、通过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相关推荐
- java如何通过域名查ip_JAVA实现通过IP反查域名
package org.util.test.*; import java.net.*; public class InetAddressDemo { public static void main(S ...
- 极客技术专题【003期】:java mvc 增删改查 自动生成工具来袭
日期:2013-4-17 来源:GBin1.com 技术专题介绍 分享专题:java mvc 增删改查 自动生成工具来袭 分享人:激情燃烧的UI 授课时间:2013/04/19 21:00-22: ...
- IP反查网站,ip反查接口,旁站查询接口大全,通过IP查域名汇总,域名历史解析记录查询,IP地址查对应机房名称、地址,查IP地址的AS号码...
IP反查网站,ip反查接口,旁站查询接口大全,通过IP查域名汇总: http://bgp.he.net/,IP地址查对应机房:IP地址在 bgp.he.net 直接能查到IP所属机房或运营商的AS号. ...
- Java项目对接天眼查
Java项目对接天眼查 文章目录 Java项目对接天眼查 天眼查接口以及token获取 1.登录天眼查开放平台 2.找到数据接口,找到token,调用示例 Java代码以及返回值 1.config 2 ...
- HBase java 的增删改查
HBase java 的增删改查 . 目前来看好像是我的最全了,应该是大佬不屑于写这种的吧 . 其实本来想写很多方法的,但是写着写着就有点烦了,再加上本人也不全是闲人一个,然后就给停了,看着有点乱,但 ...
- window下利用ip反查域名与利用域名查ip
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 一.已知 ...
- 域名能查到服务器信息么,域名查服务器信息
域名查服务器信息 内容精选 换一换 用户可以通过查询域名注册信息,确认域名所属的DNS服务器信息,然后再根据域名所属的DNS服务器信息进行DNS验证的相关操作.当"Name Servers& ...
- java 获取邮编_基于JAVA的根据地名查邮编api调用代码实例
代码描述:基于JAVA的根据地名查邮编api调用代码实例 接口地址:http://www.juhe.cn/docs/api/id/66 1.[代码][Java]代码 import java.io.Bu ...
- JAVA修饰符速查表
JAVA修饰符速查表
- Java后端Cookie工具类(设置Cookie有效时间、得到Cookie的域名等方法)
在这里总结一些后端处理Cookie的工具类方法,供参考 调用就可以这样 // 设置cookie CookieUtils.setCookie(request, response, "user& ...
最新文章
- laravel框架中文手册_Laravel框架的这些你都懂的话,它核心架构基本就懂了
- 833c语言程序是什么,江南大学
- Python的内存管理、命名规则、3个特性讲解
- java简述标识符和保留字区别_Java 基础语法 - 流年似水莫停留的个人页面 - OSCHINA - 中文开源技术交流社区...
- centos 6.5 x64编译有python的vim7.4
- 最小覆盖模型matlab_数学规划模型的matlab求解 非线性最小二乘lsqnonlin
- MYSQL用存储过程创建百万级测试数据表
- From NSURLConnection to NSURLSession
- 站在巨人的肩膀上看Servlet——原来如此(更适合初学者认识Servlet)
- 决策树及matlab实现
- 计算机网络一小时总结 明天考试
- 汕头大学计算机专业就业,汕头大学毕业生最后怎样了?17%进入世界和中国500强,月薪5185元...
- 计算机显存影响什么,老司机告诉你显存是怎样影响电脑速度的
- 一个直播例子:快速集成iOS基于RTMP的视频推流
- 【去后厂村开游戏厅吧】基于pp-tinypose的体感贪吃蛇游戏
- Excel实现分时统计折线图
- OpenCV图像处理--设置和获取摄像头参数
- windows xp桌面消失
- 软碟通UltraISO v9.6.5.3237去插件官方版
- Django REST 框架详解 06 | 视图家族 Generics 与 Viewsets
热门文章
- 阿里在线字体库超级简单又快捷的使用方法+Dcloud插件使用图标
- 计算机消极影响英语作文,关于手机的消极影响高中英语作文
- 麦克阿瑟奖得主Dawn Song:区块链能保密和保护隐私?图样图森破!
- MacBook蓝牙鼠标 自动断开问题
- SQL语句查询:查询本周过生日的信息
- 【历史上的今天】1 月 22 日:苹果广告震动硅谷;计算机科学公司创始人出生;科学计量学先驱诞生
- 第五节、Vim编辑器与Shell入门
- Mac 破解zip压缩文件密码详解
- 当前时间加30分钟_“尾盘30分钟”才是黄金时间,判次日涨跌!无半点偏差,字字珠玑...
- matlab coder分析