信息与统计host通过名字或IP地址来搜索一个互联网主机的信息,使用DNS. bash$hostsurfacemail.com surfacemail.com.hasaddress202.92.42.236 ipcalc显示一个主机IP信息.使用-h选项,ipcalc将会做一个DNS的反向查询,通过IP地址找到主机(服务器)名. bash$ipcalc-h202.92.42.236 HOSTNAME=surfacemail.com nslookup通过IP地址在一个主机上做一个互联网的"名字服务查询".事实上这与ipcalc-h或dig-x等价.这个命令既可以交互运行也可以非交互运行,换句话说,就是在脚本中运行.nslookup命令据说已经慢慢被"忽视"了,但是它还是有它的用处. bash$nslookup-sil66.97.104.180 nslookupkuhleersparnis.ch Server: 135.116.137.2 Address: 135.116.137.2#53 Non-authoritativeanswer: Name: kuhleersparnis.ch dig域信息查询.与nslookup很相似,dig在一个主机上做一个互联网的"名字服务查询".这个命令既可以交互运行也可以非交互运行,换句话说,就是在脚本中运行.下边是一些dig命令有趣的选项,+time=N选项用来设置查询超时为N秒,+nofail选项用来持续查询服务器直到收到一个响应,-x选项会做反向地址查询.比较下边这3个命令的输出,dig-x,ipcalc-h和nslookup. bash$dig-x81.9.6.2 ;;Gotanswer: ;;->>HEADER<<-opcode:QUERY,status:NXDOMAIN,id:11649 ;;flags:qrrdra;QUERY:1,ANSWER:0,AUTHORITY:1,ADDITIONAL:0 ;;QUESTIONSECTION: ;2.6.9.81.in-addr.arpa. IN PTR ;;AUTHORITYSECTION: 6.9.81.in-addr.arpa. 3600 IN SOA ns.eltel.net.noc.eltel.net. 2002031705900600864003600 ;;Querytime:537msec ;;SERVER:135.116.137.2#53(135.116.137.2) ;;WHEN:WedJun2608:35:242002 ;;MSGSIZE rcvd:91 例1.查找滥用的连接来报告垃圾邮件发送者 1#!/bin/bash 2#spam-lookup.sh:查找滥用的连接来报告垃圾邮件发送者. 3#感谢MichaelZick. 4 5#检查命令行参数. 6ARGCOUNT=1 7E_WRONGARGS=65 8if[$#-ne"$ARGCOUNT"] 9then 10 echo"Usage:`basename$0`domain-name" 11 exit$E_WRONGARGS 12fi 13 14 15dig+short$1.contacts.abuse.net-cin-ttxt 16#也试试: 17# dig+nssearch$1 18# 尽量找到"可信赖的名字服务器"并且显示SOA记录. 19 20#下边这句也可以: 21# whois-hwhois.abuse.net$1 22# ^^^^^^^^^^^^^^^^^ 指定主机. 23# 使用这个命令也可以查找多个垃圾邮件发送者,比如:" 24# whois-hwhois.abuse.net$spamdomain1$spamdomain2... 25 26 27# 练习: 28# ----- 29# 扩展这个脚本的功能, 30#+让它可以自动发送e-mail来通知 31#+需要对此负责的ISP的联系地址. 32# 暗示:使用"mail"命令. 33 34exit$? 35 36#spam-lookup.shchinatietong.com 37
上一篇:shell脚本中的终端控制命令_程序数据_shell
下一篇:shell脚本中的文件与归档命令_程序数据_shell