一.nmap的主要功能

1.端口扫描

2.主机探测:查找目标网络的在线主机

3.服务/版本检测:发现开放端口后,进一步检测目标主机的检测服务协议、应用程序名称、版本号等信息

4.操作系统检测

5.网络路由追踪

二.nmap的6种端口状态

1.开放:开放端口的服务器程序可以受理TCP连接、接受UDP数据包或者响应SCTP(流控制传输协议)请求

2.关闭:可以访问相关的端口,但是没有应用程序在该端口

3.过滤:不能确定端口是否开放,包过滤设备屏蔽了我们向主机发送的探测包

4.未过滤:可以访问制定端口,但是不确定端口是否开放

5.打开|过滤: 不能确定是打开还是过滤,在遇到没有响应的开放端口时,Nmap或做出这样的判断。

6.关闭|过滤

基本用法:Usage: nmap [Scan Type(s)] [Options] {target specification}

三.指定扫描目标

TARGET SPECIFICATION: #目标格式说明
Can pass hostnames, IP addresses, networks, etc.
Ex: scanme.nmap.org, microsoft.com/, 192.168.0.1; 10.0.-255.1-254 #可以接受单个域名,单个主机,多个主机,CIDR表示的网段,十进制的ip区间等形式的扫描目标
-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 #除去清单中的地址

可以使用tcpdump来监测网卡的数据包流量,打开一个终端窗口,输入(Vboxnet0是我的虚拟网卡,根据实际情况更改)

 tcpdump -i vboxnet0

接下来扫描脆弱主机metasploitable2,扫描结果如下

# nmap 192.168.56.101

Starting Nmap 7.60 ( https://nmap.org ) at 2017-12-18 21:13 CST
Nmap scan report for 192.168.56.101
Host is up (.00034s latency).
Not shown: closed ports
PORT STATE SERVICE
/tcp open ftp
/tcp open ssh
/tcp open telnet
/tcp open smtp
/tcp open domain
/tcp open http
/tcp open rpcbind
/tcp open netbios-ssn
/tcp open microsoft-ds
/tcp open exec
/tcp open login
/tcp open shell
/tcp open rmiregistry
/tcp open ingreslock
/tcp open nfs
/tcp open ccproxy-ftp
/tcp open mysql
/tcp open postgresql
/tcp open vnc
/tcp open X11
/tcp open irc
/tcp open ajp13
/tcp open unknown
MAC Address: ::::: (Oracle VirtualBox virtual NIC) Nmap done: IP address ( host up) scanned in 0.28 seconds

四.扫描选项

SCAN TECHNIQUES:#扫描选项
-sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans #sT:完整三次握手 sS:设置SYN sM:设置FIN/ACK sA:设置ACK sW:检测返回的TCP窗口字段
-sU: UDP Scan #UDP仅有的一种方式
-sN/sF/sX: TCP Null, FIN, and Xmas scans #sN:不设置控制位 sF:设置FIN位 sX:设置FIN、PSH和URG
--scanflags <flags>: Customize TCP scan flags #设置自定义的TCP扫描方式
-sI <zombie host[:probeport]>: Idle scan #设置僵尸主机进行扫描
-sY/sZ: SCTP INIT/COOKIE-ECHO scans
-sO: IP protocol scan
-b <FTP relay host>: FTP bounce scan

五.目标端口选项

nmap默认从常用端口中随机挑选1000个进行扫描,其nmap-services文件对端口的命中率进行了排行

PORT SPECIFICATION AND SCAN ORDER: #端口说明和扫描顺序
-p <port ranges>: Only scan specified ports #设置端口范围,单个端口,多个端口,范围端口等
Ex: -p22; -p1-; -p U:,,,T:-,,,,S:
--exclude-ports <port ranges>: Exclude the specified ports from scanning #去除某些端口
-F: Fast mode - Scan fewer ports than the default scan #快速扫描,仅扫描常用的100个端口
-r: Scan ports consecutively - don't randomize #顺序扫描,从小到大
--top-ports <number>: Scan <number> most common ports #扫描name-services中前number个端口
--port-ratio <ratio>: Scan ports more common than <ratio>

六.输出选项

OUTPUT: #输出选项
-oN/-oX/-oS/-oG <file>: Output scan in normal, XML, s|<rIpt kIddi3,#oN:正常输出,不显示runtime和警告信息 oX:生成xml文件 oG:保存为便于Grep使用的文件
and Grepable format, respectively, to the given filename.
-oA <basename>: Output in the three major formats at once
-v: Increase verbosity level (use -vv or more for greater effect)
-d: Increase debugging level (use -dd or more for greater effect)
--reason: Display the reason a port is in a particular state
--open: Only show open (or possibly open) ports
--packet-trace: Show all packets sent and received
--iflist: Print host interfaces and routes (for debugging)
--append-output: Append to rather than clobber specified output files
--resume <filename>: Resume an aborted scan
--stylesheet <path/URL>: XSL stylesheet to transform XML output to HTML
--webxml: Reference stylesheet from Nmap.Org for more portable XML
--no-stylesheet: Prevent associating of XSL stylesheet w/XML output

七.时间排程控制选项

TIMING AND PERFORMANCE: #时间和执行
Options which take <time> are in seconds, or append 'ms' (milliseconds),
's' (seconds), 'm' (minutes), or 'h' (hours) to the value (e.g. 30m).
-T<->: Set timing template (higher is faster) #6种时间排程模式,默认为模式3
--min-hostgroup/max-hostgroup <size>: Parallel host scan group sizes
--min-parallelism/max-parallelism <numprobes>: Probe parallelization
--min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>: Specifies
probe round trip time.
--max-retries <tries>: Caps number of port scan probe retransmissions.
--host-timeout <time>: Give up on target after this long
--scan-delay/--max-scan-delay <time>: Adjust delay between probes
--min-rate <number>: Send packets no slower than <number> per second
--max-rate <number>: Send packets no faster than <number> per second

八.常用选项

1.服务版本识别

SERVICE/VERSION DETECTION: #服务/版本检测
-sV: Probe open ports to determine service/version info #检测服务器软件的版本信息
--version-intensity <level>: Set from (light) to (try all probes)
--version-light: Limit to most likely probes (intensity )
--version-all: Try every single probe (intensity )
--version-trace: Show detailed version scan activity (for debugging)

2.操作系统检测

OS DETECTION:#操作系统检测
  -O: Enable OS detection #开启系统检测功能
  --osscan-limit: Limit OS detection to promising targets
  --osscan-guess: Guess OS more aggressively

3.主机检测

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 #认为所有主机都在线,防止其他主机对本机进行了ping屏蔽
  -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

4.强有力扫描和扫描ipv6主机

MISC:
-: Enable IPv6 scanning #允许ipv6扫描模式
-A: Enable OS detection, version detection, script scanning, and traceroute #扫描服务版本,操作系统,脚本扫描,traceroute
--datadir <dirname>: Specify custom Nmap data file location
--send-eth/--send-ip: Send using raw ethernet frames or IP packets
--privileged: Assume that the user is fully privileged
--unprivileged: Assume the user lacks raw socket privileges
-V: Print version number
-h: Print this help summary page.

nmap教程(上)的更多相关文章

  1. 七牛云存储Python SDK使用教程 - 上传策略详解

    文 七牛云存储Python SDK使用教程 - 上传策略详解 七牛云存储 python-sdk 七牛云存储教程 jemygraw 2015年01月04日发布 推荐 1 推荐 收藏 2 收藏,2.7k  ...

  2. EditText使用详解-包含很多教程上看不到的功能演示

    写道 标题有点大,说是详解,其实就是对EditText的一些常用功能的介绍,包括密码框,电话框,空白提示文字等等的讲解,尽量的介绍详细一点,也就是所谓的详解了..呵呵 广告一下我的应用“我团”,最新1 ...

  3. GitHub教程--上传项目四步法 GitBash命令行下使用方法

    之前就用过GitHub,感觉用GitHub托管自己的代码非常不错.可是之前用的都是窗口化的TortoiseGit,省了很多命令行的操作,但是个人非常喜欢使用命令行,于是,今天就试着用了用GitBash ...

  4. django入门教程(上)

    相信用过python的人都听过Django的大名,知道它是一个web框架,用来支持动态网站.网络应用程序以及网络服务的开发.那么为什么我们需要一个web框架,而不是直接用python来写web应用呢? ...

  5. Web前端-JavaScript基础教程上

    Web前端-JavaScript基础教程 将放入菜单栏中,便于阅读! JavaScript是web前端开发的编程语言,大多数网站都使用到了JavaScript,所以我们要进行学习,JavaScript ...

  6. Drools(BRMS) 速成教程(上)

    大家在日常开发中,肯定遇到过一些业务规则变来变去的需求,比如:会员积分系统(今天要新注册会员送10积分,明天要改成注册送优惠券,后天搞活动要改成注册自动变成高级会员...),此类需求,一般都是通过写i ...

  7. KMP算法完整教程 (上)

    KMP算法完整教程 全称: Knuth_Morris_Pratt Algorithm(KMP算法) 类型: 高级检索算法 功能: 字符串匹配查找 提出者: D.E.Knuth(克努兹),J.H.Mor ...

  8. React Native之React速学教程(上)

    概述 本篇为<React Native之React速学教程>的第一篇.本篇将从React的特点.如何使用React.JSX语法.组件(Component)以及组件的属性,状态等方面进行讲解 ...

  9. 诸神之眼-Nmap 教程 2

    |>>>简版先附上<<<| Nmap基础学习 语法 nmap + [空格] + <选项|多选项|协议> + [空格]+ <目标> 如 nma ...

随机推荐

  1. 使用c++11写个最简跨平台线程池

    为什么需要多线程? 最简单的多线程长啥样? 为什么需要线程池,有什么问题? 实现的主要原理是什么? 带着这几个问题,我们依次展开. 1.为什么需要多线程? 大部分程序毕竟都不是计算密集型的,简单的说, ...

  2. [转]Activitys, Threads, & Memory Leaks

    转自:http://www.androiddesignpatterns.com/2013/04/activitys-threads-memory-leaks.html http://www.cnblo ...

  3. Node.js在windows平台的安装

    nodejs官网:https://nodejs.org/en/ 下载安装: node-v8.4.0-x64.msi 检查 path 中是否已经配置nodejs的安装路径,如果没有要配置. node   ...

  4. eclipse run on server 时 报的错误APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!

    写这篇日记记录一下自己的愚蠢行为. 具体报错如下: 信息: Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource [ ...

  5. 编程三基:cpu:算法,总线(io):一切皆文件;内存:运行空间

    编程三基:cpu:算法,总线:一切皆文件:内存:数据.运行空间 原文找不到了.

  6. maven 打包时动态替换properties资源文件中的配置值

    pom build节点下面添加resource配置: <resources> <resource> <directory>src/main/resources/&l ...

  7. MATLAB 中gcf、gca 以及gco 的区别

    MATLAB 中gcf.gca 以及gco 的区别gcf 返回当前Figure 对象的句柄值gca 返回当前axes 对象的句柄值gco 返回当前鼠标单击的句柄值,该对象可以是除root 对象外的任意 ...

  8. mybatis逆向工程mbg

    mbg:mybatis generator=mybatis代码生成器 1.看一下项目结构 其中bean文件,mapper接口文件和mapper.xml文件是代码生成器自动生成的. 使用generato ...

  9. 【题解】洛谷P2827 [NOIP2016TG] 蚯蚓(优先队列)

    题目来源:洛谷P2827 思路 阅读理解题 一开始以为是裸的优先队列而已 但是发现维护一个切开并且其他的要分别加上一个值很不方便 而且如果直接用优先队列会TLE3到4个点 自测85分 所以我们需要发现 ...

  10. linux mysql命令行查看显示中文

    linux 命令行查看mysql的库字符集是utf8,查询某个表时,仍然是显示不了中文, 之后使用了命令 mysql>set  names utf8;就可以正常显示中文了. 如何才更好的使mys ...