zoukankan      html  css  js  c++  java
  • NMAP学习笔记

    nmap(Network Mapper)是一款用于网络扫描和安全审计软件开源软件,支持Windows、Mac、Linux等多个平台。同时,很多网络管理员也用它来进行网络设备管理、服务升级和主机监控。NMAP使用原始的IP包来探测网络上存活的主机、服务、操作系统等各种信息。NMAP被设计用来进行大型网络的扫描,但也可以用来对单个目标进行扫描。Nmap还曾在20部电影大屏幕上出现过。

    一、下载安装。

    Windows下有exe安装包以及图形界面,我感觉使用起来最方便。Linux和Mac下也都有RPM和DMG安装包,安装相对简单,使用上可能命令行的场景比较多,具体使用哪个版本就看各人喜好了。

    二、主机发现

    2.1 常规扫描

    简单的在命令后加ip地址,可以进行常规扫描,查看主机是否存活以及开放的端口。

    nmap 11.133.171.200

    2.2 Ping 扫描

    类似于Ping命令,仅执行Ping扫描,可以快速发现主机是否存活。

    nmap -sn 11.133.171.1-254

    如果想看具体的过程,可以加上 --packet-trace 参数,这样在返回结果之前,可以看到每一步的交互过程。

    2.3 TCP SYN Ping 扫描

    通常情况下,Nmap默认Ping扫描是使用TCP ACK和ICMP Echo请求对目标进行是否存活的响应,当目标主机的防火墙阻止这些请求时,可以使用TCP Syn Ping扫描。

    TCP协议是TCP/IP协议族中的面向连接的、可靠的传输层协议,允许发送和接收字节流形式的数据。为了使服务器和客户端以不同的速度产生和消费数据,TCP提供了发送和接收两个缓冲区。TCP提供全双工服务,数据同时能双向流动。通信的每一方都有发送和接收两个缓冲区,可以双向发送数据。

    nmap -PS -v 11.133.171.1-254

    2.4 TCP ACK Ping 扫描

    nmap -PA -v 11.133.171.1-254

    使用 -PA 选项可以进行 TCP ACK Ping 扫描,它与 TCP Syn Ping 是非常类似的,唯一的区别是设置TCP的标志位是ACK而不是SYN,使用这种方式扫描可以探测组织SYN包或ICMP Echo请求的主机。

    2.5 UDP Ping 扫描

    nmap -PU -v 11.133.171.1-254

    -PU 选项是发送一个空的UDP报文到指定端口,如果目标主机响应则返回一个ICMP端口不可达错误,如果目标主机不是存活状态则会返回各种ICMP报错信息。

    2.6 ICMP Ping Types 扫描

    ICMP (Internet Control Message Protocol)是Internet控制报文协议。它是TCP/IP协议族的一个子协议用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些消息虽然并不传输用户数据,但是对于用户数据的传递起着重要作用。

    ICMP Echo 方式扫描

    nmap -PE -v 11.133.171.1-254

    使用ICMP时间戳Ping扫描

    nmap -PP -v 163.com

    使用ICMP地址掩码Ping扫描

    nmap -PM -v 11.133.171.1-254

    2.7 ARP Ping 扫描

    nmap -PR 11.133.171.1-254

    这个选项通常用在扫描局域网时,在本地局域网中防火墙不会禁止ARP请求,这就使它的扫描更加高效。

    地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议,其功能:主机将ARP请求广播到网络上的所有主机,并接收返回消息,确定目标IP地址的物理地址,同时将IP地址和硬件地址存入本机ARP缓存中,下次请求时直接查询ARP缓存。

    三、端口扫描

    端口是指接口电路中的一些寄存器,这些寄存器分别用来存放数据信息、控制信息和状态信息,相应的端口分别称为数据端口、控制端口和状态端口。

    端口状态。NMAP提供了6个端口状态,分别是Open、Closed、Filtered、Unfiltered、Open|Filtered、Closed|Filtered。

    时序选项。NMAP提供了T0-T5几个时序选项,分别是从慢到快的扫描方式。

    3.1 常用扫描方式

    nmap -p 445 11.133.171.1-254
    -p用来指定端口或端口范围。-F选项可以快速的扫描端口,但并不是所有的端口都扫描。NMAP默认是使用随机的顺序对端口进行扫描,使用 -r选项则可以使用排序顺序进行扫描。

    四、服务识别与探测

    Nmap通过Nmap-service可以探测主机的端口,以及该端口对应的服务,甚至可以进一步探索版本号、主机名、设备类型等信息。

    4.1 版本探测

    使用 nmap -sV 11.133.171.141 可以启用版本探测,这并不仅仅是端口探测,而是通过相应的端口对应相应的服务,根据服务指纹识别出相应的版本。

    使用 nmap -sV -A 11.133.171.141 可以看到更加详细的信息和更加直观的方式。

    4.2 操作系统探测

    在网络扫描过程中,对操作系统版本的探测非常重要。最常见的操作系统探测方法是利用TTL也就是数据包的存活时间,不同的操作系统的TTL也是不同的,可以根据这些TTL进行操作系统探测。

    使用 nmap -O 11.133.171.141 可以启用操作系统探测。Nmap在扫描过程中,经常会发送一系列报文,--version-intensity 选项可以为每个报文赋予1-9之间的值,表示扫描时的强度,强度越高准确度越高速度相应就慢,强度越低准确度越低速度就快。

    五、定时扫描

    这里的定时扫描区别于Linux系统的Crontab定时任务,是一系列Nmap提供的可配置的定时选项,通过这些选项我们可加快或者减慢扫描速度,也可以延时、定时扫描,其提供的这些选项更多的是用来逃逸防火墙、IDS(入侵检测系统)。

    并行扫描组。

    放弃缓慢的目标主机。可以通过--host-timeout参数指定对主机的扫描时间。

    nmap --host-timeout 100ms 11.133.171.122

    六、防火墙与IDS

    网络防火墙就是一个位于计算机和它所连接的网络之间的软件(或硬件)。防火墙可以关闭不使用的端口,而且还能禁止特定端口的流出通信。

    IDS是英文“Intrusion Detection Systems”的缩写,意思是入侵检测系统。主要是依照一定的安全策略,通过软件、硬件,对网络、系统的运行状况进行监视,尽可能发现各种攻击企图、攻击行为或攻击结果,以保证网络系统资源的机密性、完整性和可用性。

    6.1 报文分段

    选项 解释
    -f 报文分段
    --mtu number 指定偏移大小
    -D ip,ip,ip RND:number
    -sI 源地址欺骗
    --source-port port-number 源端口欺骗
    --data-length number 指定发包长度
    --randomize-hosts 目标主机随机排序
    --spoof-mac 0 MAC地址欺骗

    七、使用NSE脚本进行信息收集

    NMAP使用--script参数可以调用NSE脚本。

    NMAP的NSE脚本是用Lua程序创作,提供强大的信息搜集功能。

    搜集的信息主要包括:IP信息(地理位置、开放端口)、WHOIS信息、EMAIL信息、IP反查、DNS信息搜集(A记录、CNAME记录等)、系统信息、后台打印机服务漏洞、系统漏洞扫描、WEB漏洞扫描等。

  • 相关阅读:
    Powershell数据处理
    Powershell About Active Directory Group Membership of a domain user
    Powershell About Active Directory Server
    Oracle Schema Objects——Tables——TableStorage
    Oracle Schema Objects——Tables——TableType
    English Grammar
    Oracle Database Documentation
    Oracle Schema Objects——Tables——Oracle Data Types
    Oracle Schema Objects——Tables——Overview of Tables
    What is Grammar?
  • 原文地址:https://www.cnblogs.com/cocowool/p/nmap-notes.html
Copyright © 2011-2022 走看看