准备工作

要关联IP与物理位置,我们需要有一个包含这样对应关系的数据库。

我们可以使用开源数据库GeoLiteCity,它能够较为准确地把IP地址与所在城市关联起来

下载地址:http://dev.maxmind.com/geoip/legacy/geolite/

下载之后我们解压:xz -d GeoLiteCity.dat.xz,如:/My/lib/ip/GeoLiteCity.dat

安装pygeoip库。这个库用于对GeoLiteCity数据库的查询

代码:

#!/usr/bin/python
#--*--coding=utf-8--*--import pygeoipgi = pygeoip.GeoIP('/My/lib/ip/GeoLiteCity.dat')def printRecord(tgt):rec = gi.record_by_addr(tgt)city = rec['city']region = rec['region_code']country = rec['country_name']long = rec['longitude']lat = rec['latitude']print '[*] 主机: ' + tgt + ' Geo-located.'print '[+] ' + str(city) + ', ' +str(region)+', '+str(country)print '[+] 经度: '+str(lat)+', 维度: '+ str(long)tgt = '183.141.110.74'
printRecord(tgt)

183.141.110.74是随便找的一个代理ip地址,查查看地址:

查询结果

python绝技 — 使用PyGeoIP关联IP地址和物理位置相关推荐

  1. 根据IP地址获取物理位置

    1.导入maven坐标 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all&l ...

  2. 使用 Python 从文件中提取 IP 地址

    让我们看看如何使用 Python 从文件中提取 IP 地址. 算法 : 为正则表达式导入 re 模块. 使用 open() 函数打开文件. 读取文件中的所有行并将它们存储在列表中. 声明 IP 地址的 ...

  3. Python根据域名批量获取IP地址和经纬度(2021.12.1)

    Python批量获取域名对应的IP地址和经纬度 1.DN.DNS.URL简介 1.1 域名 1.1.1 不同类型的域名 1.1.1.1 TLDs: Top-Level Domains 顶级域 1.1. ...

  4. 99 网络编程_传统网络工程师如何利用python实现公司内网IP地址信息查询?

      网   工   圈 网络工程师阿龙圈内最早的公益公众号,本号已认证!学网络关注我一个就够了(关注近5w+)关注听说99%的网工都来这里充电吖关注我,一个老HCIE(编号3558)带你轻松玩网络技术 ...

  5. Python获取本机所有IP地址

    众所周知,Python标准库socket中有可以获取本机IPV4地址的方法,下面是网上非常常见的一种用法: >>> import socket >>> hostna ...

  6. 用python批量生成有效的IP地址

    #!/usr/bin/env python #-*- coding:utf-8 -*-import timetime_start = time.time() #设置运行开始时间 #批量生成IP地址 d ...

  7. Python定时获取外网IP地址并发送邮件

    去年入手了树莓派4B,放在家里当服务器用.由于电信公网IP经常更换,所以需要定期获取公网IP才能连上. import os import threading from smtplib import S ...

  8. python 获取网卡名称及其IP地址

    windows上想知道网卡和IP地址,可以使用ipconfig命令,在linux上可以使用ifconfig命令,得到输出后,可以解析输出内容,我要介绍的方法更为简单,只需要安装一个名为psutil的第 ...

  9. Python网络编程基础之ip地址,端口号,TCP,socket

    Python网络编程基础 IP地址 ip地址表现形式 查看ip地址 Linux Windows 检查网络是否正常 端口与端口号 端口号分类 知名端口号 动态端口号 TCP协议 概念 TCP通讯步骤 特 ...

最新文章

  1. REST接口设计规范
  2. h5手机端浏览器机制_H5测试介绍
  3. 《.NET应用架构设计:原则、模式与实践》新书博客--试读-1.1.2 架构师的职责
  4. zemax微透镜阵列示例_阵列反向! Ruby中的示例方法
  5. Linux与时间相关的结构体及相关用法
  6. java多线程详解(8)-volatile,Atomic比较
  7. GridView position = 0重复加载的问题
  8. oracle 复制数据 insert into、as select
  9. linux 集成 3g 模块 串口 option,华为等 3G、4G模块拨号上网过程分析
  10. iPhone 11 820-01523 N104手机电路原理图+位号图
  11. HttpSession详解
  12. SmartSVN for Mac(SVN客户端)
  13. 计算机网络——TCP
  14. 美林投资时钟与大类资产配置
  15. 【二〇二一·立春】读书笔记
  16. 一对一直播源码是什么?一对一直播平台如何成功搭建?
  17. 四十种 智能合约 支持平台
  18. ab压力测试并发测试基于HTTP
  19. 向上转型与向下转型(超详细)
  20. Objective-C 杂志发布四月 Android 特刊

热门文章

  1. 用redis实现消息队列
  2. Javascript 装载和执行
  3. 搞商业智能需要“智慧”
  4. 看设备指示灯识别网络故障
  5. DISCUZ中判断当前页是否是门户首页
  6. Focus 焦点定位
  7. 笔试算法复习——数组去重
  8. CLR Dynamic Languages
  9. mybatis 学习笔记:mybatis 初认识
  10. Python3.x:pip命令安装第三方库,超时处理方案