zoukankan      html  css  js  c++  java
  • 渗透测试之端口扫描器

    —— 《Python绝技》笔记系列

    扫描器功能:输入主机和端口,获取端口的状态和banner信息。

    核心技术:使用python 的socket模块,建立TCP全连接扫描。

    实现思路:

    1.输入一个IP和逗号分隔的端口列表,并予以扫描。

    2.对列表中的每个端口,连接目标IP和目标端口。

    3.确定端口运行的服务,通过发送垃圾数据并读取具体应用返回的banner。

    代码实现:

    选项分析器,使用python optparse模块,用来解析命令行参数。

    import optparse
    #调用optparse.OptionParser,生成一个参数解析器类的实例:parser
    parser=optparse.OptionParser('usage%prog '+'-H <target host> -p <target port>')
    #add_option()方法,用来添加参数
    parser.add_option('-H',dest='tgthost',type='string',help='specify target host')
    parser.add_option('-p',dest='tgtport',type='int',help='specify target port')
    
    (options,args)=parser.parse_args()
    tgthost=options.tgthost
    tgtport=options.tgtport
    
    if (tgthost == None) | (tgtport == None):
        print parser.usage
        exit(0)

     TCP端口扫描由两个函数来实现,connScan和portScan。

    connScan函数接收两个参数:tgthost和tgtport,它会去尝试建立与目标主机和端口的连接。

  • 相关阅读:
    如何将DataTable转换成List<T>呢?
    mySql中SUBSTRING_INDEX函数用法
    常用 Git 命令清单
    git学习笔记
    MySql 获取表的字段名
    mysql从身份证号中提取生日、性别
    年月日转大写汉字
    ExtJs服务器端代理(Ajax)
    ExtJS客户端代理
    ExtJS 数据模型
  • 原文地址:https://www.cnblogs.com/reborn-blog/p/7554464.html
Copyright © 2011-2022 走看看