目标说明

1
2
3
4
-iL <inputfilename> 读取文档
-iR <hostnum> 随机选择目标
--exclude <host1[,host2][,...]> 排除主机/网络
--excludefile <excludefile> 排除文件中的列表

主机发现

1
2
3
4
5
6
7
8
9
10
11
12
-sL 列表扫描
-sP ping扫描
-P0 默认主机存活
-Pn 默认主机存活和-P0相同
-PS [portlist] TCP SYN Ping
-PA [portlist] TCP ACK PING
-PU [portlist] UDP Ping
-PE;-PP;-PM ICMP Ping Types
-PR ARP Ping
-n 不用域名解析
-R 为所有目标解析域名
--system-dns 使用系统域名解析器

端口扫描基础

端口状态

名称 状态
open 开放
closed 关闭
filtered 被过滤的
unfiltered 未被过滤的
open or filtered 开放或被过滤的
closed or filtered 关闭或被过滤的

端口扫描技术

-sS

TCP SYN扫描,半开放扫描,需要root权限

-sT

TCP Connect扫描,用户没有权限发送原始报文或扫描IPv6时,Nmap默认使用该扫描方式。Nmap调用connect()对目标端口建立连接,这种方式会花费更长的时间、会在目标机留下连接记录。

-sU

UDP扫描,可以和TCP扫描同时使用检查两种协议。

扫描比较慢,Linux 2.4.20内核限制一秒钟只发送一条目标不可到达消息。加速UDP扫描,可以并发扫描更多的主机,先只对主要端口进行快速扫描,从防火墙后面扫描,使用--host-timeout跳过慢速的主机。

-sN

TCP Null 扫描
不设置任何标志位(tcp标志头是0)

-sF

TCP FIN 扫描
只设置TCP FIN标志位

-sX

Xmas 扫描
设置FIN,PSH,URG标志位,就像点亮圣诞树上所有的灯一样

-sN,-sF,-sX都基于TCP RFC来区分open和closed端口。IDS可以发现这三种方式,而且并不是所有系统都严格遵循RFC 793,例如Microsoft Windows,Cisco,BSDI,IBM OS/400,不过Unix系统都能工作。这三种模式无法区分open还是filtered

-sA

TCP ACK扫描
不能区分openopen|filtered端口。用于发现防火墙规则,确定它们是有状态还是无状态,哪些端口是被过滤掉的。当扫描未被过滤的系统时,open(开放的)和closed(关闭的) 端口都会返回RST报文。Nmap把它们标记为 unfiltered(未被过滤的),意思是 ACK报文不能到达,但至于它们是open(开放的)或者 closed(关闭的) 无法确定。不响应的端口或者发送特定的ICMP错误消息(类型3,代号1,2,3,9,10, 或者13)的端口,标记为 filtered(被过滤的)

-sW

TCP窗口扫描
TCP窗口值为整数,表示端口开启,TCP窗口值为0表示端口关闭

-sM

Mainmon扫描
-sN,-sF,-sX方式完全一样,除了探测报文是FIN/ACK

–scanflags

定制的TCP扫描
--scanflags选项可以指定任意TCP标志位来设计扫描。

1
--scanflags URGACKPSHRTSSYNFIN

-sI

TCP端口盲扫描,没有报文从真实的IP地址发送到目标

1
-sI <zombie host[:probeport]>

默认端口80
可以尝试使用可能被信任的zombies扫描目标

端口说明和扫描顺序

默认情况下,Nmap用指定的协议对端口1-1024以及nmap-services文件中列出的更高的端口进行扫描

-p

只扫描指定的端口

1
2
-p <port ranges>
-p 21-25,80

-F

快速,有限的端口扫描
只扫描nmap-services文件中的端口

-r

不要按随机顺序扫描端口
Nmap默认按随机顺序扫描端口,使用-r来顺序端口扫描

服务和版本探测

-sV

版本探测
也可使用-A同时打开操作系统探测和版本探测

–allports

不为版本探测排除任何端口

--version-intensity

设置 版本扫描强度

1
--version-intensity <intensity>

强度:1-9 默认为7
数值越高,服务越有可能被正确识别,高强度扫描花费更多的时间。

--version-light

打开轻量级模式,是--version-intensity 2的别名

--version-all

--version-intensity 9的别名

--version-trace

跟踪版本扫描活动
Nmap打印出详细的关于正在进行的扫描的调试信息

-sR

RPC扫描
可以与许多端口扫描方法联合使用,对所有被发现开放的TCP/UDP端口执行SunRPC程序NULL命令,来确定他们是否有RPC端口并确定程序和版本号。

操作系统探测

--O

启动操作系统检测
也可以使用-A来同时启动操作系统检测和版本检测

--osscan-limit

针对指定的目标进行操作系统检测

--osscan-guess

--fuzzy

推测操作系统检测结果

时间和性能

防火墙/IDS躲避和哄骗

-f

报文分段

--mtu

使用指定的MTU

-f-mtu都是将数据包分段的参数,-f使用一次是将包分成8字节或更小,使用两次是将包分为16字节的分段。使用-mtu可以自定义偏移的大小,偏移量必须是8的倍数。一些网络会禁止分段包进入网络

-D

使用诱饵隐蔽扫描

1
-D <decoy1 [,decoy2] [,ME],...>

为使诱饵扫描起作用,需要使远程主机认为是诱饵在扫描目标网络。使用逗号分隔每个诱饵主机,也可用真实IP作为诱饵,这时可使用 ME选项说明。如果在第6个位置或更后的位置使用ME选项,一些常用端口扫描检测器(如Solar Designer’s excellent scanlogd)就不会报告 这个真实IP。如果不使用ME选项,Nmap将真实IP放在一个随机的位置

-S

源地址哄骗

1
-S <IP_Address>

-e

使用指定的网卡

1
-e <interface>

源端口哄骗

1
2
--source-port <portnumber>
-g <portnumber>

MAC地址哄骗

1
--spoof-mac <mac address,prefix,or vendor name>

使用字符串"0",Nmap会选择一个完全随机的MAC地址。

--data-length

发送报文时,附加随机数据

1
--data-length <number>

--ttl

设置IPV4报文的time-to-live域

1
--ttl <value>

--randomize-hosts

对目标主机的顺序随机排列

输出

-oN

标准输出

1
-oN <filename>

-oX

XML输出

1
-oX <filename>

-oG

Grep输出

1
-oG <filename>

-oA

输出至所有格式

1
-oA <basename>

-v

提高输出信息的详细度

-d

提高或设置调试级别

1
-d [level]

--packet-trace

跟踪发送和接收的报文

要求Nmap打印发送和接收的每个报文摘要。为了避免输出过多的行,可以限制扫描的端口数,如-p 20-30,如果只需进行版本检测,使用--version-trace

--iflist

列举接口和路由

--append-output

在输出文件中添加

--resume

继续中断的扫描

1
--resume <filename>

--stylesheet

设置XSL样式表,转换XML输出

--no-stylesheet

忽略XML声明的XSL样式表

其他选项

-6

启用IPv6扫描

-A

操作系统检测和版本扫描

打印版本信息

1
2
-V
--version

帮助信息

1
2
-h
--help

Nmap一些参数的具体作用的更多相关文章

  1. nn.ConvTranspose2d的参数output_padding的作用

    参考:https://blog.csdn.net/qq_41368247/article/details/86626446 使用前提:stride > 1 补充:same卷积操作 是通过padd ...

  2. nmap常用参数详解

    nmap常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 借用英雄联盟的一个英雄赵信的一句话:“即使敌众我寡,末将亦能万军丛中取敌将首级!”.三国关羽,万军丛中斩了颜良, ...

  3. python中特殊参数self的作用

    特殊参数self的作用:self会接收实例化过程中传入的数据,当实例对象创建后,实例便会代替 self,在代码中运行. self代表的是类的实例本身,方便数据的流转.对此,我们需要记住两点: 第一点: ...

  4. nmap所有参数详解

    QQ:1258496116 端口:80http 443https 53dns 25smtp 22ssh 23telnet20.21ftp 110pop3 119nntp 143imap 179bgp ...

  5. MessageBox函数第一个参数hwnd的作用

    MessageBox 函数用于创建.显示并操作一个消息对话框.该对话框包含由调用程序定义的信息和标题,以及预先定义的图标和按钮. 这个方法的第一个参数hWnd,代表消息框拥有的窗口.这个参数到底有什么 ...

  6. mysql中参数--init-file的作用是什么呢?

    需求描述: 今天在修改测试环境mysql数据库中root用户密码的时候,用到了--init-file参数, 所以,就在这里说下该参数的作用. 概念解释: 参数:--init-file=file_nam ...

  7. Nmap扫描参数解析

    Nmap是一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具.软件名字Nmap是Network Mapper的简称.Nmap最初是由Fyo ...

  8. moviepy音视频剪辑:视频剪辑基类VideoClip的__init__构造方法参数has_constant_size的作用

    ☞ ░ 前往老猿Python博文目录 ░ moviepy音视频剪辑模块的视频剪辑基类VideoClip构造方法: __init__(self, make_frame=None, ismask=Fals ...

  9. nmap使用/参数,及绕过防火墙

    nmap是什么? 它是一种一个很强大的扫描工具,端口,版本号,统统都可以给你扫出来 我的IP网段:192.168.1.0 咱们先找一个主机随便玩玩把,反正没有害处,最多被防火墙拦截了 nmap -sP ...

随机推荐

  1. 虚拟机VMWare的操作

    软件测试工程师需要搭建测试环境——虚拟机操作. VMWare Workstation虚拟机:模拟真实的环境进行各种试验和操作,启动之后,会占用一部分的系统资源. 官网安装:http://www.vmw ...

  2. circRNA数据库的建立

      circRNA数据库的建立 wget http://circbase.org/download/human_hg19_circRNAs_putative_spliced_sequence.fa.g ...

  3. HBase 与 MapReduce 集成

    6. HBase 与 MapReduce 集成 6.1 官方 HBase 与 MapReduce 集成 查看 HBase 的 MapReduce 任务的执行:bin/hbase mapredcp; 环 ...

  4. Spring 中的统一异常处理

    在具体的SSM项目开发中,由于Controller层为处于请求处理的最顶层,再往上就是框架代码的.因此,肯定需要在Controller捕获所有异常,并且做适当处理,返回给前端一个友好的错误码. 不过, ...

  5. Linux7 安装python3.5.4

    1.首先修改yum配置文件 因为yum使用python2,因此替换为python3后可能无法正常工作,继续使用这个python2.7.5 因此修改yum配置文件(vi /usr/bin/yum). 把 ...

  6. Python3之字符串格式化format函数详解(上)

    概述 在Python3中,字符串格式化操作通过format()方法或者f’string’实现.而相比于老版的字符串格式化方式,format()方法拥有更多的功能,操作起来更加方便,可读性也更强.该函数 ...

  7. Docker 学习笔记(三):数据、网络、系统权限、docker-compose

    一.Docker 数据管理 Docker 持久化数据有两种方式: 使用数据卷:更安全,和主机耦合度低 将主机的目录挂载到容器中:更方便,主机和容器可以很方便地交换数据. 数据卷相关的命令: docke ...

  8. 简单即时通讯、聊天室--java NIO版本

    实现的功能: 运行一个服务端,运行多个客户端.在客户端1,发送消息,其余客户端都能收到客户端1发送的消息. 重点: 1.ByteBuffer在使用时,注意flip()方法的调用,否则读取不到消息. 服 ...

  9. 如何加入 Skype for Business 会议?

    参加一个线上培训,收到了Skype的参会地址,是这个样子的 然后就是一脸懵逼的不知道怎么参加会议了.找了半天终于在同事的帮助下参加成功. 我的参加方法:在Window上用Skype for Busin ...

  10. 火狐浏览器 访问所有HTTPS网站显示连接不安全解决办法

    当 Firefox 连接到一个安全的网站时(网址最开始为“https://”),它必须确认该网站出具的证书有效且使用足够高的加密强度.如果证书无法通过验证,或加密强度过低,Firefox 会中止连接到 ...