一.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. [EffectiveC++]item39:明智而审慎地使用private

    187页 private继承意味implementedin-terms-of(根据某物实现出).如果你让class D以private形式继承class B,你的用意为了采用class B内已经备妥的 ...

  2. MSSQL注入常用SQL语句整理

    很多情况下使用工具对mssql注入并不完善,所以我们就需要手工注入,一下是本人收集的一些mssql的sql语句. 手工MSSQL注入常用SQL语句 and exists (select * from ...

  3. Python迭代(入门8)

    转载请标明出处: http://www.cnblogs.com/why168888/p/6407980.html 本文出自:[Edwin博客园] Python迭代 1. 什么是迭代 注意: 集合是指包 ...

  4. bootstrap Switch 的一个坑点

    在bootstrap的modal点开的时候改变bootstrapSwitch的状态的时候,会出现第一次打开modal,switch没有变化,第二次以后打开modal才会改变,这个问题找了好久没有找到答 ...

  5. Java导出Highcharts需要的3个外部jar包

    xerces batik fop 这三个JAR包. 绝对可用.自本用过. 如果两个项目在同一个TOMCAT下并且同时用到xerces.jar,需要前这个外放在TOMCAT下的lib目录下.其他的容器中 ...

  6. Oracle创建自增序列

    Oracle没有自增字段这样的功能,但是通过触发器(trigger)和序列(sequence)可以实现. 先建一个测试表了: create table userlogin( id   number(6 ...

  7. BZOJ2565:最长双回文串(Manacher)

    Description 顺序和逆序读起来完全一样的串叫做回文串.比如acbca是回文串,而abc不是(abc的顺序为“abc”,逆序为“cba”,不相同). 输入长度为n的串S,求S的最长双回文子串T ...

  8. 如何设置活动监视器中的可见作业数能显示更长范围之内的作业(如何让bpdbjobs/Active Monitor显示更多作业信息)

    一.问题:     如何设置可以使得活动监视器中的可见作业数能显示更长范围之内的作业(即NBU软件不要自动删除活动监视器中短时间内(如8天)内的作业记录)? 二.解决方法:      默认情况下在Ac ...

  9. python 爬取猫眼下的榜单(一)--单个页面

    #!/usr/bin/env python # -*- coding: utf- -*- # @Author: Dang Kai # @Date: -- :: # @Last Modified tim ...

  10. 在eclipse中配置Tomcat时,出现“Cannot create a server using the selected type”的错误。

    出现原因:Tomcat重新安装,并且安装目录改变了. 解决方案:在“Window->preferences->Server->Runtime Environment”,编辑Tomca ...