• Kali学习笔记12:服务扫描


    关于什么是服务扫描不多介绍,通俗来看:

    我已经扫描到目标机器某个端口开放,接下来我需要知道开放这个端口的是什么应用

    情景:

    我的Kali机器IP地址:192.168.22.130

    我要扫描的Metasploitable机器IP地址:192.168.22.129

    1.先介绍一个小工具:不强大,但是可以考虑使用

    nc命令:

    我要扫描目标机器的22端口:

    发现跑着SSH应用,并且还可以看到操作系统

    2.利用Python的Socket模块:

    #!/usr/bin/python
    import socket
    import select
    import sys
    
    if len(sys.argv) != 4:
        print "./ban_grab.py [Target IP] [First Port] [Last Port]"
        print "Example: ./ban_grab.py 10.0.0.5 1 100"
        print "Example will grab banners for TCP ports 1 through 100 on 10.0.0.5"
        sys.exit()
    
    ip = sys.argv[1]
    start = int(sys.argv[2])
    end = int(sys.argv[3])
    
    for port in range(start, end):
        try:
            bangrab = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            bangrab.connect((ip, port))
            ready = select.select([bangrab], [], [], 1)
            if ready[0]:
                print "TCP Poet " + str(port) + " - " + bangrab.recv(4096)
                bangrab.close()
        except:
            pass

    使用脚本:

    如果脚本是从windows移过来的:

    vi xxx.py

    :set fileformat=unix

    :wq

    chmod u+x xxx.py

    ./xxx.py

    使用:

     

    效果不错!

    其他工具:

    dmitry:-p 是端口扫描参数,-b是Banner信息扫描参数

    当然,强大的Nmap工具不可或缺:

    -sT:必须基于完整的TCP三次握手

    --script:使用内置脚本

    当然,想知道具体有哪些?至少有几百个,可以到这个目录看看

    有一个工具是专门为服务扫描而开发的:Amap:

    -B参数:扫描Banner

    指定端口范围:

    Banner信息抓取就到这里

    这种方式其实并不总能获取到正确的信息,并且获取信息不完整

    这时候就需要根据一些特征来识别服务:

    再次用到强大的Nmap工具:

     -sV参数:“指纹特性”匹配方式来识别

    效果相比前面的Banner信息获取方式,好太多!

    实际中,十分推荐这种方式,例如上边没有发现的53端口,这里识别了

    80端口其他工具只是识别出HTTP,这里甚至知道是Apache的web容器

    -sV参数还能解决一个问题:有时候HTTP服务在高位端口(如:8888)

    这时候基本无法识别这是一个HTTP服务,而-sV参数依旧可以发现,这就是强大之处

    上边提到的Amap工具其实也可以实现:不过不如Nmap详细

    虽说能够实现,不过还是推荐Nmap

  • 相关阅读:
    STM32 硬件I2C 到底是不是个坑?
    memory cache 和 disk cache
    希尔排序为什么不稳定
    17-18专业课
    fread和fseek的用法
    浅析alsa声卡驱动snd_interval结构体openmin,openmax和integer含义
    动态存储区、静态存储区、堆和栈的区别
    【专家坐堂Q&A】在 petalinux-config 中选择外部来源时,可将符号链路添加内核来源目录树
    模型文件后缀介绍
    @RestController注解
  • 原文地址:https://www.cnblogs.com/xuyiqing/p/9650661.html
Copyright © 2020-2023  润新知