源于《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编写简单漏洞扫描器(通过实别服务版本号)相关推荐

  1. python调用扫描仪_使用Python编写简单的端口扫描器的实例分享

    单线程实现单线程实现道理比较简单,这里尝试Soket连接3389,连接成功说明端口开放,否则说明没有开远程服务.随便修改了一下就ok了,代码如下,最终得到自己的IP地址. #!/usr/bin/env ...

  2. python做好的程序如何变成小程序-使用python编写简单的小程序编译成exe跑在win10上...

    每天的工作其实很无聊,早知道应该去IT公司闯荡的.最近的工作内容是每逢一个整点,从早7点到晚11点,去查一次客流数据,整理到表格中,上交给素未蒙面的上线,由他呈交领导查阅. 人的精力毕竟是有限的,所以 ...

  3. python爬虫简单实例-Python 利用Python编写简单网络爬虫实例3

    利用Python编写简单网络爬虫实例3 by:授客 QQ:1033553122 实验环境 python版本:3.3.5(2.7下报错 实验目的 获取目标网站"http://bbs.51tes ...

  4. python的翻译-Python编写简单的谷歌翻译软件

    Python编写简单的谷歌翻译软件 这是我学习Python的图形模块tkinter时完成的一个小作业,翻译速度快, 直接调用Google翻译的Python接口,界面简洁,已成为我日常编程的小助手^^ ...

  5. python程序-30分钟学会用Python编写简单程序

    原标题:30分钟学会用Python编写简单程序 参与文末每日话题讨论,赠送异步新书 异步图书君 学习目标 知道有序的软件开发过程的步骤. 了解遵循输入.处理.输出(IPO)模式的程序,并能够以简单的方 ...

  6. python识别ppt文件格式 ——(专栏:基于python编写简单office阅卷程序③)

    ● 研二在读学生,非工科非计算机专业,故代码简陋初级勿喷,本文仅为记录和快乐分享. ○ 感谢肯定,感谢点赞收藏分享,转载请注明本页出处即可. ____Ⓙ即刻@王昭没有君 本文仅为笔者摸索总结-欢迎订正 ...

  7. 用python爬虫下载视频_使用Python编写简单网络爬虫抓取视频下载资源

    我第一次接触爬虫这东西是在今年的5月份,当时写了一个博客搜索引擎,所用到的爬虫也挺智能的,起码比电影来了这个站用到的爬虫水平高多了! 回到用Python写爬虫的话题. Python一直是我主要使用的脚 ...

  8. python写软件实例-30分钟学会用Python编写简单程序

    原标题:30分钟学会用Python编写简单程序 参与文末每日话题讨论,赠送异步新书 异步图书君 学习目标 知道有序的软件开发过程的步骤. 了解遵循输入.处理.输出(IPO)模式的程序,并能够以简单的方 ...

  9. python识别excel文件格式 ——(专栏:基于python编写简单office阅卷程序②)

    ● 研二在读学生,非工科非计算机专业,故代码简陋初级勿喷,本文仅为记录和快乐分享. ○ 感谢肯定,感谢点赞收藏分享,转载请注明本页出处即可. ____Ⓙ即刻@王昭没有君 本文仅为笔者摸索总结-欢迎订正 ...

  10. python识别word文件格式 ——(专栏:基于python编写简单office阅卷程序①)

    ● 研二在读学生,非工科非计算机专业,故代码简陋初级勿喷,本文仅为记录和快乐分享. ○ 感谢肯定,感谢点赞收藏分享,转载请注明本页出处即可. ____Ⓙ即刻@王昭没有君 本文仅为笔者摸索总结-欢迎订正 ...

最新文章

  1. Python实战之logging模块使用详解
  2. python filter内置函数_python 内置函数filter
  3. 第九天2017/04/18(2、类的继承、面试题:继承访问修饰符、组合、static、构造、多态)
  4. 02_3中方式的反射,通过Class.forName获得Class对象,通过类.class获得字节码对象,通过类实例.getClass()的方式获得Class对象
  5. .NET定时任务执行管理器开源组件–FluentScheduler
  6. django-rest-framework第一次使用使用常见问题
  7. 【JEECG技术博文】online自定义模板的使用
  8. linux监控任务跑满,Linux服务器带宽和CPU跑满或跑高排查
  9. python字典编码_Python列表,字典,元组,字符串操作,文件操作,字符编码
  10. C++primer 12.2.1节练习
  11. HTML中段落标签和换行标签分别是,HTML 基本标签
  12. Java Graphics2D的使用
  13. java精选视频资源,收藏慢慢看!
  14. Debian设置合上笔记本盖子不休眠
  15. 通行宝深交所上市:市值84亿 腾讯云与上汽是股东
  16. C7N新增,保存,删除基础模板
  17. 小米路由器3 刷 linux,小米路由器3刷入LEDE
  18. css3中边框的4种样式
  19. OpenGL南邮计算机图形学实验报告三——实现类似地月系统的两物体环绕移动
  20. 终于成功修复我的Kindle了!

热门文章

  1. PHP算法学习(5) 位运算
  2. 二、Linux 教程-基础命令(1~180未完)
  3. win10多合一原版系统_【教程】制作Windows 10 多合一原版系统
  4. c语言答辩ppt案例,c语言ppt例子课题了答辩ppt成品中南民族大学.ppt
  5. 硬件工程师面试基础知识点
  6. 转自瑞星:“永恒之蓝”WannaCry勒索病毒分析报告
  7. job历史执行记录查询 oracle_oracle job 查询 存储过程
  8. 网易云音乐直链提取及下载
  9. 博图os更新_PCS7和TIA博图软件有什么区别?
  10. PPT 处理图片背景为透明