
正文
linux中跟踪结果命令 linux 跟踪命令
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
跟踪域名解析过程的几条命令
在学习计算机网络的时候就知道到了DNS的解析过程,但是一直没有实践过。这次趁着配置狗爹上买的域名,通过跟踪域名的解析过程,算是DNS有了更深刻的了解。
nslookup(name server lookup)是一个用于查询 Internet域名信息或诊断DNS 服务器问题的工具。在windows和Linux都可以通过nslookup输入域名得到相应的IP地址。相反的,我们也可以通过输入IP地址来获得主机名。
获取更详细的应用,请参照 nslookup 命令用法 。
在Linux系统中,通过dig命令可以查询DNS的解析过程。
下面展示的是使用最简单的dig命令来查询DNS的结果,这对我们理解复杂一点的dig命令的结果很有帮助。
输出了DIG和Linux的版本号以及查询的域名
说明可以增加参数cmd。
表示下面信息是此次查询所得的结果,包含5个部分,分别是头部HEADER,查询部分QUESTION SECTION,回复部分ANSWER SECTION,权威机构部分AUTHORITY SECTION,附加部分ADDITIONAL SECTION。
opcode 操作码,QUERY,代表是查询操作
status 状态,NOERROR,代表没有错误
id 编号,7794,16bit数字,在dns协议中,通过编号匹配返回和查询。
flags 标志,如果出现就表示有标志,如果不出现就未设置标志:
qr query,查询标志,代表是查询操作
rd recursion desired, 代表希望进行递归(recursive)查询操作
ra recursive available 在返回中设置,代表查询的服务器支持递归(recursive)查询操作。
aa Authoritative Answer 权威回复,如果查询结果由管理域名的域名服务器而不是缓存服务器提供的,则称为权威回复。
QUERY 查询数,1代表1个查询,对应下面的QUESTION SECTION中的记录数
ANSWER 结果数,3代表有3项结果,对应下面ANSWER SECTION中的记录数
AUTHORITY 权威域名服务器记录数,4代表该域名有4个权威域名服务器,可供域名解析用。对应下面AUTHORITY SECTION
ADDITIONAL 格外记录数,4代表有4项格外记录。对应下面 ADDITIONAL SECTION。
查询部分,从左到右各部分意义:
1、要查询的域名,这里是hihuaning.com.,'.'代表根域名,com顶级域名,hihuaning二级域名
2、class,要查询信息的类别,IN代表类别为IP协议,即Internet。还有其它类别,比如chaos等,由于现在都是互联网,所以其它基本不用。
3、type,要查询的记录类型,A记录(Address),代表要查询ipv4地址。AAAA记录,代表要查询ipv6地址。
回应部分,回应有CNAME记录和A记录,说说CNAME记录从左到右各部分意义:
1、对应的域名,这里是hihuaning.com.,'.'代表根域名,com顶级域名,hihuaning二级域名
2、TTL,time ro live,缓存时间,单位秒。5,代表缓存域名服务器,可以在缓存中保存5秒该记录。
3、class,要查询信息的类别,IN代表类别为IP协议,即Internet。还有其它类别,比如chaos等,由于现在都是互联网,所以其它基本不用。
4、type,要查询的记录类型,CNAME记录,代表hihuaning.com有个别名samkingz.github.io
5、域名对应的CNAME别名
权威域名部分,回应都是NS记录(Name Server),NS记录从左到右各部分意义:
1、对应的域名,这里是fastlylb.net.,'.'代表根域名,com顶级域名,fastlylb二级域名
2、TTL,time ro live,缓存时间,单位秒。5,代表缓存域名服务器,可以在缓存中保存5秒该记录。
3、class,要查询信息的类别,IN代表类别为IP协议,即Internet。还有其它类别,比如chaos等,由于现在都是互联网,所以其它基本不用。
4、type,要查询的记录类型,NS,Name Server,NS记录,代表该记录描述了域名对应的权威域名解析服务器
5、域名对应域名对应的权威域名解析服务器。由于ns3.fastlylb.net.是fastlylb.net.的子域名,而解析子域名,又需要主域名的信息,为了打破这个死循环,需要在下面的额外记录中提供该服务器的ip地址。
额外记录部分,这里都是A记录,A记录从左到右各部分意义:
1、对应的域名,这里是ns1.fastlylb.net.,'.'代表根域名,net顶级域名,fastlylb二级域名,ns1是三级域名。
2、TTL,time ro live,缓存时间,单位秒。5,代表缓存域名服务器可以在缓存中保存5秒该记录。
3、class,要查询信息的类别,IN代表类别为IP协议,即Internet。还有其它类别,比如chaos等,由于现在都是互联网,所以其它基本不用。
4、type,要查询的记录类型,A记录,代表要查询ipv4地址。AAAA记录,代表要查询ipv6地址。
5、域名对应的ip地址。
查询耗时
查询使用的服务器地址和端口
查询的时间
回应的大小。收到(rcve, recieved)256字节。
使用 dig hihuaning.com +trace 命令,我们可以看到整个域名是如何发起和解析的,从根域名(.)到gTLD Server(.com),再到Name Server(hihuaning.com.)的整个过程都显示出来了。
获取更详细的应用,请参照 dig 命令用法 。
从dig查询结果看DNS的A记录和NS记录
深入分析java web技术内幕
相关问答
Q1: 如何使用Unix/Linux find命令
find 命令是 UNIX程序员的技能中功能最强大和最有用的命令之一。它通过许多强大的支持方式,让文件查找显示任务变得更加轻松。
find命令实例:
1.基于 目录/文件名称/文件类型 来搜索
在当前目录或子目录中查找所有html文件,我们可以使用:
find -name "*.html" -type f
在/usr/bin中查找所有sh文件find /usr/bin -name "*.sh" -type f
该命令有两个测试条件,第一个,“-name”用于检验搜索过程中的每个文件名,如果你需要对大小写敏感,可以使用“-iname”代替。第二个参数是“-type”,
它用于指定你感兴 趣的文件类型。“f”表示我们查找的是普通文件,我们可以使用“d”表示目录或使用“l”或"s"表示符号连接。在find 手册中可以看到该工具的所有选项。
find /-maxdepth 1 -name "*.html" -type f
Tips:将-maxdepth选项放在最前面
默认情况下,find遍历所有子目录,但是你可以通过指定最大深度来控制这个行为。在前面的例子中,如果我们只想搜索这两个目录不想搜索下一层,你可以 添加“-maxdepth 1”到命令中。设置最大深度为0表示只检验命令行中的给定文件。同样,你可以设定最小深度,从而避免搜索位于根目录的文件。
2.基于 用户/用户组 来搜索
find 的另一个应用是搜索属于某个给定用户的文件,因此为了搜索我的系统中所有属于我的文件,我使用以下命令:
find / -user gary
同样可以搜索基于组用户的文件,使用“-group”参数。
3.基于 文件相关的时间特征 来搜索
相关选项:
分别使用“-ctime”,“-atime”和“-mtime”参数来指定最后创建时间,最后访问时间和最后修改时间。(单位是"天")
如果你需要更精确地搜索,可以使用分钟变量“-cmin”,“-amin”和“-mmin”。
find ./ -mtime 0 ;返回最近24小时内修改过的文件。./代表需要查找的文件夹
find ./ -mtime 1 返回的是前48~24小时修改过的文件。而不是48小时以内修改过的文件。
find -ctime -1 搜索最近两天创建的文件
注意:
1前面的“-”表示我们是从今天向以前的日期范围搜索,与数字前面没有"-"是有区别的。如果你刚犯了一个错误但不确定会影响到那些文件,
这很简单可以使用如下查询:find -mmin -5
可以用以下命令查看atime和ctime
ls -lu 或者 ls -l --time=atime 显示文件的atime
ls -lc 或者 ls -l --time=ctime 显示文件的ctime
在提供一个例子,搜索当前目录下前20分钟到10分钟修改过的文件。
find . -mmin +9 -mmin -21
还可以使用 "-newer","-anewer","-cnewer"参数来指定一个文件,将其与要搜索的文件进行时间的比较。
• -newer 指内容最近被修改的文件
• -anewer 指最近被读取过的文件
• -cnewer 指状态最近发生变化的文件(查看文件状态命令 stat filename)
例如,查找在sum.java 之后修改的文件
find -newer "sum.java"
4.基于 文件的大小 来搜索
例如我们知道一个Linux文件大小为1,500 bytes,那么我们可是使用如下命令来查询
find . -size 1500c
字符 c 表明这个要查找的文件的大小是以bytes为单位。如果我们连这个文件的具体大小都不知道,那么在Linux中还可以进行模糊查找方式来解决。例如我们输 入
find . -size +10000000c
这个命令,则标明我们指定系统在根目录中查找出大于10000000字节的文件并显示出来。命令中的“+”是表示要求系统只列出大于指定大小的文件,
而使 用“-”则表示要求系统列出小于指定大小的文件。
还有很多例子,
搜索大小为10M的文件
find . -size 10M
搜索大于10M的文件
find . -size +10M
找到小于10M的文件
find . -size -10M
要列出所有长度为零的文件,请使用下面的命令:
find . -empty - exec ls {} \
在查找到空文件之后,您可以选择用 rm 命令来代替ls 命令,以删除这些文件。
5. 基于 文件的权限 来搜索
查找当前目录下所有文件权限为755的文件
find . -perm 755 -print
6.使用混合查找方式查找文件
find命令可以使用混合查找的方法,例如我们想在/tmp目录中查找大于100000000字节并且在48小时内修改的某个文件,我们可以使用-and来把两个查找选项链接
起来组合成一个混合的查找方式。
find /tmp -size +10000000c -and -mtime +2
如何搜索修盖时间介于f1与f2各自的修改时间之间的文件?
find . -newer f1 -and ! -newer f2 //f1的修改时间应早于f2的修改时间
学习过计算机语言的朋友都知道,在计算机语言里,使用and ,or 分别表示“与”和“或”的关系。在Linux系统的查找命令中一样通用。
还有这样的例子,
find / -user fred -or -user george
我们可以解释为在/tmp目录中查找属于fred或者george这两个用户的文件。
在find命令中还可以使用“非”的关系来查找文件,如果我们要在/tmp目录中查找所有不属于panda的文件,使用一个简单的
find /tmp ! -user panda
更好的利用find
7.快速执行上一次的find命令而不用重复输入参数
!find
事实上,"!"可以用在任何unix/linux命令的前面,以执行上一条同种类型的命令。
8.改变显示结果
find对文件执行的标准行为是显示出文件名,这就是为什么如果你跟踪结果,就会看到一系列文件名的原因。如果你想使用这些结果作为另外一个过滤器的输入的话,
这将会十分有用。但是如果你需要结果的更多信息,你可以令find输出与ls –l同样的结果:
find -user gary -iname "*.html" -ls
这个命令将会返回文件权限和时间信息。
9.将搜索结果作为程序的输入
可以通过使用“-exec”参数,来让find命令对每个搜索结果运行任何程序。
如果要删除当前目录中所有扩展名为“.tmp”的文件。
find -name ".tmp" -exec rm {} \ ; //注意结尾分号
上面两个大括号将会被相应的文件名代替,反斜杠用来告诉find何时命令结束。
find常和chmod结合使用快速改变大量文件的文件权限,或者和grep与sed结合使用来选择性的搜索或使用正则表达式修改文本。使用它作为一个脚本的输入,
你可以让费 时的任务自动完成,例如清除一年内没有访问的文件,或者自动备份修改的文件。
10.查找并显示文件的方法
查找到某个文件是我们的目的,我们更想知道查找到的文件的详细信息和属性,如果我们采取现查找文件,在使用LS命令来查看文件信息是相当繁琐的,
现在我们也可以把这两个命令结合起来使用。
find / -name "httpd.conf" -ls
系统查找到httpd.conf文件后立即在屏幕上显示httpd.conf文件信息。
12063 34 -rw-r--r-- 1 root root 33545 Dec 30 15:36 /etc/httpd/conf/httpd.conf
下面的表格就是一些常用的查找文件并显示文件信息的参数和使用方法
选项
用途描述
-exec command
查找并执行命令
-fprint file
打印文件完整文件名
-fprint0 file
打印文件完整文件名包括空的文件
-fprintf file format
打印文件格式
-ok command
给用户命令执行操作,根据用户的Y确认输入执行
-printf format
打印文件格式
-ls
打印同种文件格式的文件
参考:
[1].linux/unix中如何用find命令详解
[2].使用 UNIX find 命令的高级技术
[3].10 Example of find command in Unix and Linux (对find命令的基本用法以及高级技巧都有介绍)
[4].Top 10 examples of find command in unix and linux
[5].Find Command in Unix and Linux Examples (极丰富的关于find命令的例子)
[6].A Unix/Linux “find” Command Tutorial (实用的,短小精悍的教程)
Q2: 如何在linux下让一个命令一直运行,然后跟踪结果日志
#!/bin/bash
while [ true ] ; do
netstat -an|grep LISTEN /tmp/temp.log
tail -s 1 /tmp/temp.log
done
这个是一个小小的sell脚本每一秒刷新一次信息,可以自己修改时间不过1秒时间比较恰当的,时间太少会增加cpu的占用率的。
#!/bin/bash
while [ true ] ; do
netstat -an|grep LISTEN | tail -s 1
done
其实我还是觉得这个比较的精炼,直接使用管道符来输出,这样不用读写硬盘,减轻系统的负担。
Q3: linux中如何跟踪日志打印
linux中跟踪日志打印方法如下
1、按住win+R组合键,输入cmd,然后回车。
2、登陆到远程linux,回车,然后输入密码。
3、输入 cd+日志目录名命令,回车即可进入到日志目录。
4、输入tail -f xxx.log命令。
5、命令行中只要有请求就会打印出来日志。
Q4: Linux Shell 怎样获得命令的执行结果
1、CAT命令在用户主目录下创建一名为f1的文本文件,内容:Linux is useful for us all.You can never imagine how great it is。
2、向文件f1增加以下内容:Why not have a try?。
3、输入命令“wc f1 countf1”,屏幕上不显示任何信息。
4、输入命令“cat countf1”,查看countf1文件的内容,其内容是f1文件的行数,和单词数及字符数信息。
5、即f1文件共有3行,19个单词和87的字符。
关于linux中跟踪结果命令和linux 跟踪命令的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






