zoukankan      html  css  js  c++  java
  • 诸神之眼-Nmap(精版,更新中。。。)

    |>>>简版先附上<<<|

    Nmap基础学习

    语法

    nmap + [空格] + <选项|多选项|协议> + [空格]+ <目标>
    

    nmap  <ip>
    

    可迅速扫出目标端口开放情况

    端口状态

    Open对外开放状态。
    Closed关闭状态(可能一会儿会打开哦)。
    Filtered被防火墙或路由访问规则过滤掉了,也有可能是网络堵塞造成的。
    Unfiltered未被过滤端口可以访问,但不知道端口开放还是关闭。此时可换一种扫描方式。
    Open|Filtered说明探测报文没有得到目标端口的响应。此时可换一种扫描方式。
    Closed|Filtered关闭或过滤,只出现在IPID Idle扫描中。

    全面扫描

    扫描目标的所有端口+目标系统信息

    nmap -A <ip>
    

    扫描指定段

    在内网中用的较多,可以发现局域网下的所有主机目标

    nmap 192.168.1.100-200
    

    扫描结果如下,可以看到有7个主机存活(即在线)。

    主机发现

    目录

    选项 解释
    -sP Ping扫描
    -P0 无Ping扫描
    -PS TCP SYN Ping扫描
    -PA TCP ACK Ping扫描
    -PU UDP Ping 扫描
    -PE;-PP;-PM ICMP Ping Types 扫描
    -PR ARP Ping 扫描
    -n 禁止DNS反向解析
    -R 反向解析域名
    --system-dns 使用系统域名解析器
    sL 列表扫描
    -6 扫描IPv6地址
    --traceroute 路由跟踪
    -PY SCTP INIT Ping

    Ping扫描

    nmap -sP <ip>
    

    只进行Ping,然后返回做出响应的主机

    你可能会觉得和Ping没什么区别,那你感觉对了,哈哈
    如果你想一次性Ping很多主机,参考上面1.扫描指定段

    无Ping扫描

    nmap -P0 <ip>
    

    当防火墙禁止Ping时可以用这个,可避免被防火墙发现

    nmap -P0 【协议1,协议2】<ip>
    

    -P0默认使用协议1,协议2,协议4进行扫描,我们还可以指定协议进行扫描

    ICMP:协议编号1
    IGMP:协议编号2
    TCP:协议编号6
    UDP:协议编号17
    另:如果你想知道只写协议是如何判断主机状态的可以使用 --packet-trace(即namp -P0 --packe-trace

    如我们指定TCP,UDP,IGMP协议项目标发送包

    namp -P06,17,2 www.heihei.work
    

    TCP SYN Ping扫描

    nmap -PS -v www.heihei.work
    

    Nmap默认Ping扫描使用TCP ACK 和 ICMP Echo 请求目标,当请求被主机防火墙阻止时,可使用该方式。

    TCP协议是一种可靠的传输层协议。
    -PS选项发送一个设置SYN标志位的空TCP报文。
    默认端口80(可修改,如-PS22,23,25,11,5,3306,3389 被指定的多个端口会被并发地扫描)

    TCP ACK Ping扫描

    nmap -PA <ip>
    

    它与-PS的唯一区别就是设置TCP标志位时ACK而不是SYN。这样就可应付很多防火墙封锁SYN报文的情况。


    我们也可以同时向目标发送ACK和SYN的报文

    nmap -PA -PS <ip>
    

    额额,发现两次扫描结果不一样就离谱,上图比第一次扫描多扫出来了6个端口!

    UDP Ping 扫描

    nmap -PU -v <ip>
    

    -PU选项是发送一个空的UDP报文到指定端口。目标主机相应则返回一个ICMP端口不可达错误,否则返回各种ICMP错误。

    ICMP Ping Types 扫描

    使用-PE;-PP;-PM;选项可进行ICMP(Internet Control Message Protocol)扫描。

    nmap -PE -v <ip>
    



    上面是ICMP Echo 扫描方式。

    nmap -PM -v <ip>
    


    上面是ICMP 地址掩码Ping扫描

    nmap -PP -v <ip>
    


    上面是ICMP 时间戳Ping扫描

    从上面可以看出不同的扫描方式对不同的防火墙有着不同的效果。

    ARP Ping 扫描

    nmap -PR <ip>
    

    -PR常用于局域网,ARP(Address Resolution Protocol)地址解析协议。

    他的功能是将ARP请求广播到网络上的所有主机,接收返回的信息从而确定目标的IP地址,记录IP地址和硬件地址到ARP缓存中,下次直接使用。

    扫描列表

    nmap -sL <ip>
    


    他只会列出IP列表,如果IP对应的有他的域名也会被列出(即反向域名解析)。敢觉这个功能挺鸡肋的

    禁止反向域名解析

    nmap -n -sL <ip>
    

    -n和上一个的区别就是不列出域名。

    反向域名解析

    nmap -R -sL <ip>
    

    列出IP对应有域名的目标域名。

    使用系统域名解析器

    nmap --system-dns <ip1> <ip2>
    

    多个请求并发执行可以提高性能。

    扫描一个IPv6地址

    nmap -6 <ip>
    

    IPv6(Internet Protocol Version 6),它设计用于替代当前IPv4版本。

    路由跟踪

    nmap --traceroute -v <ip>
    



    --traceroute 可以查出从本地到目标之间所经过的网络节点,及经过这些节点的时间。
    默认使用主机配置的域名服务器域名解析,用该选项后会使用系统自带的解析器。

    SCTP INIT Ping 扫描

    nmap -PY -v <ip>
    


    通过发送INIT包判断主机是否存活。

    SCTP(Stream Control Transmission Protocol)流控制传输协议,SCTP可看做是传输层协议,可看做TCP协议的改进版。

    探索网络

    目录

    选项 解释
    -T 时序选项
    -p 端口扫描顺序
    -sS TCP SYN 扫描
    -sT TCP连接扫描
    -sU UDP扫描
    -sN;-sF;-sX 隐蔽扫描
    -sA TCP ACK 扫描
    -sW TCP 窗口扫描
    -sM TCP Maimon 扫描
    --scanflags 自定义TCP扫描
    -sI 空闲扫描
    -sO IP协议扫描
    -b FTP Bounce扫描

    时序选择(扫描速度选择,一般我们使用-T4)

    -T0非常慢,可IDS逃避。
    -T1缓慢,可IDS逃避。
    -T2有点慢,降低速度以减缓宽带的消耗。
    -T3默认,根据目标反应自动调整时间
    -T4快速,需要良好的网络环境,请求可能淹没目标。
    -T5急速,牺牲准确度以提高扫描速度。

    IDS:入侵检测系统

    0.027s果然很快,哈哈

    常用扫描方式

    -p指定端口

    nmap -p 445 <ip>
    

    -p指定端口范围

    nmap -p 445~1000 <ip>
    

    -p指定不同类型端口(以同时扫描TCP,UDP为例)

    nmap -p T:111 ,U:445 <ip>
    



    -F快速扫描部分端口

    namp -F <ip>
    


    --top-ports开放概率最高的1000个端口

    nmap --top-ports <number> <ip>
    

    如我们扫描概率最高的200个端口。

    --port-ratio开放概率高于一定数值的端口

    nmap --top-ports <0~1> <ip>
    

    TCP SYN 扫描

    nmap -sS <ip>
    

    较为隐蔽,不完成三次握手避免被主机发现。

    TCP 连接扫描

    namp -sT <ip>
    

    用于SYN扫描(-sS)不能使用时。

    UDP 扫描

    nmap -sU <ip>
    

    一种很慢的扫描方式(所以通常加上-p 80-100来指定端口范围),通常被管理员和安全审核人员忽略。

    隐蔽扫描

    -sNNULL扫描,发送非常规的TCP包探测。
    -sFFIN扫描,发送FIN包比TCP FIN更隐蔽穿透效果更好。
    -sXXmas扫描,数据包FIN,PSH,URG标记位打开即标志为1.

    nmap -sN <ip>
    

  • 相关阅读:
    GTK+ 3.6.2 发布,小的 bug 修复版本
    RunJS 新增 Echo Ajax 测试功能
    Mozilla 发布 Popcorn Maker,在线创作视频
    Sina微博OAuth2框架解密
    Mina状态机State Machine
    Mozilla 发布 Shumway —— 纯JS的SWF解析器
    Code Browser 4.5 发布,代码浏览器
    ROSA 2012 "Enterprise Linux Server" 发布
    ltrace 0.7.0 发布,程序调试工具
    Artifactory 2.6.5 发布,Maven 扩展工具
  • 原文地址:https://www.cnblogs.com/hugboy/p/nmap.html
Copyright © 2011-2022 走看看