Chinaunix首页 | 论坛 | 博客
  • 博客访问: 298277
  • 博文数量: 240
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 50
  • 用 户 组: 普通用户
  • 注册时间: 2016-08-04 18:14
文章分类

全部博文(240)

文章存档

2017年(8)

2014年(4)

2013年(15)

2012年(4)

2011年(14)

2010年(55)

2009年(140)

我的朋友

分类: Python/Ruby

2010-03-29 00:23:16

*** 闲着无聊,写了一个查询IP的脚本....
 
( 此脚本依赖 ip138.com )
 
 

#!C:\\python26\\python.exe
# -*- coding:gbk -*-
# ipfind.py
import sys,re
import urllib2
import socket

def Usage():
    print '''
说明:
  1) 查询本机出口IP地址.
  2) 查询IP地址所在的地域和类型.
  3) 查询域名对应的IP地址.
  0) 退出
'
''

def trynet():
    sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sk.settimeout(8)
    try:
        sk.connect(('ip138.com',80))
        pass
    except Exception:
        print '*** 请保证您的Internet接入正常!'
        sys.exit()
    sk.close()


def getmyip():
    url = urllib2.urlopen('')
    result = url.read()
    m = re.search(r'(([01]?\d\d?|2[0-4]\d|25[0-5])\.){3}([01]?\d\d?|2[0-4]\d|25[0-5])',result)
    return m.group(0)


def getdomainip(DOMAIN):
    iplist = socket.gethostbyname_ex(DOMAIN)
    return ', '.join(iplist[2])

  
def getnet(IP):
    if re.match(r'^(([01]?\d\d?|2[0-4]\d|25[0-5])\.){3}([01]?\d\d?|2[0-4]\d|25[0-5])$',IP):
        pass
    else:
        print '*** 您输入了错误的IP地址!'
        sys.exit()

    mysearch = "%s&action=2" % (IP)
    url = urllib2.urlopen(mysearch)
    result = url.read()

    m = re.search(r'

  • (.*?)
  • ', result)
        return m.group(1).replace('本站主数据:',IP+' => ')


    def main():
        trynet()
        Usage()
        while True:
            select = raw_input('*** 请选择您要查看的类型:')
            if select == '1':
                print '\n>>> 您的出口IP是:', getmyip()
            elif select == '2':
                myip = raw_input('*** 请输入您要查询的IP地址:')
                print '\n>>>', getnet(myip)
            elif select == '3':
                domain = raw_input('*** 请输入您要查询的域名:')
                print '\n>>>', getdomainip(domain)
            elif select == '0':
                break
        

    if __name__ == '__main__':
        main()
        


    阅读(1606) | 评论(0) | 转发(0) |
    给主人留下些什么吧!~~