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>
    

  • 相关阅读:
    Linux下PATH和LD_LIBRARY_PATH的设置
    WAMP配置虚拟目录
    JDBC使用Demo
    JS点击子元素不触发父元素点击事件(js阻止冒泡)
    jquery页面搜索关键词突出显示
    .net 搜索联想词
    .Net后台调用js,提示、打开新窗体、关闭当前窗体
    Jquery实现按钮点击遮罩加载,处理完后恢复
    Sys.WebForms.PageRequestManagerParserErrorException:无法分析从服务器收到的消息
    Asp.net 后台调用js方法
  • 原文地址:https://www.cnblogs.com/hugboy/p/nmap.html
Copyright © 2011-2022 走看看