曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 4959|回复: 1
打印 上一主题 下一主题

host------DNS查询

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34397
跳转到指定楼层
楼主
发表于 2008-12-13 03:09:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
例一:
出现结果:
www.groad.net has address 222.186.11.154


使用 -a 参数来查询:
host -a groad.net
结果:
Trying "groad.net"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60853
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 2

;; QUESTION SECTION:
;groad.net.            IN    ANY

;; ANSWER SECTION:
groad.net.        172800    IN    NS    ns1.sinwe.com.
groad.net.        172800    IN    NS    ns2.sinwe.com.

;; ADDITIONAL SECTION:
ns2.sinwe.com.        116863    IN    A    218.5.77.18
ns1.sinwe.com.        116860    IN    A    222.186.11.156

Received 104 bytes from 202.96.128.86#53 in 119 ms

用下面的命令去掉有分号的行( 为了更好的显示 ):
host -a groad.net | grep ‘^[^;^]'
结果显示:
[quote]Trying "groad.net"
groad.net.        172656    IN    NS    ns2.sinwe.com.
groad.net.        172656    IN    NS    ns1.sinwe.com.
ns1.sinwe.com.        116716    IN    A    222.186.11.156
ns2.sinwe.com.        116719    IN    A    218.5.77.18
Received 104 bytes from 202.96.128.86#53 in 20 ms

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34397
沙发
 楼主| 发表于 2008-12-13 03:26:15 | 只看该作者

正则表达式

上面,使用了指令:
host -a groad.net | grep ‘^[^;^]'

grep 指令后面的是一个正则表达式,这里的意思是,过滤掉带有分号开头的行。

grep 里面的正则表达式简介如下:
正则表达式 REGULAR EXPRESSIONS
       一个正则表达式是一个描述了一个字符串集合的模式。正则表达式的构造类似于算术表 达
       式,使用各种各样的操作符来将更小的表达式连在一起。

       Grep  能理解两种不同版本的正则表达式语法:"basic" 和 "extended"。在 GNU grep 中
       ,两种语法可以实现的功能是没有区别的。在其他实现中,基本 (basic) 正则表达式表达
       能 力要弱一点。下面的描述适用于扩展的 (extended) 正则表达式,它与基本正则表达式
       的区别会在最后做一个总结。

       基本的构造块是匹配单个字符的正则表达式。大部分字符,包括所有字母和数字,是匹 配
       它 们 自 身 的 正则表达式。任何具有特殊含义的元字符可以通过前置一个反斜杠来引用
       。(may be quoted by preceding it with a backslash.)

方括号表达式 (bracket) 是一个字符序列,放在 [ ] 当中。它匹配序列中的任何一个
       字 符;如果序列中的第一个字符是脱字符 (caret) ^ 那么它匹配 不在序列中的任何一个
       字符。例如,正则表达式 [0123456789] 匹配任何一个数字。


比如用
host -a groad.net | grep ‘^[^;^]'
所产生的内容中如下的一行:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30322

这一行中前面带有分号。所以 [^;] 的意思是 “这一行信息中,只要没有分号 ; 的内容都是需要匹配的(这里就排除掉了分号) ”。因此,再在  [^;] 外头加了个 ^ ,其意思是“匹配不是这些内容的所有信息”,其实到这里也就是排除掉了这些内容。过程就是,带有分号的行,先排除掉分后,再排除掉分号后面的所有内容。
 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2025-6-18 04:07 , Processed in 0.065496 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表