推广 热搜:   中国  公司  企业  服务  未来  设备  政策  行业  基金 

Python批量查询恶意地址信息

   日期:2024-11-12     作者:shyqysj    caijiyuan   评论:0    移动:http://lanlanwork.gawce.com/mobile/news/9537.html
核心提示:python学习续集,之前已经学习过一部分的基础,学习了差不多15天左右吧,都是零散的学习,因为上班加班

python学习续集,之前已经学习过一部分的基础,学习了差不多15天左右吧,都是零散的学习,因为上班加班的缘故,基本上平均下来每天2小时学习时间。 在偶然情况下发现工作群里有人发出下面的疑问在这里插入图片描述 突然想到python好像可以做到,就上网查了一下,涉及可以查询恶意地址信息的有以下几个网址。

Python批量查询恶意地址信息

一、需求解决思路

(一)、寻找可获取到恶意IP信息的网站

可获取目标数据网站

  1. 360威胁情报中心
  2. 安恒威胁情报中心
  3. 绿盟威胁情报中心(NTI)
  4. 奇安信威胁情报中心
  5. VenusEye威胁情报中心
(二)、目前掌握以及项目所使用的技术分析

爬虫是一种按照一定规则,自动抓取互联网信息的程序或者脚本。由于互联网数据的多样性和资源的有限性,根据用户需求定向抓取相关网页并分析已成为如今主流的爬取策略。

项目预计需要使用的技术知识

  1. python基础知识
  2. python requests库 #向网站请求的模块,相似的还有urllib2和urllib3,requests相对于urllib模块更简洁,对于我这样的新手比较简单
  3. python json库 #JSON,文件存储格式,全称为Javascript Object Notation,以对象和数组的组合来表示数据
  4. python xlwt、xlrd库 #excel读取和写入模块

Python爬虫步骤

  1. 准备工作

    通过浏览器查看分析目标网页,确认目标数据链接

  2. 获取数据

    通过http库向目标站点发起请求,请求可以包含额外的header等信息,如果服务器能正常响应,会得到一个Response,这就是所要获取的页面内容

  3. 解析内容

    得到的内容可能是HTML,JSON等格式,可以用页面解析库、正则表达式等进行解析

  4. 保存数据

    保存形式多样,可以存为文本,也可以保存到数据库,或者保存特定格式的文件

(三)、分析目标网站数据获取链接

1、360威胁情报中心

第一步>>以浏览器方式正常访问目标网站 在这里插入图片描述

夭折——未登录情况下出现验证模块 #后续深入学习后再更,(◡‿◡)目前寻找模式比较单一的网站,验证模块其实也是一种反爬技术,爬虫会增加服务器负担,所以如果你是管理员,你会讨厌爬虫的。

2、安恒威胁情报中心

… 0.0,继续夭折 #未登录情况下出现验证模块

3、绿盟威胁情报中心(NTI)、

。。。。。。,还是夭折 #未登录情况下出现验证模块

4、奇安信威胁情报中心

还是需要验证,继续夭折 #未登录情况下出现验证模块

5、VenusEye威胁情报中心

第一步>>以浏览器方式正常访问目标网站

在这里插入图片描述 在这里插入图片描述

(),终于,未登录情况下查询恶意IP信息的网站找到了

第二步>>使用浏览器F12抓包工具查找可获取信息的URL

在这里插入图片描述

在这里插入图片描述

从图中可知,浏览器向URL:https://www.venuseye.com.cn/ve/ip 以POST方式发送请求,携带查询参数:52.4.209.250

,图中Response Headers里的content-type表明,网站返回的是JSON数据

 

在这里插入图片描述

输入结果为200,证明请求成功

参考:常见的错误代码及错误原因

状态码说明详情200成功服务器已成功处理了请求400错误请求服务器无法解析该请求404未找到服务器找不到请求的网页418被反爬程序返回的数据服务器的反爬程序识别出请求为Python爬虫

以上是一些Python爬数据时常见的状态码。

请求成功后,可尝试输出response结果

 

输出以下结果

在这里插入图片描述

可以从代码再次确认response返回结果为JSON数据,查看浏览器抓包工具的的Preview可更直观的验证结果,Preview为Response的预览结果,内容是一样的,但Response显示的方式跟我们Python输出的结果是一样的

在这里插入图片描述

二、项目实现

经过前两步可以确认,VenusEye威胁情报中心是可以实现项目需求的目标网站,接下来就一步一步实现了,虽然python是面向对象的编程语言,但个人认为,在推敲过程中,还是以面向过程打底先,后面再形成系统的“面向对象”。

第一步,重复上述代码步骤,抓取目标URL的Response
 
第二步,以JSON形式输出Response信息

之所以要用JSON,是因为在获取到的response是一个对象,如果想访问对象里的数据,可以是用,都是获取response里的内容信息,但以这种方式输入结果,是一个字符串形式(str,不方便我们对里面的数据进行获取,所以这里就需要将response转为JSON形式,JSON是将数据转换成字典或数组,形成键值对形式,方便我们对里面的数据进行操作。

 

转换为JSON形式有两种方法

1.直接使用json()

#将response转换成JSON形式再将结果赋值给result

2.导入json模块

 

这两种方法本质上是一样的,json()实际上是个方法,将第二种方式打包成一个方法,结果是一样的,相对来说,第一种方式更便捷,第二种方式更直观,新手推荐以第二种形式。

转换为json形式后,我们就可以直接选择我们需要的数据了,这里以取“IP地址,开放端口和更新时间"为目标数据进行提取,并将结果输出到excel表格里。

第三步,推导过程
 

下面是输出的结果

在这里插入图片描述

到这里基本的推导过程就结束了,(),接下来就是规整一下,设置成批量查询恶意IP的形式

第四步,面向对象编程
本文地址:http://lanlanwork.gawce.com/news/9537.html    阁恬下 http://lanlanwork.gawce.com/ , 查看更多
 
 
更多>同类行业资讯
0相关评论

新闻列表
企业新闻
推荐企业新闻
推荐图文
推荐行业资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2023001713号