一.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. linux下如何用GDB调试c++程序

    转:http://blog.csdn.net/wfdtxz/article/details/7368357 GDB 是GNU开源组织发布的一个强大的UNIX下的程序调试工具.或许,各位比较喜欢那种图形 ...

  2. 全国大学生数据挖掘邀请赛中的NDCG

    转:http://www.zhizhihu.com/html/y2011/2794.html 评价标准 性能良好的评分模型,应该能够给予那些引起msg或click的候选会员更高的评分(排序靠前),从而 ...

  3. Server Error in '/' Application. 报错

    控制面板--管理工具--服务--asp.netstate service 设置为自动,并启动

  4. react 开发中的问题简记

    1.什么时候用props 什么时候用state ? 不能使用props:当页面组件存在URL跳转问题时候,原因:若单独刷新,他会报错,拿不到前面的数据: 使用props场景:当组件为页面组件的一部分即 ...

  5. 让Git不再难学

    写在前面 在团队做过软件开发的,版本控制必是不可或缺的一项.目前,版本控制主要分为集中式版本控制系统和分布式版本控制系统 ,即大家熟知的SVN和Git.Git是当下最流行的分布式版本控制系统,故,今天 ...

  6. n维向量旋转(循环移位)——学习《编程珠玑》

    问题: 将一个n元一维向量向左旋转i个位置.例如,当n=8且i=3时,向量abcdefgh旋转为defghabc. 简单的代码使用一个n元的中间向量在n步内完成该工作. 你能否仅使用数十个额外字节的存 ...

  7. 关于WEB的URL安全测试

    测试思路: 对WEB做个简单的安全测试,主要是针对URL的测试. 回想起来,这次测试本质可以归为“权限”的测试,如下: 案例1: 1.分别开两个浏览器,以两个不同的帐号登陆web后台 2.第一个浏览器 ...

  8. UIScrollView的常用属性

    UIScrollView的常用属性

  9. 工程命名为***&***出现的问题: LaunchScreen.xib: Line 20: EntityRef: expecting ';'

    今天新建一个项目命名为28 & 29. extern&static,  然后cmd + R运行,居然碰到了编译错误. 当时就奇怪了,怎么会这样呢?报错内容如下: 开始还以为新安装的Xc ...

  10. OpenID Connect Core 1.0(三)验证

    OpenID Connect执行终端用户登录或确定终端用户已经登录的验证工作.OpenID Connect 使服务器以一种安全的方式返回验证结果.所以客户可以依靠它.出于这个原因,在这种情况下客户被称 ...