python编写简单漏洞扫描器(通过实别服务版本号)
源于《python绝技:运用python成为顶级黑客》
代码:
import socket
import os
import sys
def retBanner(ip, port):try:socket.setdefaulttimeout(2)s = socket.socket()s.connect((ip,port))banner = s.recv(1024)return bannerexcept:returndef checkVulns(banner, filename):f = open(filename,'r')for line in f.readlines():if line.strip('\n') in banner:print("[+] Server is vulnerable: " + banner.trip('\n'))
def main():if len(sys.argv) ==2:filename = sys.argv[1]if not os.path.isfile(filename):print("[-] "+filename+' does not exist')exit(0)if not os.access(filename, os.R_OK):print("[-] "+filename+' access denied.')exit(0)else:print("[-] Usage: "+ str(sys.argv[0])+' <vuln filename>')exit(0)#定义要扫描的端口portList = [21,22,25,80,110,135,139,443,445,5357]#循环要扫描的ipfor x in range(1,255):ip = str('192.168.1.'+str(x))#循环扫描的端口for port in portList:banner = str(retBanner(ip, port))if banner:print("[+] "+ ip +":"+ str(port)+": "+banner)checkVulns(banner, filename)
if __name__ == '__main__':main()
用法:python3 文件名 漏洞文件名
例如:python3 scan.py vuln.txt
函数介绍:
retBanner: 接收ip和端口号,进行socket通信,然后返回的数据(1024),然后返回接收到的数据。
checkVulns : 接收banner指纹信息和漏洞文件名,读取含有漏洞的服务版本文件,进行遍历,与banner指纹信息进行比对,如果符合,返回漏洞可利用。不符合,遍历完后就自动退出了。
main:通过python的sys模块接收文件名,判断文件是否存在和文件的权限。定义了一个要扫描的端口列表。定义要扫描的ip列表,循环扫描。
python编写简单漏洞扫描器(通过实别服务版本号)相关推荐
- python调用扫描仪_使用Python编写简单的端口扫描器的实例分享
单线程实现单线程实现道理比较简单,这里尝试Soket连接3389,连接成功说明端口开放,否则说明没有开远程服务.随便修改了一下就ok了,代码如下,最终得到自己的IP地址. #!/usr/bin/env ...
- python做好的程序如何变成小程序-使用python编写简单的小程序编译成exe跑在win10上...
每天的工作其实很无聊,早知道应该去IT公司闯荡的.最近的工作内容是每逢一个整点,从早7点到晚11点,去查一次客流数据,整理到表格中,上交给素未蒙面的上线,由他呈交领导查阅. 人的精力毕竟是有限的,所以 ...
- python爬虫简单实例-Python 利用Python编写简单网络爬虫实例3
利用Python编写简单网络爬虫实例3 by:授客 QQ:1033553122 实验环境 python版本:3.3.5(2.7下报错 实验目的 获取目标网站"http://bbs.51tes ...
- python的翻译-Python编写简单的谷歌翻译软件
Python编写简单的谷歌翻译软件 这是我学习Python的图形模块tkinter时完成的一个小作业,翻译速度快, 直接调用Google翻译的Python接口,界面简洁,已成为我日常编程的小助手^^ ...
- python程序-30分钟学会用Python编写简单程序
原标题:30分钟学会用Python编写简单程序 参与文末每日话题讨论,赠送异步新书 异步图书君 学习目标 知道有序的软件开发过程的步骤. 了解遵循输入.处理.输出(IPO)模式的程序,并能够以简单的方 ...
- python识别ppt文件格式 ——(专栏:基于python编写简单office阅卷程序③)
● 研二在读学生,非工科非计算机专业,故代码简陋初级勿喷,本文仅为记录和快乐分享. ○ 感谢肯定,感谢点赞收藏分享,转载请注明本页出处即可. ____Ⓙ即刻@王昭没有君 本文仅为笔者摸索总结-欢迎订正 ...
- 用python爬虫下载视频_使用Python编写简单网络爬虫抓取视频下载资源
我第一次接触爬虫这东西是在今年的5月份,当时写了一个博客搜索引擎,所用到的爬虫也挺智能的,起码比电影来了这个站用到的爬虫水平高多了! 回到用Python写爬虫的话题. Python一直是我主要使用的脚 ...
- python写软件实例-30分钟学会用Python编写简单程序
原标题:30分钟学会用Python编写简单程序 参与文末每日话题讨论,赠送异步新书 异步图书君 学习目标 知道有序的软件开发过程的步骤. 了解遵循输入.处理.输出(IPO)模式的程序,并能够以简单的方 ...
- python识别excel文件格式 ——(专栏:基于python编写简单office阅卷程序②)
● 研二在读学生,非工科非计算机专业,故代码简陋初级勿喷,本文仅为记录和快乐分享. ○ 感谢肯定,感谢点赞收藏分享,转载请注明本页出处即可. ____Ⓙ即刻@王昭没有君 本文仅为笔者摸索总结-欢迎订正 ...
- python识别word文件格式 ——(专栏:基于python编写简单office阅卷程序①)
● 研二在读学生,非工科非计算机专业,故代码简陋初级勿喷,本文仅为记录和快乐分享. ○ 感谢肯定,感谢点赞收藏分享,转载请注明本页出处即可. ____Ⓙ即刻@王昭没有君 本文仅为笔者摸索总结-欢迎订正 ...
最新文章
- Python实战之logging模块使用详解
- python filter内置函数_python 内置函数filter
- 第九天2017/04/18(2、类的继承、面试题:继承访问修饰符、组合、static、构造、多态)
- 02_3中方式的反射,通过Class.forName获得Class对象,通过类.class获得字节码对象,通过类实例.getClass()的方式获得Class对象
- .NET定时任务执行管理器开源组件–FluentScheduler
- django-rest-framework第一次使用使用常见问题
- 【JEECG技术博文】online自定义模板的使用
- linux监控任务跑满,Linux服务器带宽和CPU跑满或跑高排查
- python字典编码_Python列表,字典,元组,字符串操作,文件操作,字符编码
- C++primer 12.2.1节练习
- HTML中段落标签和换行标签分别是,HTML 基本标签
- Java Graphics2D的使用
- java精选视频资源,收藏慢慢看!
- Debian设置合上笔记本盖子不休眠
- 通行宝深交所上市:市值84亿 腾讯云与上汽是股东
- C7N新增,保存,删除基础模板
- 小米路由器3 刷 linux,小米路由器3刷入LEDE
- css3中边框的4种样式
- OpenGL南邮计算机图形学实验报告三——实现类似地月系统的两物体环绕移动
- 终于成功修复我的Kindle了!
热门文章
- PHP算法学习(5) 位运算
- 二、Linux 教程-基础命令(1~180未完)
- win10多合一原版系统_【教程】制作Windows 10 多合一原版系统
- c语言答辩ppt案例,c语言ppt例子课题了答辩ppt成品中南民族大学.ppt
- 硬件工程师面试基础知识点
- 转自瑞星:“永恒之蓝”WannaCry勒索病毒分析报告
- job历史执行记录查询 oracle_oracle job 查询 存储过程
- 网易云音乐直链提取及下载
- 博图os更新_PCS7和TIA博图软件有什么区别?
- PPT 处理图片背景为透明