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,它会去尝试建立与目标主机和端口的连接。

  • 相关阅读:
    143. Reorder List
    圆圈中最后剩下的数
    求1+2+3+...+n
    不用加减乘除做加法
    构建乘积数组
    199. Binary Tree Right Side View
    把字符串转换成整数
    java stream
    物流运费的维护架构
    9、定义类与方法
  • 原文地址:https://www.cnblogs.com/reborn-blog/p/7554464.html
Copyright © 2011-2022 走看看