zoukankan      html  css  js  c++  java
  • nmap扫描工具的安装与使用

    概念

    NMap,也就是Network Mapper,是Linux下的网络扫描和嗅探工具包。

     其基本功能有三个:

    (1)是扫描主机端口,嗅探所提供的网络服务

    (2)是探测一组主机是否在线

    (3)还可以推断主机所用的操作系统,到达主机经过的路由,系统已开放端口的软件版本

    nmap端口状态解析
    open : 应用程序在该端口接收 TCP 连接或者 UDP 报文。 
    closed :关闭的端口对于nmap也是可访问的, 它接收nmap探测报文并作出响应。但没有应用程序在其上监听。
    filtered :由于包过滤阻止探测报文到达端口,nmap无法确定该端口是否开放。过滤可能来自专业的防火墙设备,路由规则 或者主机上的软件防火墙。
    unfiltered :未被过滤状态意味着端口可访问,但是nmap无法确定它是开放还是关闭。 只有用于映射防火墙规则集的 ACK 扫描才会把端口分类到这个状态。
    open | filtered :无法确定端口是开放还是被过滤, 开放的端口不响应就是一个例子。没有响应也可能意味着报文过滤器丢弃了探测报文或者它引发的任何反应。UDP,IP协议,FIN, Null 等扫描会引起。
    closed|filtered:(关闭或者被过滤的):无法确定端口是关闭的还是被过滤的
    

    nmap基本参数及使用

    • -sT TCP connect()扫描,这种方式会在目标主机的日志中记录大批的链接请求以及错误信息。
    • -sP ping扫描,加上这个参数会使用ping扫描,只有主机存活,nmap才会继续扫描,一般最好不加,因为有的主机会禁止ping,却实际存在。
    • -sS 半开扫描,一般不会记入日志,不过需要root权限。
    • -sU udp扫描,但是一般不可靠。
    • -sA 用来穿过防火墙的规则集,速度慢。
    • -sV 端口服务及版本
    • -A 包含了-sV,-O,全面系统检测,启动脚本检测,扫描等。
    • -P0 扫描之前不使用ping,适用于防火墙禁止ping,比较有用。
    • -v 显示扫描进程
    • -O 探测目标系统的漏洞,容易误报
    • -oN/-oX/-oG 将报告写入文件,格式分别为正常(自定义.txt),XML,grepable.
    • -iL 扫描主机列表
    • -sC –script=default 默认的脚本扫描,主要是搜集各种应用服务的信息

    img

    namp扫描应用

    在网络上寻找所有在线主机

    nmap -sP 18.16.202.0/24
    or 
    nmap -sP 18.16.202.*
    

    在网络上寻找一定范围内的主机

    nmap -sP 18.16.202.100-255
    

    扫描tcp端口:

    指定端口范围使用-p参数,如果不指定要扫描的端口,Nmap默认扫描从1到1024再加上nmap-services列出的端口

    nmap-services是一个包含大约2200个著名的服务的数据库,Nmap通过查询该数据库可以报告那些端口可能对应于什么服务器,但不一定正确。

    所以正确扫描一个机器开放端口的方法是上面命令。-p1-65535

    注意,nmap有自己的库,存放一些已知的服务和对应端口号,假如有的服务不在nmap-services,可能nmap就不会去扫描,这就是明明一些端口已经是处于监听状态,nmap默认没扫描出来的原因,需要加入-p参数让其扫描所有端口。

    虽然直接使用nmap也可以扫描出开放的端口,但是使用-p1-65535 能显示出最多的端口

    区别在于不加-p 时,显示的都是已知协议的端口,对于未知协议的端口没显示

    $ nmap 18.16.202.169 -p 1-65535
    Starting Nmap 7.70 ( https://nmap.org ) at 2019-01-12 14:15 ?D1�������?����??
    Nmap scan report for 18.16.202.169
    Host is up (0.00070s latency).
    Not shown: 65510 closed ports
    PORT      STATE    SERVICE
    135/tcp   open     msrpc
    137/tcp   filtered netbios-ns
    139/tcp   open     netbios-ssn
    445/tcp   open     microsoft-ds
    902/tcp   open     iss-realsecure
    912/tcp   open     apex-mesh
    1080/tcp  open     socks
    1536/tcp  open     ampr-inter
    1537/tcp  open     sdsc-lm
    1538/tcp  open     3ds-lm
    1539/tcp  open     intellistor-lm
    1545/tcp  open     vistium-share
    1551/tcp  open     hecmtl-db
    1552/tcp  open     pciarray
    3306/tcp  open     mysql
    3389/tcp  open     ms-wbt-server
    4537/tcp  open     wssauthsvc
    5040/tcp  open     unknown
    5357/tcp  open     wsdapi
    8118/tcp  open     privoxy
    14264/tcp open     unknown
    14280/tcp open     unknown
    18386/tcp open     unknown
    34642/tcp open     unknown
    49152/tcp open     unknown
    
    Nmap done: 1 IP address (1 host up) scanned in 17.87 seconds
    

    不指定:

    Starting Nmap 7.70 ( https://nmap.org ) at 2019-01-12 14:15 ?D1�������?����??
    Nmap scan report for 18.16.202.169
    Host is up (0.00051s latency).
    Not shown: 990 closed ports
    PORT      STATE SERVICE
    135/tcp   open  msrpc
    139/tcp   open  netbios-ssn
    445/tcp   open  microsoft-ds
    902/tcp   open  iss-realsecure
    912/tcp   open  apex-mesh
    1080/tcp  open  socks
    3306/tcp  open  mysql
    3389/tcp  open  ms-wbt-server
    5357/tcp  open  wsdapi
    49152/tcp open  unknown
    
    Nmap done: 1 IP address (1 host up) scanned in 6.98 seconds
    

    参考:

    给Linux系统/网络管理员的nmap的29个实用例子

    Nmap扫描原理与用法

    渗透工具用法(三):Nmap 的用法

    nmap命令-----基础用法

    Nmap基本使用教程

    不老的神器:安全扫描器Nmap渗透使用指南

    nmap常用命令

    nmap常用命令集合

  • 相关阅读:
    【转】Fiddler 教程
    【转】java中三个类别加载器的关系以及各自加载的类的范围
    【转】HTTP协议详解
    【转】Google是如何做代码审查的?
    JSP页面的三种include方式
    forward和sendRedirect的差别
    cxf方式实现WebService的简单实例
    Pushlet简单入门实例
    Java学习(二十三):log4j日志打印
    PL/SQL相关问题解决办法汇总
  • 原文地址:https://www.cnblogs.com/hongdada/p/12254834.html
Copyright © 2011-2022 走看看