检查的方法就是首先根据ip查找出一个域名。
然后再根据这个域名查找出一个ip列表。
最后检查你所用ip是否再ip列表里面。
#!/usr/bin/env python #coding:utf-8 #根据ip反查域名,并且检查域名是否正确 import socket, sys ip = 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
执行一下:
[[email protected] four]# python two.py 127.0.0.1 validated hostname: localhost [[email protected] four]# python two.py 127.0.0.2 No host name available for 127.0.0.2
时间: 2024-10-23 00:24:41