精华内容
下载资源
问答
  • 主机扫描

    2020-07-30 15:15:28
    主机扫描 扫描和收集信息渗透测试中的第一步,其主要目的尽可能地发现有关目标机器的信息。获取的信息越多,渗透的概率就越大,该步骤的主要关注点目标机器的IP地址、可用服务、开放端口等。 使用辅助模块进行...

    主机扫描

    扫描和收集信息是渗透测试中的第一步,其主要目的是尽可能地发现有关目标机器的信息。获取的信息越多,渗透的概率就越大,该步骤的主要关注点是目标机器的IP地址、可用服务、开放端口等。

    使用辅助模块进行端口扫描

    辅助模块是Metasploit的内置模块,首先利用search命令搜索有哪些可用端口模块
    search portscan
    在这里插入图片描述
    从图中可以看到可用的扫描器列表,其中包含了各种扫描类型
    下面以TCP扫描模块举例。

    输入use命令使用该漏洞利用模块,使用show options命令查看需要设置的参数
    use auxiliary/scanner/portscan/tcp
    show options
    在这里插入图片描述
    在Required列中,被标记为yes的参数必须包含实际的值,其中RHOSTS设置待扫描的IP地址、PORTS设置扫描端口范围、THREADS设置扫描线程,线程数量越高,扫描速度越快。
    使用set命令设置相应的参数,也可以使用unset命令取消某个参数的设置。
    set rhosts 192.168.1.18
    set ports 1-500
    set threads 20
    在这里插入图片描述
    输入run开始扫描
    在这里插入图片描述
    可以看到目标机器开了:23、22、25、21、53、80、111、139、445九个端口。
    **知识点:**其实还有两条可选命令setg和unsetg命令。二者用于在msfconsole中设置或取消设置全局性的参数值,从而避免重复输入相同的值。

    使用辅助模块进行服务扫描

    在扫描目标机器上运行的服务时,有多种基于服务的扫描技术可供选择,如VNC,FTP,SMB等,只须执行特定类型的扫描就可以发现服务。

    通过search命令搜索scanner可以发现大量的扫描模块,使用的步骤与使用端口扫描模块时基本相同,不进行演示。
    在这里插入图片描述

    使用NMAP扫描

    在Metasploit中同样可以使用nmap扫描,nmap它不仅可以用来确定目标网络上计算机的存活状态,而且可以扫描计算机的操作系统,开放端口服务等。熟练掌握nmap的用法可以极大的提高个人的渗透测试技术

    实际使用时,在MSF命令提示符下输入nmap就可以显示nmap提供的扫描选项列表
    在这里插入图片描述
    现在我们要获取目标主机的操作系统输入nmap -O -Pn/-p0 URI命令,其中Pn和-P0(数字0)参数的意思是不使用ping的方式,而且假定所有主机系统都是活动的,可以穿透防火墙,也可以避免被防火墙发现。
    nmap -O -Pn 192.168.1.18
    在这里插入图片描述

    展开全文
  • 这个脚本用于扫描网络中的存活主机,通常在CMDB中自动获取主机的时候用到。 #!/usr/bin/env python # -*- coding: utf-8 -*- """ 执行这个脚本的主机要安装下面两个模块 pip3 install python-nmap 这个...

    这个脚本用于扫描网络中的存活主机,通常在CMDB中自动获取主机的时候用到。

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    """
    执行这个脚本的主机要安装下面两个模块
    pip3 install python-nmap 这个Python模块依赖操作系统的nmap
    确保操作系统安装了nmap  yum -y install nmap   # for centos
    主要功能:扫描网段获取存活主机以及主机是否为Linux。不是Linux的被标记为Unknown,这些主机会包括交换机、路由器、Windows等。
    """
    import sys
    from functools import partial
    
    import nmap
    import telnetlib
    import asyncio
    
    
    def timer(tagName):
        import time
        def wapper(func):
            def aa(self, *args, **kwargs):
                start = time.time()
                data = func(self, *args, **kwargs)
                end = time.time()
                consume = end - start
                if consume > 60:
                    min, sec = divmod(consume, 60)
                    print("%s 执行耗时:%s 分 %s 秒。" % (tagName, str(min), str(sec)))
                else:
                    print("%s 执行耗时:%s 秒。" % (tagName, str(consume)))
                return data
            return aa
    
        return wapper
    
    
    class ScanHost(object):
    
        def __init__(self):
            self._hostsinfor = []
    
        @timer(tagName="扫描")
        def scan(self, hosts='127.0.0.1', ports=None):
            """
            扫描主机
            :param hosts:  可以是IP也可以是网段,例如 192.168.100.10、192.168.100.0/24
            :param ports:  可以写端口也可以写端口范围,例如22、22-33,默认是None也就是所有端口
            :return: [{'IP': '127.0.0.1', 'Status': 'up', 'OSType': 'Linux'}, {}, {}]
            """
            hostlist = self._scanner(hosts, ports)
            loop = asyncio.get_event_loop()
            taskList = []
            for hostdic in hostlist:
                taskList.append(loop.create_task(self._isLinux(hostdic["IP"],)))
    
            for task in taskList:
                task.add_done_callback(partial(self._callback))
    
            loop.run_until_complete(asyncio.wait(taskList))
            return self._hostsinfor
    
        def _callback(self, future):
            res = future.result()
            self._hostsinfor.append(res)
    
        async def _isLinux(self, host, port='22'):
            """
            判断目标主机是否是Linux,这是通过telnet远程登录SSH端口号后根据输出内容来判断的
            所以需要远程主机开启SSH服务
            :param host:
            :param port:
            :return: True|False
            """
            try:
                tm = telnetlib.Telnet(host=host, port=port, timeout=5)
                # 读取的内容通常是这样的 b'SSH-2.0-OpenSSH_5.3\r\n'  字节,所以只需要判断是否含有OpenSSH就知道是否是Linux
                # 因为默认Windows上面没有OpenSSH服务,虽然你可以单独安装通常来讲没必要。
                b_content = tm.read_until(b'\n', timeout=5)
                str_content = str(b_content.decode(encoding='utf-8')).strip()
                # 判断是否包含OpenSSH字符,这里统一用大写比较
                if "OPENSSH" in str_content.upper():
                    return {"IP": host, 'Status': 'up', "OSType": "Linux"}
                else:
                    return {"IP": host, 'Status': 'up', "OSType": "Unknown"}
            except (ConnectionRefusedError, TimeoutError) as err:
                return {"IP": host, 'Status': 'up', "OSType": "Unknown"}
            except Exception as err:
                print("Error occurd in class ScanHost function _isLinux")
                print("Error message: ", err)
    
        def _scanner(self, hosts, ports=None):
            """
            探测某一主机是否存活或者探测给定网段内存活的主机
            :param hosts:  可以是IP也可以是网段,例如 192.168.100.10、192.168.100.0/24
            :param ports:  可以写端口也可以写端口范围,例如22、22-33
            :return:  [{'IP': '127.0.0.1', 'Status': 'up'}, {}, {}]
            """
            data = []
            try:
                nm = nmap.PortScanner()
                """
                -n 不显示主机名,不进行IP到主机名的反向解析
                -sP 使用ICMP协议探测
                -PE 显示哪些端口号开启
                -sP -PE 使用IMCP和TCP来探测,结果不显示端口号
                """
                nm.scan(hosts=hosts, ports=ports, arguments='-sP -PE ')
                # 这里获取的只是返回的有效IP
                hosts_list = nm.all_hosts()
    
                for host in hosts_list:
                    # 通过nmap实例获取主机的信息
                    # print(nm[host])
                    data.append({"IP": host, "Status": nm[host]["status"]["state"]})
                return data
            except Exception as err:
                print("Error occurd in class ScanHost function _scanner")
                print("Error message: ", err)
    
    
    def main():
        sh = ScanHost()
        print(sh.scan(hosts="172.16.48.0/24"))
    
    
    if __name__ == "__main__":
        try:
            main()
        finally:
            sys.exit()
    

     

    判断是否是Linux主机的原理是这样的

    由于Linux主机通常默认都会开启ssh服务而且默认端口是22,所以telnet上去会出现红色箭头指向的内容。

    扩展内容,当有了这些Linux主机后就可以远程执行dmidecode命令来获取更相信的服务器硬件方面的信息。这个功能在我的博客中也有。

    转载于:https://www.cnblogs.com/rexcheny/p/10314914.html

    展开全文
  • 端口扫描之zenmap

    2020-01-15 15:58:29
    zenmap一个开放源代码的...如扫描主机提供了哪些服务,使用的操作系统等 它集成在kali系统中 使用 或者在命令行中输入 zenmap也可以启动。在目标里输入我们要扫描的网段,下面显示的nmap命令,由此...

    zenmap是一个开放源代码的网络探测和安全审核的工具,它是Nmap官方提供的图形界面,通常随Nmap的安装包发布,它可以支持跨平台。使用zenmap工具可以快速地扫描大型网络或单个主机的信息。如扫描主机提供了哪些服务,使用的操作系统等

    它集成在kali系统中

     

    使用

     

     

    或者在命令行中输入 zenmap也可以启动。在目标里输入我们要扫描的网段,下面显示的是nmap命令,由此可以知道它确实是nmap的图形化界面

    目标里填ip或者域名都可以

     

     

    扫描结果如下

     

    从中可以看出页面主页分为三个部分

    • 配置部分
    • 主机列表
    • 扫描信息

    左边列出了活跃的主机,右边是主机的一些扫描信息,可以点击相应的选项进行查看

     

     

     

     

     

     

     

    展开全文
  • 端口扫描工具Nmap使用方法 day02

    千次阅读 2018-06-04 00:17:17
    nmap一个网络端口扫描软件,用来扫描网上电脑开放的网络连接端口,确定哪些服务运行在哪些端口,并且推断计算机运行哪个os。它网络管理员必用的软件之一,渗透测试人员也可以用它评估网络系统安全。下面介绍kali...

    nmap是一个网络端口扫描软件,用来扫描网上电脑开放的网络连接端口,确定哪些服务运行在哪些端口,并且推断计算机运行哪个os。它是网络管理员必用的软件之一,渗透测试人员也可以用它评估网络系统安全。下面介绍kali linux中nmap的用法。

    ①查看nmap当前版本:

    nmap -V


    查看本地路由与接口:

    nmap --iflist


    扫描网络上的在线主机:nmap 192.168.1.1/24

    扫描结果发现3个在线主机,分别是路由器、Windows宿主机和Kali虚拟机。默认情况下nmap只扫描TCP端口

    (如果使用“-sP”选项,可以简单的检测网络中有哪些在线主机,该选项会跳过端口扫描和其他一些检测)



    扫描指定主机上的端口:

    nmap -p 443 192.168.1.107(我扫了两台机器,这台是开了防火墙的。可以看到443端口是被过滤了的)

    nmap -p 443 192.168.1.104(这台没有开防火墙,可以看到443端口是open的,提供的是https服务


    filtered这种端口状态:由于包过滤阻止探测报文到达端口, Nmap无法确定该端口是否开放。过滤可能来自专业的防火墙设备,路由器规则 或者主机上的软件防火墙。这样的端口让攻击者感觉很挫折,因为它们几乎不提供任何信息。


    检测指定主机的操作系统版本:

    nmap -O 192.168.1.107

    检查结果给出所有可能性结果和相应概率


    扫描指定主机防火墙开启状态:

    nmap -sA 192.168.1.107(结果为unfiltered(未过滤状态),表示未开启防火墙

    nmap -sA 192.168.1.104(结果为filtered(过滤状态),表示已开启防火墙


    ⑦执行一次隐蔽的扫描:

    nmap -sS 192.168.1.104



    nmap还有很多很多命令,大家可以看一位大神的博客(https://blog.csdn.net/u012318074/article/details/73187420)中概括下来的的思维导图:





    展开全文
  • nmap命令  一款开放源代码的网络...nmap可以发现网络上有哪些主机主机提供了什么服务(应用程序名称和版本号),并探测操作系统的类型及版本信息。 如果系统没有nmap命令,则可以使用下面的命令来安装:  nma...
  • 首先我们需要在Linux下安装nmap(Nmap一款网络扫描主机检测的非常有用的工具),Ubuntu 可使用sudo apt-get install nmap安装,这个软件也有windows版本的,大家可以自行百度,下面只介绍Linux下的操作,这个...
  • 扫描技术纷繁复杂,新的扫描技术也层出不穷,不可能穷举所有扫描技术,下面按入侵步骤对主机扫描、端口扫描和服务扫描技术做一个简要分类与概述。 活动主机扫描可分为两类:1)ICMP echo扫描与Broadcast ICMP扫描;...
  • NMAP工具的介绍

    千次阅读 2020-02-03 17:02:04
    nmaplinux最早的网络扫描工具和嗅探工具包,它可以用来扫描网络上电脑开放的网络连接端,确定哪些服务运行在那些连接端,并且推断出计算机运行的哪个操作系统。它的基本功能有三个,一探测主机是否在线,然后...
  • 渗透工具——Namp基础用法

    万次阅读 2018-08-03 11:32:23
    主机发现和端口扫描,到操作系统检测和IDS规避/欺骗,Nmap大大小小黑客行动的基本工具。下面就开始介绍一下Namp的用法。  一:简介  Nmap一个网络连接端口扫描软件,用来扫描网上电脑开放的网络连接端口。...
  • 我们知道在从事网络信息安全的职业中渗透测试一个非常重要的岗位,据国家就业办统计的数据中,渗透工程师的缺口非常大...2、信息收集:扫描哪些内容,扫描web就搜集相应的材料,比如邮件、IP、域名、主机、登录界面
  • 试验四:CTF实践

    2020-12-14 19:21:09
    基本思路:下面来看具体操作第一题:发现目标 (netdiscover),找到WebDeveloper的IP地址第二题:利用NMAP扫描目标主机,发现目标主机端口开放、服务情况,截图并说明目标提供的服务有哪些?(利用第一次实验知识点)...
  • tftp -i 自己IP(用肉机作跳板时这用肉机IP) get server.exec:server.exe 登陆后,将“IP”的server.exe下载到目标主机c:server.exe 参数:-i指以二进制模式传送,如传送exe文件时用,如不加-i 则以ASCII模式(传送...
  • 下面就让我们来看看究竟WindowsXP有哪些安全漏洞,如何堵住这些漏洞呢?  一、切换功能漏洞  WindowsXP快速用户切换功能存在漏洞,当你单击“开始”/注销/“切换用户”启动快速用户切换功能,在传统登陆方法下...
  • 入门学习Linux常用必会60个命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    要想查询系统提供哪些Shell,可以使用chsh -l 命令,见图1所示。 图1 系统可以使用的Shell类型 从图1中可以看到,笔者系统中可以使用的Shell有bash(缺省)、csh、sh、tcsh四种。 exit 1.作用 exit命令的作用...
  • 本机病毒删除不了,解决方法把硬盘拆下来换到别台主机上进行杀毒,要求挂上去的主机要采用正版杀毒软件,升过级的才可以 49 四.识别常见病毒,病毒一般以隐藏形式藏匿在计算机的文件中,要把文件的隐藏属性打开...
  • 3.1.1 如何选择全扫描操作 56 3.1.2 全扫描与舍弃 59 3.1.3 全扫描与多块读取 60 3.1.4 全扫描与高水位线 60 3.2 索引扫描访问方法 65 3.2.1 索引结构 66 3.2.2 索引扫描类型 68 3.2.3 索引唯一扫描 71 ...
  • 3.1.1 如何选择全扫描操作 56 3.1.2 全扫描与舍弃 59 3.1.3 全扫描与多块读取 60 3.1.4 全扫描与高水位线 60 3.2 索引扫描访问方法 65 3.2.1 索引结构 66 3.2.2 索引扫描类型 68 3.2.3 索引唯一扫描 71 ...
  • Sam R.Alapati世界顶尖的Oracle技术专家,一位经验丰富的数据库管理员,有20多年从业经历。他拥有Oracle OCP DBA证书和HP UNIX System Administrator证书,曾经担任Oracle公司的高级顾问,并在AT&T、雷曼兄弟、...
  • 历史上的 Linux就是这么产生的,Linus Torvalds当时一名赫尔辛基大学计算机科学系的二年级学生,经常要用自己的电脑去访问大学主机上的新闻组和邮件,为了方便读写和下载文件,他自己编写了磁盘驱动程序和文件...
  • 历史上的 Linux就是这么产生的,Linus Torvalds当时一名赫尔辛基大学计算机科学系的二年级学生,经常要用自己的电脑去访问大学主机上的新闻组和邮件,为了方便读写和下载文件,他自己编写了磁盘驱动程序和文件...
  • IIS6.0 IIS,互联网信息服务

    热门讨论 2010-08-23 21:20:55
    需要注意的,如果你要用一个IP地址对应多个不同的FTP服务器,则只能用使用不同的端口号的方法来实现,而不支持“主机头名”的做法。 对于已建立好的FTP服务器,在浏览器中访问将使用如“ftp://192.168.0.1”或是...
  • iPhone开发秘籍(第2版)--源代码

    热门讨论 2012-12-11 13:51:22
    该资料《iPhone开发秘籍:第2版》的源代码 对应的书籍资料见: iPhone开发秘籍:第2版(iphone开发必备佳作,在第一版的基础上进行了全面修订和大量扩充) 基本信息 原书名: The iPhone Developer's Cookbook: ...
  • iPhone开发秘籍(第2版)--详细书签版

    热门讨论 2012-12-11 13:42:25
    CruiseYoung提供的带有详细书签的电子书籍目录 ...iPhone开发秘籍:第2版(iphone开发必备佳作,在第一版的基础上进行了全面修订和大量扩充) 基本信息 原书名: The iPhone Developer's Cookbook: Building ...

空空如也

空空如也

1 2
收藏数 26
精华内容 10
关键字:

下面哪些是主机扫描