[工具使用] Nmap工具浅谈

56 0
Honkers 10 小时前 | 显示全部楼层 |阅读模式

Nmap工具浅谈


前言

在学习了几天Nmap后,我决定来谈谈自己对nmap的理解和学习中发现的问题与解决过程,希望对看到这篇文章的你有所帮助,如果文章中一些理解上的问题或者思路上的错误,还望大佬指正。

一、Nmap是什么?

Nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。它是网络管理员必用的软件之一,以及用以评估网络系统安全。

二、我为什么使用Nmap

  1. 灵活:支持多种先进技术,端口扫描机制(TCP和UDP),版本检测,操作系统检测和ping扫描等多项技术
  2. 简便:Nmap在拥有高级功能的同时,对学习网络新手也非常友好
  3. 免费:最重要的一点,Nmap在功能强大的同时,他是免费的!

1.主机发现

任何网络探测任务的最初几个步骤之一就是把一组IP范围(有时该范围是巨大的)缩小为 一列活动的或者您感兴趣的主机。我在学习之余就喜欢使用Nmap去随便扫描一下本地同网段的同学,下面我列出几个需要使用到的选项

  1. -sL (列表扫描)
  2. -sP (Ping扫描)
  3. -P0 (无ping)
  4. -PS [portlist] (TCP SYN Ping)该选项发送一个设置了SYN标志位的空TCP报文
  5. -PA [portlist] (TCP ACK Ping)该选项发送一个设置了ACK标志位的空TCP报文
  6. -PU [portlist] (UDP Ping)该选项发送一个空的UDP报文给指定端口
  7. -PE; -PP; -PM (ICMP Ping Types)通常是管理员用来监视内网的不二之选
  8. -PR (ARP Ping)扫描使用ARP的主机,ARP扫描比基于IP的扫描更快更可靠
复制代码

2.端口扫描

虽然近些年Nmap功能越来越多,但他最开始也是从一个高效扫描工具开始的,并且任然是他主要功能,我非常喜欢用Nmap去做外围信息收集,我觉得非常好用,Nmap把扫描出的端口状态分为六个:open(开放的), closed(关闭的),filtered(被过滤的), unfiltered(未被过滤的),open|filtered(开放或者被过滤的),下面说Nmap扫描端口所需要用到的选项

  1. -sS (TCP SYN扫描)SYN扫描作为默认的也是最受欢迎的扫描选项
  2. -sT (TCP connect()扫描)当SYN扫描不能用时,CP Connect()扫描就是默认的TCP扫描
  3. -sU (UDP扫描)UDP端口扫描
  4. -sN; -sF; -sX (TCP Null,FIN,and Xmas扫描)这三种扫描类型在TCP RFC 中发掘了一个微妙的方法来区分open(开放的)和 closed(关闭的)端口
  5. Null扫描 (-sN)不设置任何标志位(tcp标志头是0)
  6. FIN扫描 (-sF)只设置TCP FIN标志位。
  7. Xmas扫描 (-sX)设置FIN,PSH,和URG标志位,就像点亮圣诞树上所有的灯一样
  8. -sA (TCP ACK扫描)它用于发现防火墙规则,确定它们是有状态的还是无状态的,哪些端口是被过滤的
  9. -sW (TCP窗口扫描)除了利用特定系统的实现细节来区分开放端口和关闭端口
  10. -sM (TCP Maimon扫描)这项技术和Null,FIN,以及Xmas扫描完全一样
  11. --scanflags (定制的TCP扫描)--scanflags选项允许您通过指定任意TCP标志位来设计您自己的扫描
  12. -sI <zombie host[:probeport]> (Idlescan)这种高级的扫描方法允许对目标进行真正的TCP端口盲扫描
  13. -sO (IP协议扫描)IP 协议扫描可以让您确定目标机支持哪些IP协议 (TCP,ICMP,IGMP,等等)
  14. -b <ftp relay host> (FTP弹跳扫描)
复制代码

3.操作系统探测

Nmap最著名的功能之一是用TCP/IP协议栈fingerprinting进行远程操作系统探测。 Nmap发送一系列TCP和UDP报文到远程主机,检查响应中的每一个比特。 在进行一打测试如TCP ISN采样,TCP选项支持和排序,IPID采样,和初始窗口大小检查之后, Nmap把结果和数据库nmap-os-fingerprints中超过 1500个已知的操作系统的fingerprints进行比较,如果有匹配,就打印出操作系统的详细信息。下面是启用和控制操作系统的选项

  1. -O (启用操作系统检测)也可以使用-A来同时启用操作系统检测和版本检测
  2. --osscan-limit (针对指定的目标进行操作系统检测)如果发现一个打开和关闭的TCP端口时,操作系统检测会更有效,这样更节约时间
  3. --osscan-guess; --fuzzy (推测操作系统检测结果)当Nmap无法确定所检测的操作系统时,会尽可能地提供最相近的匹配,Nmap默认 进行这种匹配,使用上述任一个选项使得Nmap的推测更加有效
复制代码

总结

Nmap很好用,我现在所学有关Nmap的知识还是不够,有很多Nmap上更高级高效的功能我没学或者没学会,接下来我还会继续学习,做到融汇贯通,谢谢大家的阅读。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Honkers

特级红客

关注
  • 3357
    主题
  • 36
    粉丝
  • 0
    关注
这家伙很懒,什么都没留下!

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行