python 查找IP地址归属地

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#查找IP地址归属地
#writer by keery_log
#Create time:2013-10-30
#Last update:2013-10-30
#用法: python chk_ip.py www.google.com |python chk_ip.py 8.8.8.8 |python chk_ip.py ip.txt

import signal
import urllib
import json
import sys,os,re
import socket

if len(sys.argv) <= 1 :
    print "Please input ip address !"
    sys.exit(0)

def handler(signum, frame):
    sys.exit(0)
signal.signal(signal.SIGINT, handler)

url = "http://ip.taobao.com/service/getIpInfo.php?ip="

#查找IP地址
def ip_location(ip):
    data = urllib.urlopen(url + ip).read()
    datadict=json.loads(data)

    for oneinfo in datadict:
        if "code" == oneinfo:
            if datadict[oneinfo] == 0:
                return datadict["data"]["country"] + datadict["data"]["region"] + datadict["data"]["city"] + datadict["data"]["isp"]

#定义IP与域名正则
re_ipaddress = re.compile(r‘^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$‘)
re_domain = re.compile(r‘[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?‘)

if os.path.isfile(sys.argv[1]):  #如果参数是文件,迭代查找
    file_path = sys.argv[1]
    fh = open(file_path,‘r‘)
    for line in fh.readlines():
        if re_ipaddress.match(line):
            city_address = ip_location(line)
            print line.strip() + ":" + city_address
else:
    ip_address = sys.argv[1]
    if re_ipaddress.match(ip_address):  #如果参数是单个IP地址
        city_address = ip_location(ip_address)
        print ip_address + ":" + city_address
    elif(re_domain.match(ip_address)):  #如果参数是域名
        result = socket.getaddrinfo(ip_address, None)
        ip_address = result[0][4][0]
        city_address = ip_location(ip_address)
        print ip_address.strip() + ":" + city_address

 

python 查找IP地址归属地

时间: 2025-01-13 23:16:51

python 查找IP地址归属地的相关文章

python学习-使用ip138查询ip地址归属地

#!/usr/bin/python #coding:utf-8 import urllib import re import sys def ISIP(s):     return len([i for i in s.split('.') if (0<= int(i)<= 255)])== 4 def URL(ip): uip=urllib.urlopen('http://wap.ip138.com/ip.asp?ip=%s'%ip) fip=uip.read() rip=re.compile

python之IP地址或IP段处理模块-ipaddr

python处理IP和IP段的模块基本有两个:IPy与ipaddr IPy基本处理8位.16位.24位掩码的网段,其他的网段处理起来就会出现问题. ipaddr是google出的一个模块,很好的可以处理模块IPy不能解决这个问题,所以建议使用模块ipaddr! 模块地址:http://pythonhosted.org/ipaddr/ 使用介绍: Class总共分为:BaseIP.IPv4.IPv6 ipaddr.IPv4Network()    ipv4网段对象建立 ipaddr.IPv6Net

python编写IP地址与十进制IP转换脚本

IP地址与十进制IP转换 #!/usr/bin/env python #encoding=utf-8 import re import sys import os def ten_to_two(ten_num): two_str = '' while ten_num != 1: a = ten_num % 2 two_str = two_str + str(a) ten_num = ten_num / 2 else: two_str = two_str + str(1) two_str = tw

Python 输入IP地址及掩码告诉你该网段包含的全部地址(IPy模块练习)

IPy模块原本使用时需要输入正确的网络位和掩码,我利用处理报错的机制实现了输入任意IP地址和掩码均可正确输出结果的小程序. 1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 # @Date : 2017-09-04 21:57:15 4 # @Author : EnderZhou ([email protected]) 5 # @Link : http://www.cnblogs.com/enderzhou/ 6 # @Version : $

python实现IP地址更改

大多数用笔记本电脑的朋友都有一个烦恼,那就是在家里和公司的IP地址不一样,上班和回家后都得来回切换IP地址,两个字“麻烦”. 贴上用python写的自动切换IP小程序 注:需要下面两个模块的支持,请朋友们下载自行安装. Tim Golden对WMI的包装模块 Python for Windows extensions(pywin32) 源码如下: # -*- coding: cp936 -*- # # FileName: ModifyIP.py # Date : 2008-01-15 # imp

1.Python中IP地址处理IPy模块

安装 先下载源码,地址:ps://pypi.python.org/pypi/IPy/">https://pypi.python.org/pypi/IPy/ ,然后解压后使用命令python setup.py install安装. 使用 1.显示IP类型 >>> IP('192.168.1.1').version() 4 >>> IP('::1').version() 6类似如上所示,通过version方法可以的判断输入的IP是IPv4还是IPv6 . 2

python实现ip地址的包含关系判断

python的IPy模块虽然可以实现一些ip地址的判断,但是不是很完美,有些场景根本判断不出来,还会抛出异常,比如一个地址范围和一个ip/掩码,这种不同类型就无法判断. 对此通过自己写函数来实现ip地址的判断,实现的思路很简单,先把ip地址转换为一个十进制的范围数,然后来判断是否有包含关系. #下面函数可以将ip转换为十进制数def iptoint(self,ip): try: h=[] s = ip.split('.') for temp in s: a=bin(int(temp))[2:]

linux 第三方nali显示IP地址归属地

linux 第三方nali显示IP地址归属地图文解释 nali使用ip地址库是IP纯真数据库,不是很精准,对定位要求较高的场景不适用. nali下载地址: wget  http://chenze.name/wenjian/nali-0.2.tar.gz tar zxvf nali-0.2.tar.gzcd nali-0.2./configuremake && make install fox 测试主机上安装也有nali https://www.91yun.org/zh/archives/1

功能强大的IP定位器检查,跟踪,搜索和跟踪IP地址。查找IP地址并查找IP 位置

在线IP地址追踪工具 https://www.ip-address.org/ http://www.iptools.com/ https://www.site24x7.com/tools.html 原文地址:https://www.cnblogs.com/MeiCheng/p/11681950.html