检查的方法就是首先根据ip查找出一个域名。

然后再根据这个域名查找出一个ip列表。

最后检查你所用ip是否再ip列表里面。

#!/usr/bin/env python#coding:utf-8#根据ip反查域名,并且检查域名是否正确import socket, sysip = sys.argv[1]#根据ip地址查找域名def findyuming(ip):    m = socket.gethostbyaddr(ip)    ym = m[0]    return ym#根据查找到的域名,得到ip列表def findiplist(yuming):    l = socket.getaddrinfo(yuming, None)    return [x[4][0] for x in l]#错误捕捉与处理try:    y = findyuming(ip)    m = findiplist(y)except socket.herror, e:    print "No host name available for %s" % ip    sys.exit(0)except socket.gaierror, e:    print "No host name available for %s" % ip    sys.exit(0)#检查所得的ip是否是再ip列表里面if ip not in m:    print "No host name available for %s" % ip    sys.exit(1)print "validated hostname:", y

执行一下:

[root@slave four]# python two.py 127.0.0.1validated hostname: localhost[root@slave four]# python two.py 127.0.0.2No host name available for 127.0.0.2