精华内容
下载资源
问答
  • nmap查找网络设备

    2019-10-29 16:03:45
    ping类型: -sL,不做扫描,只进行DNS解析 -sP ping扫描默认发ICMP,echo请求和tcp的Ask请求80端口 -PN 不用ping扫描 -PS<端口号>SYN扫描,默认80 -PA<端口列表>ASK扫描,默认80 ...其他设置项:...

    ping类型:

    -sL,不做扫描,只进行DNS解析
    -sP ping扫描默认发ICMP,echo请求和tcp的Ask请求80端口
    -PN 不用ping扫描
    -PS<端口号>SYN扫描,默认80
    -PA<端口列表>ASK扫描,默认80
    -PU<端口列表>UDP扫描,默认31338
    -PO<协议列表>ip协议ping
    -PR arp扫描

    其他设置项:

    –traceroute 路径跟踪
    -n 不做DNS解析
    -R DNS解析所有地址,默认不解析不在线的IP
    –system-dns 使用系统DNS解析
    –dns-services 使用其他DNS

    展开全文
  • Nmap

    2021-04-13 13:50:21
    nmap可以用来查找目标网络中的在线主机。默认情况下nmap通过icmp回应请求,向443端口发送TCP SYN包,向80端口发送TCP ACK包和icmp时间戳请求方式发现目标主机服务/版本 nmap发现端口后,可以进一步检查服务协议,...

    Nmap

    Nmap简单介绍

    1. nmap是一个综合,功能全面的端口扫描工具
    2. nmap可以用来查找目标网络中的在线主机。默认情况下nmap通过icmp回应请求,向443端口发送TCP SYN包,向80端口发送TCP ACK包和icmp时间戳请求方式发现目标主机服务/版本
    3. nmap发现端口后,可以进一步检查服务协议,应用程序名称,版本号,主机名,设备类型和操作系统信息。
    4. 操作系统识别,nmap向远程主机发送系列数据包,并检查回应,然后与操作系统指纹数据库进行比较,并打印出匹配结果的细节。
    5. List item

    Nmap的简单使用

    1. 扫描指定端口
      nmap -sS -p 1-65535 -v 192.168.1.106表示半开扫描,扫描端口为1到165535,并且显示扫描过程。
    参数说明
    -sTTCP connect()扫描,这种方式会在目标主机的日志中记录大批连接请求和报错信息
    -sS半开扫描,很少有系统能够把它记入系统日志。不过,需要root权限
    -sF -sN秘密FIN数据包扫描,Xmas-Tree,Null扫描模式
    -sPping扫描,Nmap在扫描端口时,默认都会使用ping扫描,只有主机存活,Nmap才会继续扫描
    -sUUDP扫描,但是UDP扫描不可靠
    -sA这项高级扫描方法通常用来穿过防火墙的规则集
    -sV扫描端口服务版本
    -P0扫描之前不需要用ping命令,有些防火墙进制用ping命令,可以使用此选项进行扫描
    -v显示扫描过程。推荐使用
    -h帮助选项
    -p指定端口
    -O启用远程操作系统检测。存在误报
    -A全面系统检测,启用脚本检测,扫描等
    -oN/-oX/-oG将报告写入文件中。分别是正常,XML,grepable三种格式
    -T4针对TCP端口禁止动态扫描延迟超过10ms
    -iL读取主机列表,例如“:"-iL C:\ip.txt"
    1. 扫描C段存活主机
      nmap -sP www.baidu.com/24
    2. 指定端口扫描
      nmap -p 80,1433,22,1521 www.baidu.com
    3. 探测主机操作系统
      nmap -o www.baidu.com
    4. 全面的系统探测
      nmap -v -A www.baidu.com
    5. 穿过防火墙进行扫描
      nmap -Pn -A www.baidu.com

    Nmap脚本引擎

    Nmap不仅用于端口扫描,服务检测,还有很多强大的引擎。

    1. 扫描Web敏感目录
      nmap -p 80 --script=http-enum.nse www.baidu.com
    2. 扫描SqlInjection
      nmap -p 80 --script=http-sql-injection.nes www.baidu.com
    3. 使用所有脚本进行扫描
      nmap --script all 127.0.0.1使用时间非常长
    4. 使用通配符扫描
      nmap --script "http-*"127.0.0.1使用以http-开头的脚本。
    展开全文
  • nmap

    2019-10-02 04:24:59
    nmap nmap [ <Scan Type> ...] [ <Options> ] { <target specification> } 版本:nmap-7.70-1.x86_64.rpm 命令行格式:https://svn.nmap.org/nmap/docs/nmap.usage.txt(总是最新) 目标格式 nmap...

    nmap

    nmap [ <Scan Type> ...] [ <Options> ] { <target specification> }

    版本:nmap-7.70-1.x86_64.rpm

    命令行格式:https://svn.nmap.org/nmap/docs/nmap.usage.txt(总是最新)

    目标格式

    nmap命令行中中除了选项或选项参数其余均为目标主机格式。

    TARGET SPECIFICATION:
      Can pass hostnames, IP addresses, networks, etc.
      Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254
      -iL <inputfilename>: Input from list of hosts/networks
      -iR <num hosts>: Choose random targets
      --exclude <host1[,host2][,host3],...>: Exclude hosts/networks
      --excludefile <exclude_file>: Exclude list from file

    当扫描目标是hostname时nmap会通过DNS解析地址。如果不特别指出--resolve-all选项nmap只会对NDS返回的第一个IP地址进行扫描。(通常一个域名对应多个IP地址是用来做负载的例如大型门户网站会根据用户的网络联通、电信、移动等返回访问最快的站点)

    • CIDR-style addressing:www.baidu.com/24或者123.125.115.110/24(包括网络号和广播地址)

    • 192.168.0-255.1-254

    • 192.168.3-5,7.1(192.168.3.1, 192.168.4.1, 192.168.5.1, 192.168.7.1)

    • 可以使多个目标组合192.168.0-255.1-254 192.168.3-5,7.1(IP条目可以使命令行中可以接受的格式,每个条目必须用一个或多个空格,制表符或换行符分隔)

    • -iL (Input from list) 指定要从文件中的目标列表,文件中可以有#开头和结尾的注释

    • -iR (Choose random targets) 随机生成num hosts个主机IP(自动去除私有,组播和一些未分配的地址)

      nmap -n -iR 10 -sL | cut -d" " -f 5 >nmap_random_target.txt 不过需要整理一下文件开头和结尾

      832936-20190924114041467-164996200.png

    无聊了可以查看一些开了web服务的网站 nmap -Pn -sS -p 80 -iR 0 --open

    • --exclude [,[,...]] (Exclude hosts/networks) 指定要从扫描中排除的以逗号分隔的目标列表
    • --excludefile (Exclude list from file) 指定要从扫描中排除的文件中的目标列表,文件中可以有#开头和结尾的注释

    主机发现

    由于扫描端口的速度并不快,所以主机发现步骤是必要的。当然这个也取决于你的角色定位或任务目标,网络管理员可能只对运行某项服务的主机感兴趣,或者你在做资产发现。比如我曾经做过一个全端口扫描主机发现的项目,总公司怕分公司隐瞒资产同时规避掉主机扫描出漏洞。

    主机发现在namp中有时候叫ping扫秒,所以大部分的主机发现过程中的端口扫描选项以P开头(猜的( ̄▽ ̄)")

    HOST DISCOVERY:
      -sL: List Scan - simply list targets to scan
      -sn: Ping Scan - disable port scan
      -Pn: Treat all hosts as online -- skip host discovery
      -PS/PA/PU/PY[portlist]: TCP SYN/ACK, UDP or SCTP discovery to given ports
      -PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes
      -PO[protocol list]: IP Protocol Ping
      -n/-R: Never do DNS resolution/Always resolve [default: sometimes]
      --dns-servers <serv1[,serv2],...>: Specify custom DNS servers
      --system-dns: Use OS's DNS resolver
      --traceroute: Trace hop path to each host

    如果没有给出主机发现选项,nmap发送ICMP echo request请求,443端口TCP SYN数据包,80端口TCP ACK数据包和一个ICMP timestamp request。相当于默认值-PE -PS443 -PA80 -PP

    对于没有特殊权限的unix shell用户默认探测是connect调用

    nmap -sn 192.198.99.1

    832936-20190924114058528-2040058591.png

    • -sL (List Scan)

      简单地列出指定的每个网络主机,而不向目标主机发送任何数据包。默认情况下,Nmap仍在主机上执行反向DNS解析以了解其名称。

    • -sn (No port scan)旧版本为-sP

      此选项仅做主机发现不做后续的端口扫描和-P*组合使用(不包括-Pn(跳过主机发现,直接端口扫描))

    • -Pn (No ping)

      跳过主机发现直接执行端口扫描

    • -PS (TCP SYN Ping)

      原理:TCP三次握手

      此选项发送一个设置了SYN标志的空TCP数据包(默认80端口),-PS22和-PS22-25,80,113,1050,35000。

      端口open返回SYN+ACK,为正常TCP三次握手第二步,然后运行nmap主机内核返回RST终止正在进行的连接以响应意外的SYN / ACK,而不是由Nmap本身。端口关闭返回RST数据包。

    832936-20190924114111245-216505031.png

    • -PA (TCP ACK Ping)

      原理:对于一条不存在的连接,发送ACK包会直接返回RST中断这条请求。

    ACK ping假装存在一个established TCP connection,但是这个连接并不存在,目标主机端口开放或关闭都会返回一个RST数据包。此选项并不能判断端口状态,不过若是返回RST则表明主机是存活的。

    ACKping对绕过无状态防火墙有些用处,像Linux主机防火墙iptables/netfilter的--syn选项过滤(若--state则类似于状态防火墙)。

    若防火墙为状态防火墙stateful firewall会直接丢弃这类没有存在它的会话表中的怪异连接。

    ps:我见过的企业就没发现过无状态防火墙,都是有状态的。而且都是遵循最小化原则,你要什么端口开什么端口,最后再来个默认拒绝(T_T)。

    无回复版本

    832936-20190924114121032-902509069.png

    有回复(端口开启或关闭都会返回RST)

    832936-20190924114131636-147499548.png

    • -PU (UDP Ping)

      原理:向一台没有开启对应端口的UDP数据包,返回一个ICMP destination port unreachable消息。

      默认向目标主机发送 UDP 端口40125(极不可能开启的端口)。

      关于paloads:数据包内容也可能受--data, - data-string和--data-length选项的影响。(the section called “UDP payloads: nmap-payloads

    832936-20190924114159330-2140433906.png

    这种状态防火墙后面的默认拒绝的鸟你都不会鸟。

    832936-20190924114309124-1397929594.png

    • -PY (SCTP INIT Ping)

      SCTP除了电信运营商专网可能再用一般的企业不会用,我对协议也不了解,略过。

    • -PE; -PP; -PM (ICMP Ping Types)

      ICMP echo, timestamp, and netmask request ping回声请求时间戳请求,子网掩码请求

      一般商用防火墙都能准确定义允许什么样的ping可以回复

    832936-20190924114324017-1483440723.png

    832936-20190924114332686-161542177.png

    • -PO (IP Protocol Ping)

      IP协议ping,没有指定协议的话默认发送 IP packets for ICMP (protocol 1), IGMP (protocol 2), and IP-in-IP (protocol 4)

    832936-20190924114342248-1358210510.png

    • -PR (ARP Ping)

      当给定目标地址为本地网络的时候默认进行ARP扫描,这个比ICMP准确的多,一般的主机自带防火墙可能默认屏蔽icmp请求但是ARP请求一般肯定会回复(禁用用--send-ip)

      对于IPV6来说-PR用邻居发现协议。

      如果你本机上有目标主机ARP缓存也会发送ARP请求数据包,测试了。

      这玩意不太好实验,没有两台实体机,一用arp -d 就重新请求,还好我聪明想到了用不存在主机测试一下。

    832936-20190924114354446-9854150.png

    • --disable-arp-ping (No ARP or ND Ping)

      禁用IPV4的ARP和IPV6的neighbor discovery

    • --traceroute (Trace path to host)

      多目标主机做traceroute

    • -n (No DNS resolution)

      不进行地址解析。IP地址反向解析

    • -R (DNS resolution for all targets)

      对判定存活主机进行地址解析,IP地址反向解析

    832936-20190924114404443-1662798443.png

    • --resolve-all (Scan each resolved address)

      有点诡异的是这个参数按照字面理解应当是对所有扫描的地址不管主机存不存活都进行反向地址解析,但是它的实际意思是对给定的域名,返回超过两个多个IP地址的全部进行扫描。

      更加诡异的是我在man手册和官网的最新man手册中都没有这个选项说明也用不了。

    • --system-dns (Use system DNS resolver)

      默认情况下,Nmap通过将查询直接发送到主机上配置的名称服务器,然后侦听响应来反向解析IP地址。许多请求(通常是几十个)是并行执行的。

      指定此选项以改为使用系统解析程序(通过getnameinfo调用一次一个IP)。这种情况较慢且很少有用。系统解析器始终用于正向查找(从主机名获取IP地址)。

    • --dns-servers [,[,...]] (Servers to use for reverse DNS queries)

      使用多个NDS服务器可能更快一些,并且隐秘一些。但此选项更多用途用于扫描专用网络可以确认53端口开放主机,然后每次使用一个dns地址来扫描。

    832936-20190924114424194-513972719.png

    端口扫描

    -sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans
      -sU: UDP Scan
      -sN/sF/sX: TCP Null, FIN, and Xmas scans
      --scanflags <flags>: Customize TCP scan flags
      -sI <zombie host[:probeport]>: Idle scan
      -sY/sZ: SCTP INIT/COOKIE-ECHO scans
      -sO: IP protocol scan
      -b <FTP relay host>: FTP bounce scan

    通用选项格式是-s,是能代表某一类扫描的突出字符如-sU,U代表UDP

    状态详细的参数说明
    Open端口开启,数据有到达主机,有程序在端口上监控
    Closed端口关闭,数据有到达主机,没有程序在端口上监控
    Filtered数据没有到达主机,返回的结果为空,数据被防火墙或者是IDS过滤(正常来说会有回应)
    UnFiltered数据有到达主机,但是不能识别端口的当前状态,只有用于映射防火墙规则集的ACK扫描会将端口分类为此状态,
    Open|Filtered端口没有返回值,主要发生在UDP、IP、FIN、NULL和Xmas扫描中
    Closed|Filtered只发生在IP ID idle扫描

    使用nmap的障碍是你得正确选择合适的扫描选项。

    • -sS (TCP SYN scan)

      half-open半开扫描,利用TCP三次握手过程。没有被过滤的话肯定有回应。

      nmap目标主机nmap状态
      SYNSYN+ACKRSTopen
      SYNRSTclosed
      SYN多次重传无回应filtered
      SYNICMP unreachable error (type 3, code 0, 1, 2, 3, 9, 10, or 13)filtered
      SYNSYNopen参考https://nmap.org/misc/split-handshake.pdf
    • -sT (TCP connect scan)

      SYN scan没有设置或不是特权用户默认用此设置。

      nmap目标主机nmap状态
      SYNSYN+ACKACKopen
      SYNRSTclosed
      SYN多次重传无回应filtered
      SYNICMP unreachable error (type 3, code 0, 1, 2, 3, 9, 10, or 13)filtered
      SYNSYNopen参考https://nmap.org/misc/split-handshake.pdf
    • -sU (UDP scans)

      DNS, SNMP, and DHCP (registered ports 53, 161/162, and 67/68)是最常用的UDP服务端口。特点:慢

    nmap目标主机状态
    UDPUDPopen
    UDPICMP port unreachable error (type 3, code 3)closed
    UDPICMP unreachable error (type 3, code 0, 1, 2, 3, 9, 10, or 13)filtered
    UDP多次重传无回应open|filtered

    832936-20190924114454423-1536533207.png

    DNS回应的是不支持状态查询,另外的ICMP port unreachble说明这个UDP 53的调用不是系统发出的源端口没有打开。

    • -sY (SCTP INIT scan)

      略过

    • -sN; -sF; -sX (TCP NULL, FIN, and Xmas scans)

      RFC793 page 65 不包含RST置位的包来到一个close端口返回一个RST,不包含SYN、RST或ACK置位的包来到open端口则丢弃该包,不返回任何东西。

      Null scan (-sN)

      TCP flag header 0x0不设置标志位

      FIN scan (-sF)

      FIN置位

      Xmas scan (-sX)

      FIN, PSH, and URG置位

      总之这几个选项没什么用,状态防火墙专治这种花里胡哨的。能用他们确定的SYN扫描也能更好的确定,不能用他们确定的别的可能还有点希望。

      另外Microsoft Windows, many Cisco devices, BSDI, and IBM OS/400不遵循这个RFC。可以用他们探测操作系统,但是还是有更好的操作系统探测手段。总之鸡肋。

      nmap目标主机状态
      TCP NULL, FIN, and Xmas无回应(重传两次)open|filtered
      TCP NULL, FIN, and XmasRSTclosed
      TCP NULL, FIN, and XmasICMP unreachable error (type 3, code 0, 1, 2, 3, 9, 10, or 13)filtered
    • -sA (TCP ACK scan)

      ACK置位,这个选项不能确定端口开放或者关闭(因为端口open或者close都会返回RST)

      状态防火墙所有的都不能通过,也不能映射防火墙规则集。

      关于用它映射过滤集,对应的是无状态防火墙(iptables --syn)和交换机ACL这种未过滤端口ACK允许通过标记为unfiltered,过滤端口不允许通过标记为unfiltered。(未实验验证)

      这种扫描用在内网好一点,因为现在还有内网中不同区域用交换机ACL访问控制的,要是出口防火墙一般都是状态防火墙什么都不会回复,除了设置ICMP应答的。云上环境访问控制不太了解。

      nmap目标主机状态
      ACK无回应(重传两次)filtered
      ACKRSTopen
      ACKICMP unreachable error (type 3, code 0, 1, 2, 3, 9, 10, or 13)filtered

      状态防火墙(要是sS扫描80端口会回应)

    832936-20190924114510276-1808377217.png

    • -sW (TCP Window scan)

      有的操作系统,用的ACK置位探测,RST返回的window size端口开size正,端口关闭size为0。不过我试了两种系统都不太管用。还有的连端口过滤没过滤都确定不了(涉及到上面的-sA扫描)。80开,443关闭。都返回的window seze 0 我的是路由器基于linux。
      832936-20190924114521350-506270552.png

    • -sM (TCP Maimon scan)

      略过

    • --scanflags (Custom TCP scan)

      定制TCP标志位扫描。

    • -sZ (SCTP COOKIE ECHO scan)

      略过

    • -sI [:] (idle scan)

      暂时搞不懂

    • -sO (IP protocol scan)

      基于IP的协议扫描(TCP、UDP和ICMP等)

      控制的是IP的协议号字段
      832936-20190924114533588-405844540.png

    • -b (FTP bounce scan)

      略,实现很麻烦,而且现在大部分都不支持了。

    端口扫描总结

    扫描公网IP遇到状态防火墙的时候只用 -sS -sT -sU,其他的都不太管用。

    端口说明和扫描顺序

    默认情况下Nmap会扫描每个协议最常见的1000个端口。

    • -p (Only scan specified ports)

      特别说明-p只适用于端口扫描,主机发现的直接加到选项后面如

      nmap -PS 80,443 -sS -p 80,443 192.168.99.1

      指定端口选项会覆盖默认端口扫描

      格式:443 443-445 -p-扫描1-65535

      特别需要说明的是协议扫描-sO 对应的-p指的是协议号0-255

      T: for TCP, U: for UDP, S: for SCTP, or P: for IP

      -p U:53,111,137,T:21-25,80,139,8080会扫描对应的TCP和UDP端口不过需要加上-sU和任意一种TCP扫描选项。如nmap -sU -sY -p U:53,111,137,T:21-25,80,139,8080 8.8.8.8

      还可以用nmap-services对应的协议名指定端口。协议名支持通配符和? 如-p ftp,http

    • --exclude-ports (Exclude the specified ports from scanning)

      排除要扫描的端口号或协议号。不仅是扫描,发现阶段也不会扫描这些端口

    • -F (Fast (limited port) scan)

      扫描常见的100个端口而不是1000个

      自定义nmap-services映射文件用--datadir

    • -r (Don't randomize ports)

      按顺序发送端口扫描包

    • --port-ratio <decimal number between 0 and 1>

      按照比率扫描nmap-services文件中的端口

    • --top-ports

      扫描nmap-services中的前n个端口

    服务和版本探测

    原理: https://nmap.org/book/vscan.html

    nmap-service-probes 数据库包含查询不同服务的探测报文 和解析识别响应的匹配表达式

    确定TCP或UDP端口open的时候指定了版本探测,nmap会进行版本探测。

    • -sV (Version detection)

      -A同时打开操作系统探测和版本探测,最新版本-sR合并了

      可以看到GET / HTTP/1.0 要是在waf后面这种不符合http规范的可能被拦截掉。

    832936-20190924114556952-791032687.png

    • --allports (Don't exclude any ports from version detection)

      默认情况下,Nmap版本探测会跳过9100 TCP端口,因为一些打印机简单地打印送到该端口的 任何数据,这回导致数十页HTTP get请求,二进制 SSL会话请求等等被打印出来。这一行为可以通过修改或删除nmap-service-probes 中的Exclude指示符改变, 您也可以不理会任何Exclude指示符,指定--allports扫描所有端口

    • --version-intensity (Set version scan intensity)

      当进行版本扫描(-sV)时,nmap发送一系列探测报文 ,每个报文都被赋予一个1到9之间的值。 被赋予较低值的探测报文对大范围的常见服务有效,而被赋予较高值的报文 一般没什么用。强度水平说明了应该使用哪些探测报文。数值越高, 服务越有可能被正确识别。 然而,高强度扫描花更多时间。强度值必须在0和9之间。 默认是7。当探测报文通过nmap-service-probes ports指示符 注册到目标端口时,无论什么强度水平,探测报文都会被尝试。这保证了DNS 探测将永远在任何开放的53端口尝试, SSL探测将在443端口尝试,等等。

    • --version-light (Enable light mode)

      轻量级版本探测, --version-intensity 2的别名

    • --version-all (Try every single probe)

      --version-intensity 9别名,保证对每个端口尝试每个探测报文。

    • --version-trace (Trace version scan activity)

      nmap --send-ip -n -Pn -sV --version-trace -sU -p U:53 192.168.99.1
      832936-20190924114615084-1196260028.png

    832936-20190924114624042-1668254795.png

    操作系统检测

    • -O (Enable OS detection)

      开启操作系统探测,另外-A开启操作系统和服务版本探测。

    • --osscan-limit (针对指定的目标进行操作系统检测)

      如果发现一个打开和关闭的TCP端口时,操作系统检测会更有效。 采用这个选项,Nmap只对满足这个条件的主机进行操作系统检测,这样可以节约时间,必须配合-A或-O使用。

    防火墙/IDS逃避和哄骗

    • -f (fragment packets); --mtu (using the specified MTU)

      -f选项要求扫描时(包挺ping扫描)使用小的IP包分片。其思路是将TCP头分段在几个包中,使得包过滤器、 IDS以及其它工具的检测更加困难。

      对于IP分片至少华为的安全产品会默认开启IP报文虚拟分片重组功能。至于超时的处理情况并未说明,而且IP分片也有两种情况,正常的IP分片不会像下面我这种第三个包重组完才能知道TCP的目标端口,因为加上IP头才28字节,所以不可能绕过状态防火墙过滤的端口。第二种IP分片是UDP和ICMP常发生的应用层给的数据太长超过MTU才会分片,TCP不太可能发生这种情况,因为三次握手阶段就会协商MSS。除非中间套了好多层用了GRE,IPSEC等。
      832936-20190924114638057-908389419.png

      需要说明的是IP分片可以造成网络攻击,好比防火墙对一个公网IP开通了80端口访问我强行将MTU设置的很小,HTTP报文很长的话这种就会造成检测设备的长时间等待重组会消耗很多内存,一般的串在链路当中并且做检测的只有IPS这种流式引擎设备了。但是网上的资料IP分片攻击主要指的是ICMP和UDP,例如ping of death不过老系统才会被这种数据包攻击。

    • -D [,][,ME][,...] (Cloak a scan with decoys 诱饵)

      诱饵扫描,为了使目标主机不容易判断真实的扫描地址,将自己的真实IP混在大量的扫描之中可以用诱饵选项,当然诱饵主机最好存活,要不然只有你的包是和目标主机交互的,深入扫描也容易判断出真实的扫描地址。当然,这种方式可以通过路由跟踪、响应丢弃以及其它主动机制来发现真实IP。

      使用逗号分隔每个诱饵主机,也可用自己的真实IP作为诱饵,这时可使用 ME选项说明。如果在第6个位置或 更后的位置使用ME选项,一些常用 端口扫描检测器(如Solar Designer's excellent scanlogd)就不会报告 这个真实IP。如果不使用ME选项,Nmap 将真实IP放在一个随机的位置。对版本探测等无效。

      因为我这是局域网而且127,128不存活所以比正常包少点。
      832936-20190924114651336-1337049757.png

    • -S (Spoof source address)

      如果你有多个网卡可以用-S指定发包的网卡,另外这个选项可以伪造原地址,并且你的真实地址不会产生包,可以伪装成别的地址在扫描目标地址。另外更多的作用想得多的可以发现,我就不多说了。如果要用假的源地址需要配合-e和-Pn使用指定一个接口,并且这种对主机发现阶段没用所以要用-Pn而且最后nmap给的报告就不用看了。

    832936-20190924114703643-2035425169.png

    • -e (Use specified interface)

      指定发包网卡

    • --source-port ; -g (Spoof source port number)

      一个公网IP的数据包要主动进入内网有几个关口要过,状态防火墙规则允许,有对应nat规则。nat和防火墙都会建立会话表。伪装源端口也不太管用。但是有的防火墙管理员规则设定的很烂,有的公网IP开了几个端口,有的全开放。有的甚至将源端口为53的DNS会话全放过。不妨测一测。

      五元组:源IP地址、目的IP地址、协议号、源端口、目的端口

    • --ttl (Set IP time-to-live field)

      设置TTL字段值

    输出

    重点是XML输出,可以标准的被其他程序或语言解析

    • -oN (normal output)

      将命令行输出结果保存到文件中

    • -oX (XML output)

      输出成XML格式文件

    832936-20190924114716002-135206009.png

    • -oG (grepable output)

      适合于grep cut awk之类程序,这种格式化的方便检索。

    • -oA (Output to all formats)

      为使用方便,利用-oA选项 可将扫描结果以标准格式、XML格式和Grep格式一次性输出。分别存放在 .nmap,.xml和 .gnmap文件中。也可以在文件名前 指定目录名,如在UNIX中,使用~/nmaplogs/foocorp/, 在Window中,使用c:\hacking\sco on Windows。

    • -v (Increase verbosity level) , -v (Set verbosity level)

      提高输出详细级别,有的时候nmap并不能做出准确判断,这样测试者可以自行找到一些容易忽视的信息。

    • -d (Increase debugging level) , -d (Set debugging level)

      输出一些比-v更详细的信息(调试信息)

    • --reason (Host and port state reasons)

      显示端口状态或主机存活或不存活原因

    832936-20190924114734004-920228460.png

    • --packet-trace (Trace packets and data sent and received)

      跟踪每一个nmap发出去的包,接收到的包,有助于理解nmap工作方式。

      --version-trace显示版本跟踪细节

      --script-trace脚本细节

      --packet-trace上面的两个都包括

    • --open (Show only open (or possibly open) ports)

      只显示open的端口

    • --iflist (List interfaces and routes)

      输出网卡列表和路由信息
      832936-20190924114745412-314996817.png

    • --append-output (Append to rather than clobber output files)

      将输出结果追加到文件支持oN oG不支持oX

    • --resume (Resume aborted scan)

      如果扫描过程中中断如ctrl+c可以继续之前的扫描,好多漏洞扫描工具利用它实现暂停功能。支持oN oG 不支持oX输出的文件

    其他

    • -6 (Enable IPv6 scanning)

      使能IPV6扫描

    • -A (Aggressive scan options)

      启用大部分常用的扫描内容,目前包括

      -O操作系统扫描

      -sV版本扫描

      -sC脚本扫描

      --traceroute路由跟踪

    • --datadir (Specify custom Nmap data file location)

      指定数据文件存放位置(注意不是输出)nmap-service-probes, nmap-services, nmap-protocols, nmap-rpc, nmap-mac-prefixes和 nmap-os-fingerprints

    不是结束的结束

    对于没有网络经验的人最好还是找一本书而不是官方手册来看,很困难。其中有的选项没记录有的我认为没什么用,有的现阶段不会用到,有的理解不能。不过大部分都记录了。另外我想起来一个python的namp库(python-nmap),简单、实用。对于做运维自动化的很有意思。

    另外扫描器还有zmap,masscan。这些具体的区别还没研究。http://www.91ri.org/10800.html

    另外基于这些扫描器的资产收集或者说内网zoomeye开源版实现

    基于Python的网络侦查框架 – IVRE

    支持主动侦查和被动侦查

    介绍

    https://www.freebuf.com/sectool/74083.html

    官网

    https://ivre.rocks/

    下次研究这个。

    转载于:https://www.cnblogs.com/wan-xiang/p/11577530.html

    展开全文
  • Conficker主要利用Windows操作系统MS08-067漏洞来传播,同时也能借助任何有USB接口的硬件设备来感染,在2008年被发现,并在微软的MS08-067补丁中被修复。但直到如今,仍有不少局域网中发现有Downadup蠕虫病毒感染,...

    1、 Downadup/Conficker

    Conficker主要利用Windows操作系统MS08-067漏洞来传播,同时也能借助任何有USB接口的硬件设备来感染,在2008年被发现,并在微软的MS08-067补丁中被修复。但直到如今,仍有不少局域网中发现有Downadup蠕虫病毒感染,有些杀毒软件仍然不给力,无法找到病毒源头,导致在某些机器上不断地重复发现Downadup报告,但无法删除。

    2 、Nmap脚本引擎smb-check-vulns.nse

    Nmap提供了强大的脚本引擎(NSE),以支持通过Lua编程来扩展Nmap的功能。除了常见的主机发现、端口扫描等功能外,脚本引擎扩展了其他更加多样化的功能,如检查常见的漏洞信息以及本片文章提到的检查蠕虫感染功能。

    smb-check-vulns脚本的介绍和源码下载可以在nmap.org官网上获得:

    http://nmap.org/nsedoc/scripts/smb-check-vulns.html

    smb-check-vulns脚本可以查看以下漏洞:

    MS08-067, a Windows RPC vulnerability

    Conficker, an infection by the Conficker worm

    Unnamed regsvc DoS, a denial-of-service vulnerability I accidentally found in Windows 2000

    SMBv2 exploit (CVE-2009-3103, Microsoft Security Advisory 975497)

    MS06-025, a Windows Ras RPC service vulnerability

    MS07-029, a Windows Dns Server RPC service vulnerability

    其中关于Conficker的检查,mnap是基于以下的这个Conficker扫描器

    http://net.cs.uni-bonn.de/wg/cs/applications/containing-conficker

    3、 Nmap扫描实例

    此工具用来检测远程可疑源的具体使用命令如下:

    nmap -PN -T4 -p139,445 -n -v --script smb-check-vulns,smb-os-discovery--script-args safe=1 [targetnetworks]

    如:

    nmap -PN -T4 -p139,445 -n -v --script smb-check-vulns, smb-os-discovery--script-args safe=1 100.10.1.*

    方便起见,可以将其导出到一个文件中:

    nmap -PN -T4 -p139,445 -n -v --scriptsmb-check-vulns,smb-os-discovery --script-args safe=1 [targetnetworks] >nmap_result.log

    从日志里面找关键字,可以确定病毒源的位置。

    Host 172.30.160.22 is up (0.00s latency).

    Interesting ports on 172.30.160.22:

    PORT STATE SERVICE

    139/tcp open netbios-ssn

    445/tcp open microsoft-ds

    MAC Address: 00:E0:4C:1E:22:B8 (RealtekSemiconductor)

    Host script results:

    | smb-os-discovery: Windows XP

    | LAN Manager: Windows 2000 LAN Manager

    | Name: WORKGROUP\WH013

    |_ System time: 2009-12-21 17:10:57 UTC+8

    | smb-check-vulns:

    | MS08-067: CHECK DISABLED (remove 'safe=1'argument to run)

    | Conficker: UNKNOWN; not Windows, orWindows with disabled browser service (CLEAN); or Windows with crashed browserservice (possibly INFECTED).

    | | If you know the remote system isWindows, try rebooting it and scanning

    | |_ again. (ErrorNT_STATUS_OBJECT_NAME_NOT_FOUND)

    |_ regsvc DoS: CHECK DISABLED (add'--script-args=unsafe=1' to run)

    Host 172.30.160.40 is up (0.00s latency).

    Interesting ports on 172.30.160.40:

    PORT STATE SERVICE

    139/tcp open netbios-ssn

    445/tcp open microsoft-ds

    MAC Address: 00:16:76:A8:D4:1F (Intel)

    Host script results:

    | smb-os-discovery: Windows XP

    | LAN Manager: Windows 2000 LAN Manager

    | Name: SZWH\WH-ASP-04

    |_ System time: 2009-12-21 17:09:06 UTC+8

    | smb-check-vulns:

    | MS08-067: CHECK DISABLED (remove 'safe=1'argument to run)

    | Conficker: Likely INFECTED (by Conficker.C or lower)

    |_ regsvc DoS: CHECK DISABLED (add'--script-args=unsafe=1' to run)

    http://www.9pc.cn/aq/2013/67.html
    展开全文
  • 可以这样说,如果你的网络存有漏洞,或者说你的防火墙有漏洞,或者说你的服务器开着不该开放的端口,那你的网络面临着被攻击、被损害...Nmap是一个免费的开源实用程序,它可以对网络进行探查和安全审核。 许多网络管理
  • 1 Downadup/ConfickerConficker主要利用Windows操作系统MS08-067漏洞来传播,同时也能借助任何有USB接口的硬件设备来感染,在2008年被发现,并在微软的MS08-067补丁中被修复。但直到如今,仍有不少局域网中发现有...
  • nmap扫描

    2019-01-28 10:49:29
    系统漏洞扫描之王-nmap  NMap,也就是Network Mapper,是Linux下的网络扫描和嗅探工具包。他的图形化界面是Zenmap,分布式框架为Dnamp。Nmap是一款网络扫描和主机检测的非常有用的工具。Nmap是不局限于仅仅收集...
  • nmap使用

    2019-11-04 10:36:44
    一、安装nmap扫描工具:yum install nmap。 二、检查版本是否安装成功:输入:nmap 三、namp命令介绍: 1、扫描单一的主机:命令;nmap ip 如:扫描地址为:https://10.20.80.161的主机 nmap 10.20.80.161 ...
  • Nmap工具

    2016-06-17 08:58:25
    Nmap 基本简介nmap [Network Mapper ] 是Linux,Free BSD,UNIX,Windows下的网络扫描和嗅探工具包,其基本功能有三个,一是探测一组主机是否在线;其次是扫描 主机端口 nmap是一个网络连接端扫描软件,用来扫描网上...
  • Nmap详解

    千次阅读 2019-10-04 23:14:53
    目录 一:探索目标主机是否在线 ...nmap -sn nmap  -PE/-PP/-PM 当探测内网ip时 nmap -sn nmap  -PE/-PP/-PM 二:端口扫描及其原理 三:端口扫描用法 简单扫描(nmap ip) 全面扫描(nmap -A ip) ...
  • nmap与hydra

    千次阅读 2020-09-22 12:54:27
    【1】nmap命令 【2】hydra命令 ... 【1】nmap命令 Nmap是主机扫描工具,他... 通过对设备或者防火墙的探测来审计它的安全性 探测目标主机所开放的端口 通过识别新的服务器审计网络的安全性 探测网络上的主机 1.nmap简单
  • NMAP详解

    2020-02-12 04:53:06
    Nmap 7.70 ( ...Usage: nmap [Scan Type(s)][Options] {target specification} TARGET SPECIFICATION: 指定目标的命令 Can pass hostnames, IP addresses, networks, etc. Ex: scanme.nmap.org, microsoft....
  • Nmap命令

    2021-03-22 20:58:01
    [信息收集]Nmap命令详解 0x01 介绍 Nmap,也就是Network Mapper,中文为“网络映射器”。 Nmap是一款开源的网络探测和安全审核的工具,它的设计目标是快速地扫描大型网络。 它是网络管理员必用的软件之一,以及...
  • 使用nmap

    2016-05-19 18:56:00
    1.nmap简单扫描  nmap [ip address] 2.nmap简单扫描并详细输出  nmap -vv [ip address] 3.nmap自定义端口扫描  nmap -p[range] [ip address]  range默认为0-10000, 也可以仅扫描单个端口或一组以逗号分隔...
  • nmap man

    2018-03-02 12:49:52
    NMAP(1) [FIXME: manual] NMAP(1) NAME ...
  • nmap大全

    2021-02-25 22:12:19
    nmap -sp查找多线程 -PN FIN服务 -PB ack和ICMP一起扫描 -sX 圣诞树 -sR RPC扫描 -sS半开放式 -sV 版本号 -iflist 查看本地路由及端口 -sU UDP服务 -Pn 跳过防火墙强制扫描。因为有些防火墙禁止ping,所以绕过ping-n...
  • 初探nmap

    千次阅读 2014-01-07 19:16:45
    nmap是一款端口扫描器,您真的知道什么时候该用什么命令吗?
  • NMAP参数详解

    2021-02-26 11:17:47
    单个扫描:nmap 192.168.1.1 扫描主机:nmap www.baidu.com 扫描一系列IP:nmap 192.168.1.1-20 扫描子网:nmap 192.168.1.1/20 从文本文件获得扫描目标:nmap -iL list-of-ips.txt 无ping扫描:常用于防火墙禁止ping...
  • Nmap总结

    2017-11-12 15:17:00
    Nmap,扫描之王。不管是安全工作人员还是网络管理员必备的一个工具。正因为其功能的强大,参数化也非常的多,我在工作之余,花了时间对Nmap进行了整理。 Nmap简介 Nmap(网络映射器): 是由 Gordon Lyon设计,用来...
  • Nmap分析

    千次阅读 2015-11-30 13:24:42
    Nmap源码分析(操作系统扫描) ...目前Nmap 拥有丰富的系统指纹数据库 (nmap-os-db),能够识别出2600多种操作系统与设备类型。 如上图对网关进行操作系统扫描,可以看到探测出的结果:由MAC地址推断网关是
  • Nmap使用指南

    2021-07-25 23:59:46
    Nmap使用指南Nmap介绍Nmap安装Nmap基本扫描Nmap各个阶段指定目标ip/numbit 形式用 - 指定范围随机选择目标排除目标排除文件中的目标目标探测列出目标不进行端口扫描(Ping 扫描)Ping 扫描禁止目标存活判断TCP SYN ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,246
精华内容 1,698
关键字:

nmap查找设备