黑客教你定位城市  徐松亮Python教学

访客4年前黑客资讯1017

版权声明:本文为博主徐松亮的原创作品,未经允许不得转载,多谢支持! *** :5387603

推荐点击此链接:欢迎进入徐松亮博客一站式导航搜索(随时更新)

目录

一,概念

场景

场景解决

具体方案

数据到哪去查呢?

本文用什么变成语言?

本文用GeoLiteCity的在线查询还是离线查询?

离线数据源的定期更新

二,准备工作

python环境

安装MaxMind公司的开源数据库GeoLiteCity:

三,代码讲解

四,源码

五,运行效果

六,调试记录

一,概念

  • 场景

    • 如果遇到服务器被攻击,恶意链接,我们怎样调查呢?
    • 反过来如果我们是黑客,怎么躲避调查呢?
  • 场景解决

    • 目前比较常见的 *** 就是根据IP地址来定位服务器的位置.
  • 具体方案

    • 本教程就为大家介绍怎样根据IP地址来定位攻击服务器的位置.
  • 数据到哪去查呢?

    • 这里我们用MaxMind的GeoLiteCity数据库,为什么选它呢?
      • 因为它有免费开源的版本来让我们不用花钱来做这个事.
      • 如果要更专业更精准的定位服务,MaxMind还有一些收费的商业版可供购买.
    • GeoLiteCity可以在线查询,也可以把离线数据下载到本机查询,很不错.
    • 要使用GeoLiteCity的数据,用什么编程语言呢?
      • 它支持好多语言,官方C#/C/JAVA/Perl/PHP/Python/等,还有第三方支持更多其他语言,具体见官方文档。
  • 本文用什么变成语言?

    • 上面也说到数据库支持很多编程语言,在此,我们用python
  • 本文用GeoLiteCity的在线查询还是离线查询?

    • 在线方式优缺点
      • 优点:不用定期更新数据包
      • 缺点:查询总要依靠MaxMind服务器,万一 *** 数据链路或服务器出问题则失效。
    • 离线方式的优缺点
      • 优点:数据库在本地,就是让人感觉到放心。
      • 缺点:需要定期更新数据包
    • 本文用离线查询方式。在线方式应用更简单,使用看官方技术文档即可(下一章节有网址)
  • 离线数据源的定期更新

    • GeoLiteCity如果在linux环境下,提供自动更新数据库的脚本,但是windows下没有,只能手动周期更新下载。但我认为是可以自己写一个脚本的,无非就是从网站上下载保存到指令路径让系统周期性运行而已。

二,准备工作

  • python环境

    • 确保电脑安装了python环境,并且pip指令可用
    • 博主电脑:
      • 操作系统:win10-64bit
      • python:python3.7
      • 编辑环境:VSCode
        • 不会建立请看本博主原创文档:
          • 徐松亮软件应用教学-基于Visual Studio Code的python语言开发环境搭建
  • 安装MaxMind公司的开源数据库GeoLiteCity:

    • 网址:
      • 网址:http://www.maxmind.com/app/geolitecity
      • 开发:https://dev.maxmind.com/geoip/geoip2/downloadable/
      • 开发:https://pypi.org/project/geoip2/
    • 安装
      • windows的cmd环境下如下指令
        • pip install geoip2
      • 等待安装完成

    • 下载数据包

      • 下载网址:https://dev.maxmind.com/zh-hans/geoip/geoip2/geolite2/

三,代码讲解

  • 本文主要介绍City库的应用,其他应用请自行看手册.

四,源码

#!D:/Program Files/Python37/python
import geoip2.database

# This creates a Reader object. You should use the same object
# across multiple requests as creation of it is expensive.
reader = geoip2.database.Reader(
    '../../../xsl_use_lib/geolite2/GeoLite2-City/GeoLite2-City.mmdb')

def ip_print_AddrInfo(ip):
    # Replace "city" with pthe method corresponding to the database
    # that you are using, e.g., "country".
    #-----------------------------------------------
    # 载入指定IP相关数据
    response = reader.city(ip)
    #读取国家代码
    Country_IsoCode = response.country.iso_code
    #读取国家名称
    Country_Name = response.country.name
    #读取国家名称(中文显示)
    Country_NameCN = response.country.names['zh-CN']
    #读取州(国外)/省(国内)名称
    Country_SpecificName = response.subdivisions.most_specific.name
    #读取州(国外)/省(国内)代码
    Country_SpecificIsoCode = response.subdivisions.most_specific.iso_code
    #读取城市名称
    City_Name = response.city.name
    #读取邮政编码
    City_PostalCode = response.postal.code
    #获取纬度
    Location_Latitude = response.location.latitude
    #获取经度
    Location_Longitude = response.location.longitude
    #------------------------------------------------打印
    print('[*] Target: ' + ip + ' GeoLite2-Located ')
    print('  [+] Country_IsoCode        : ' + Country_IsoCode)
    print('  [+] Country_Name           : ' + Country_Name)
    print('  [+] Country_NameCN         : ' + Country_NameCN)
    print('  [+] Country_SpecificName   : ' + Country_SpecificName)
    print('  [+] Country_SpecificIsoCode: ' + Country_SpecificIsoCode)
    print('  [+] City_Name              : ' + City_Name)
    if City_PostalCode != None:
        print('  [+] City_PostalCode        : ' + City_PostalCode)
    print('  [+] Location_Latitude      : ' + str(Location_Latitude))
    print('  [+] Location_Longitude     : ' + str(Location_Longitude))

ip = '119.108.116.209'
ip_print_AddrInfo(ip)

五,运行效果

六,调试记录

  • 对于一些经过各种 *** 路由设备转换过的IP未必好使。
  • 数据库视乎缺少中国的相关的邮政编码信息,导致运行出错,尝试美国IP没有此问题,所以在源码中加了条件容错。
  • 遇到如下问题:在python官方IDE运行好使,但是在VSCode环境下运行找不到geoip2,也就是运行import geoip2出错,猜想一定是VSCode哪里没用明白。
    • 问题原因:
      • 电脑中存在多个版本的python,两个环境的各种环境变量设置不一样
      • sys.path打印出来的内容都不一样(怎么能一样,后续再研究吧)
    • 解决方案:
      • 删除了不用的python版本
      • 在VSVode中启动了用户级的setting.json设置,把真正的python相关路径加入设置,才解决问题
    • 并已经把更新记录到了本人的VSCode简历python开发环境文档中
      • 徐松亮软件应用教学-基于Visual Studio Code的python语言开发环境搭建

相关文章

找黑客黑掉微信(黑客在线接单免费)

黑掉微信怎么找黑客 1、怎么找黑客人民网。黑掉微信在线接单免费Q,予以处罚。只要你点击了种植木黑客马的网页就会中毒,接单黑客是相当经典了。上网的好处。康斯坦丁,由,自由和无限的财富。黑掉微信生死时速但...

标志设计在线网站(免费logo在线制作)

标志设计在线网站(免费logo在线制作)

据说,专业人士都用AI设计logo图标。 而我就比较厉害了,我用AI生成logo图标(人工智能)。哈哈 你们看到的“小威LOGO设计机器人”公众号头像图标,就是用人工智能AI生成的。 说的这么高...

在线ps图片处理“建站不求人必学ps技术基础篇” 子晨SEO博客

在线ps图片处理“建站不求人必学ps技术基础篇” 子晨SEO博客

在线ps图片处理惩罚“建站不求人必学ps技能基本篇” 值得一看假如你有一群从事在线营销的伴侣,无论是电子商务运营、微型企业照旧搜索引擎优化,我想十有八九他们都不能“在线ps图片处理惩罚”这项技能。可巧...

有信誉的黑客联系方式 网上怎么联系黑客

最近,美国教育技术公司Chegg披露了一次数据泄露事件,突显了网络事件对教育行业组织的威胁。 Chegg的网络事件: 位于加利福尼亚州的教育科技公司Chegg是一家提供数字和物理教科书租赁,在线辅导...

找黑客登微信(黑客在线网络接单)

登微信怎么找黑客 1、黑客接单古惑仔,登微信在线网络接单开天窗,得到用户权限。它根本就没空气。网上黑客美国历史上被通缉的头号计算机罪犯,Love。不能总是吃老本和不能继承和发扬光大,有一些是被隐藏起来...

怎么窃听老婆电话微信,什么软件能看老婆微信

11月底的上海,突然的降温下雨让人不禁感叹这冬日的变化来得足够快。上一期小提琴超级陪练课的余温仍未消散,新一期第17期超级陪练课如约而至,本期的超级陪练重回钢琴陪练。特殊疫情之下,在线素质教育有了更多...