Linux DNS之nslookup命令


概述

在我文章中有一篇专门讲解DNS如何工作的,今天我们采用linux下nslookup工具来查询DNS。nslookup全称是”query Internet name server interactively”,主要是是用来查询DNS。

使用

在使用nslookup之前,先确保已经安装了它。nslookup属于bind-utils包下一个命令,bind-utils软件包中很多DNS工具,比如:dig和nslookup等。通过如下命令来检查:

[root@lv-centos ~]# rpm -q bind-utils 
bind-utils-9.9.4-38.el7_3.1.x86_64
#如果没有显示,则安装
[root@lv-centos ~]# yum install bind-utils

工作模式

nslookup有交互式和非交互式两种工作模式。 在命令行中直接输入nslookup,无需输入任何参数即进入交互模式,由>提示。

#采用默认的域名服务器进入交互模式
[root@lv-centos ~]# nslookup 
>brianlv.com
#通过**- 地址**来指定域名服务器,进入交互模式
[root@lv-centos ~]# nslookup - 192.168.1.100
>brianlv.com
#直接输入域名进入非交互模式
[root@lv-centos ~]# nslookup brianlv.com

DNS协议进阶

DNS主要由DomainName、TimeToLive、Class、Type和Value这五种资源组成,下面来介绍一它的具体含义:

  • DomainName:我们要查询的域名
  • TimeToLive:域名在DNS服务器缓存的时长。
  • Class:现在主要是IN
  • Type: 由SOA、A、MX、NS、CNAME、PTR、HINFO和TXT类型构成DNS的Type.
  • Value:值

SOA

SOA:Start of Authority,授权起始信息,包含了一个域名最基本的信息,如管理员邮箱、TTL信息等。

[root@lv-centos ~]# nslookup -type=soa pku.edu.cn
Server:		219.238.164.7
Address:	219.238.164.7#53
Non-authoritative answer:
pku.edu.cn

	origin = ns.pku.edu.cn
	mail addr = hostmaster.pku.edu.cn
	serial = 2017012001
	refresh = 3600
	retry = 900
	expire = 604800
	minimum = 600
	
Authoritative answers can be found from:

pku.edu.cn	nameserver = ns.pku.edu.cn.
pku.edu.cn	nameserver = sun1000e.pku.edu.cn
pku.edu.cn	nameserver = pkuns.pku.edu.cn.
ns.pku.edu.cn	internet address = 202.112.7.13
pkuns.pku.edu.cn	internet address = 162.105.129.27
sun1000e.pku.edu.cn	internet address = 162.105.129.26

A类型

表示从域名解析到IP地址,俗称”A记录”。

[root@lv-centos ~]# nslookup -type=a pku.edu.cn
Server:		219.238.164.7
Address:	219.238.164.7#53
Non-authoritative answer:
Name:	pku.edu.cn
Address: 162.105.131.196

MX

[root@lv-centos ~]# nslookup -type=mx pku.edu.cn
Server:		219.238.164.7
Address:	219.238.164.7#53
Non-authoritative answer:
pku.edu.cn	mail exchanger = 0 mx1.pku.edu.cn.
pku.edu.cn	mail exchanger = 0 mx2.pku.edu.cn.
Authoritative answers can be found from:
pku.edu.cn	nameserver = sun1000e.pku.edu.cn.
pku.edu.cn	nameserver = pkuns.pku.edu.cn.
pku.edu.cn	nameserver = ns.pku.edu.cn.
ns.pku.edu.cn	internet address = 202.112.7.13
pkuns.pku.edu.cn	internet address = 162.105.129.27
sun1000e.pku.edu.cn	internet address = 162.105.129.26

NS域名

[root@lv-centos ~]# nslookup -type=ns pku.edu.cn
Server:		219.238.164.7
Address:	219.238.164.7#53
Non-authoritative answer:
pku.edu.cn	nameserver = pkuns.pku.edu.cn.
pku.edu.cn	nameserver = sun1000e.pku.edu.cn.
pku.edu.cn	nameserver = ns.pku.edu.cn.
Authoritative answers can be found from:
ns.pku.edu.cn	internet address = 202.112.7.13
pkuns.pku.edu.cn	internet address = 162.105.129.27
sun1000e.pku.edu.cn	internet address = 162.105.129.26

先介绍这几种常用的类型,其他类型用的很少。

nslookup实战

这里主要介绍nslookup交互模式的实战。

查询域名IP地址即记录

[root@lv-centos ~]# nslookup 
> baidu.com
Server:		219.238.164.7
Address:	219.238.164.7#53
Non-authoritative answer:
Name:	baidu.com
Address: 111.13.101.208
Name:	baidu.com
Address: 180.149.132.47
Name:	baidu.com
Address: 220.181.57.217
Name:	baidu.com
Address: 123.125.114.144

连上DNS查询server地址

> server 8.8.8.8
Default server: 8.8.8.8
Address: 8.8.8.8#53
> baidu.com
Server:		8.8.8.8
Address:	8.8.8.8#53
Non-authoritative answer:
Name:	baidu.com
Address: 111.13.101.208
Name:	baidu.com
Address: 123.125.114.144
Name:	baidu.com
Address: 180.149.132.47
Name:	baidu.com
Address: 220.181.57.217

DNS配置信息

> set all
Default server: 8.8.8.8
Address: 8.8.8.8#53
Set options:
  novc			nodebug		nod2
  search		recurse
  timeout = 0		retry = 3	port = 53
  querytype = A       	class = IN
  srchlist = DHCP/HOST

设置调试模式

> set debug 
> baidu.com
Server:		8.8.8.8
Address:	8.8.8.8#53
------------
    QUESTIONS:
	baidu.com, type = A, class = IN
    ANSWERS:
    ->  baidu.com
	internet address = 180.149.132.47
	ttl = 412
    ->  baidu.com
	internet address = 220.181.57.217
	ttl = 412
    ->  baidu.com
	internet address = 111.13.101.208
	ttl = 412
    ->  baidu.com
	internet address = 123.125.114.144
	ttl = 412
    AUTHORITY RECORDS:
    ADDITIONAL RECORDS:
------------
Non-authoritative answer:
Name:	baidu.com
Address: 180.149.132.47
Name:	baidu.com
Address: 220.181.57.217
Name:	baidu.com
Address: 111.13.101.208
Name:	baidu.com
Address: 123.125.114.144

也可以指定set querytype=A/MX

总结

现在体会到了nslookup的强大了吧,现在如果想成为武林高手不得不提到dig。在后面的文章中,我将介绍dig的用法。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏古时的风筝

Linux下安装Apache并以mod_wsgi方式部署django站点

源码编译方式安装Apache 首先下载Apache源码压缩包,地址为http://mirror.bit.edu.cn/apache/httpd/ 继续下载apr...

45890
来自专栏Janti

Mysql双机热备配置(超详细多图版)

一、双击热备介绍 1.基本概念 双机热备特指基于高可用系统中的两台服务器的热备(或高可用),双机高可用按工作中的切换方式分为:主-备方式(Active-Sta...

1.4K60
来自专栏程序员互动联盟

【编程基础】linux常用命令介绍(一)

系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecod...

430110
来自专栏黑泽君的专栏

day47_Maven学习笔记

Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。 Maven是一个跨平台的项目管理工具,它是使用j...

14710
来自专栏大壮

iOS 网络常识

16550
来自专栏影子

idea/eclipse下Maven工程集成web服务(tomcat、jetty)

转载请注明出处:http://www.cnblogs.com/funnyzpc/p/8093554.html

14120
来自专栏数据派THU

收藏 | Linux常用156个命令汇总!

来源:机器学习算法与Python学习 本文为大家带来Linux系统中156个常用的命令。 linux命令是对Linux系统进行管理的命令。对于Linux系统来说...

536120
来自专栏影子

idea/eclipse下Maven工程集成web服务(tomcat、jetty)

15020
来自专栏yukong的小专栏

基于SpringCloud Finchley.SR1 、Spring Oauth2 SpringBoot 2.x、 vue、element-ui 微服务基础脚手架

github 地址 跪求大家star panda微服务工程地址 panda-admin前台工程地址

65930
来自专栏友弟技术工作室

DevOps人员常用的linux命令

以下内容是来自网路,中间加入了自己工作中的使用总结 命令 功能说明 线上查询及帮助命令 (2 个) man 查看命令帮助,命令的词典,更复杂...

36860

扫码关注云+社区

领取腾讯云代金券