Nmap介绍
1.Nmap介绍
Nmap用于列举网络主机清单、管理服务升级调度、监控主机或服务运行状况。Nmap可以检测目标机是否在线、端口开放情况、侦测运行的服务类型及版本信息、侦测操作系统与设备类型等信息。
1.1 Zenmap
Zenmap是Nmap官方提供的图形界面,通常随Nmap的安装包发布。Zenmap是用Python语言编写而成的开源免费的图形界面,能够运行在不同操作系统平台上(Windows/Linux/Unix/Mac OS等)。Zenmap旨在为nmap提供更加简单的操作方式。
以百度(www.baidu.com或61.135.169.125)为例,使用Zenmap
- 显示主界面,填写目标地址
- 显示扫描目标主机的端口号(80和443)
- 拓扑
- 目标主机的情况
对比Zenmap和命令模式下的不同:(使用nmap www.baidu.com或namp 61.135.121)
扫描得到的端口号都是一样的,命令行模式简单明了,时间短。以下都使用命令模式操作。
2.Nmap扫描的基本方法
Nmap主要包括四个方面的扫描功能,主机发现、端口扫描、应用与版本侦测、操作系统侦测。这里先介绍端口扫描。
红框内的内容是重要的
绿色内容表示有998个端口被屏蔽了,也就是说明了网站的防火墙是开启的,因为没有开启防火墙是不会对端口进行屏蔽的。
蓝色部分表示开放的端口号,状态,以及服务
2.1常见服务对应端口号:
服务 | 端口号 |
---|---|
HTTP | 80 |
HTTPS | 443 |
Telnet | 23 |
FTP | 21 |
SSH(安全登录)、SCP(文件传输)、端口重定向 | 22 |
SMTP | 25 |
POP3 | 110 |
WebLogic | 7001 |
TOMCAT | 8080 |
WIN2003远程登录 | 3389 |
Oracle数据库 | 1521 |
MS SQL* SEVER数据库sever | 1433 |
MySQL 数据库sever | 3306 |
2.2端口的状态有以下几种:
状态 | 详细的参数说明 |
Open | 端口开启,数据有到达主机,有程序在端口上监控 |
Closed | 端口关闭,数据有到达主机,没有程序在端口上监控 |
Filtered | 数据没有到达主机,返回的结果为空,数据被防火墙或者是IDS过滤 |
UnFiltered | 数据有到达主机,但是不能识别端口的当前状态 |
Open|Filtered | 端口没有返回值,主要发生在UDP、IP、FIN、NULL和Xmas扫描中 |
Closed|Filtered |
只发生在IP ID idle扫描 |
为什么要关注这些端口
2.3 使用的命令
nmap -F -sT -v www.baidu.com
-F:扫描100个最有可能开放的端口 -v 获取扫描的信息 -sT:采用的是TCP扫描 不写也是可以的,默认采用的就是TCP扫描
2.4 扫描方式
全连接扫描,三次握手防火墙能有效拦截,故很少使用 (产生大量日志,很少使用)
半链接扫描,三次握手前两次,源SYN 目标SYN/ACK 端口开放;源SYN 目标RST/ACK 端口关闭 (不记日志,隐蔽性好)
秘密扫描,发送FIN,返回RST (端口关闭,回复RST包;端口开放,不回复)
半链接扫描与叫做间接扫描
FIN扫描、Xmas扫描、Null扫描对Windows无效
nmap 类型 选项 目标
nmap -sT TCP扫描 全链接扫描
nmap -sS SYN扫描 半链接扫描
nmap -sF FIN扫描 秘密扫描 除SYN、ACK其它位置1
nmap -sX Xmas扫描 秘密扫描 FIN、URG、PUSH位置1
nmap -sN Null扫描 秘密扫描 标志位全为0,发送TCP分组
nmap -sP ping扫描 同时使用ICMP和TCP ACK 80,返回RST说明主机运行(外网)
nmap -sU UDP扫描 发送0字节UDP包,快速扫描Windows的UDP端口
nmap -sA ACK扫描 TCP ACK扫描,当防火墙开启时,查看防火墙有未过虑某端口
nmap -sW 滑动窗口扫描
nmap -sR RPC扫描
nmap -b FTP反弹攻击(FTP Bounce attack) 外网用户通过FTP渗透内网
nmap -P0 Nmap扫描前不Ping目标主机
nmap -PT Nmap扫描前使用TCP ACK包确定主机是否在运行(-PT默认80)
nmap -PS Nmap使用TCP SYN包进行扫描
nmap -PI Nmap进行Ping扫描
nmap -PB 结合-PT和-PI功能
nmap -O Nmap扫描TCP/IP指纹特征,确定目标主机系统类型
nmap -I 反向标志扫描,扫描监听端口的用户
nmap -f 分片发送SYN、FIN、Xmas、和Null扫描的数据包
nmap -v 冗余模式扫描,可以得到扫描详细信息
nmap -oN 扫描结果重定向到文件
nmap -resume 使被中断的扫描可以继续
nmap -iL -iL,扫描目录文件列表
nmap -p -p扫描端口列表,默认扫描1-1024端口和/usr/share/nmap/nmap-services文件中指定端口;
-p例:23;20-30,139,60000-
nmap -F 快速扫描模式,只扫描nmap-services文件中的端口
nmap -D 欺骗扫描,可有效隐藏扫描者IP地址
nmap -S 在欺骗扫描时,用来指定源主机IP
nmap -e 指定从哪个网卡发送和接收数据包
nmap -g 指定扫描源端口
nmap -r 按顺序扫描端口
2.5 端口扫描
2.5.1 Tcp扫描(-sT)
这是一种全连接扫描方式之一,这种扫描方法的特点是:扫描的速度快,准确性高,对操作者没有权限上的要求,但是容易被防火墙和IDS(防入侵系统)发现
运行的原理:通过建立TCP的三次握手连接来进行信息的传递
① Client端发送SYN;
② Server端返回SYN/ACK,表明端口开放;
③ Client端返回ACK,表明连接已建立;
④ Client端主动断开连接。
用wireshark对扫描过程进行抓包分析:(使用命令nmap -F -sT -v 61.135.169.121)
2.5.2 SYN扫描(-sS)
这是一种半链接的扫描方式之一,因为在SYN扫描中Client端和Server端没有形成3次握手,所以没有建立一个正常的TCP连接,因此不被防火墙和日志所记录,一般不会再目标主机上留下任何的痕迹,但是这种扫描是需要root权限(对于windows用户来说,是没有root权限这个概念的,root权限是linux的最高权限,对应windows的管理员权限)
运行的原理图如下:
对RST包的讲解请看:
https://my.oschina.net/costaxu/blog/127394
用wireshark对扫描过程进行抓包分析:(使用命令nmap -F -sS -v 61.135.169.121)
等了很长时间一直没抓到RST包。
2.5.3 ACK扫描(-sA)
ACK扫描的原理是发送一个ACK包给目标主机,不论目标主机的端口是否开启,都会返回相应的RST包,通过判断RST包中的TTL来判断端口是否开启
运行原理图:
TTL值小于64端口开启,大于64端口关闭
用wireshark对扫描过程进行抓包分析:(使用命令nmap -F -sA -v 61.135.169.121)
也没有抓到RST包。
Nmap介绍的更多相关文章
- nmap 介绍
原文地址:http://drops.wooyun.org/tips/2002 原文地址:http://infotechbits.wordpress.com/2014/05/04/introductio ...
- 扫描工具nmap介绍
NMap,也就是Network Mapper,最早是Linux下的网络扫描和嗅探工具包. 简介 nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端.确定哪些服务运行在哪些连接端,并且推 ...
- NMAP实用手册
nmap在网络和渗透中使用相当频繁,相关教程也层出不穷.在此,我只整理出最实用的,言简意赅,方便自己,方便他人. 一.nmap介绍 NMAP,也就是Network Mapper,最早是Linux下的网 ...
- 转-Nmap扫描原理与用法
1 Nmap介绍 操作系统与设备类型等信息. Nmap的优点: 1. 灵活.支持数十种不同的扫描方式,支持多种目标对象的扫描. 2. 强大.Nmap可以用于扫描互联网上大规 ...
- NMAP 基础教程
原文地址: http://drops.wooyun.org/tips/2002 0x00 nmap 介绍 Nmap (网络映射器)是由 Gordon Lyon设计,用来探测计算机网络上的主机和服务的 ...
- Nmap扫描原理与用法
Nmap扫描原理与用法 1 Nmap介绍 Nmap扫描原理与用法PDF:下载地址 Nmap是一款开源免费的网络发现(Network Discovery)和安全审计(Security Audit ...
- 『安全工具』Nmap 强悍的端口扫描工具
作为时下流行的端口扫描工具,Nmap有因其扫描的隐密性有“端口扫描之王”之称 上图是黑客帝国(The Matrix)中崔妮蒂用Nmap入侵核发电站的能源管理系统 0x 01 Nmap介绍 Nmap是一 ...
- Nmap从探测到漏洞利用备忘录 – Nmap简介(一)
在侦查期间,扫描一直是信息收集的初始阶段. 什么是侦查 侦查是尽可能多收集关于目标网络的信息.从黑客的角度来看,信息收集对于一次攻击非常有用,所以为了封锁恶意的企图,渗透测试者通常尽力查找这些信息,发 ...
- Web安全学习笔记之Nmap扫描原理与用法
1 Nmap介绍 Nmap扫描原理与用法PDF:下载地址 Nmap是一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具.软件名字N ...
随机推荐
- 【Java 线程的深入研究1】Java 提供了三种创建线程的方法
Java 提供了三种创建线程的方法: 通过实现 Runnable 接口: 通过继承 Thread 类本身: 通过 Callable 和 Future 创建线程. 1.通过实现 Runnable 接口来 ...
- hbase 单机+伪分布环境搭建学习-1
1.单机模式: (1)编辑hbase-env.sh user@EBJ1023.local:/usr/local/flume_kafka_stom/hbase_1.1.2> vim conf/hb ...
- ubuntu-12.04.5-desktop-amd64.iso:ubuntu-12.04.5-desktop-amd64:安装Oracle11gR2
ubuntu 桌面版的安装不介绍. 如何安装oracle:核心步骤和关键点. ln -sf /bin/bash /bin/sh ln -sf /usr/bin/basename /bin/basena ...
- 阿里巴巴Java开发规约插件-体验
插件有哪些功能? 阿里技术公众号于今年的2月9日首次公布<阿里巴巴Java开发规约>,瞬间引起全民代码规范的热潮,上月底又发布了PDF的终极版,大家踊跃留言,期待配套的静态扫描工具开放出来 ...
- [转]ASP.NET MVC 5 - 给电影表和模型添加新字段
在本节中,您将使用Entity Framework Code First来实现模型类上的操作.从而使得这些操作和变更,可以应用到数据库中. 默认情况下,就像您在之前的教程中所作的那样,使用 Entit ...
- 第十五篇:关于TCP通信程序中数据的传递格式
前言 在之前的回射程序中,实现了字符串的传递与回射.幸运的是,字符串的传递不用担心不同计算机类型的大小端匹配问题,然而,如果传递二进制数据,这就是一个要好好考虑的问题.在客户端和服务器使用不同的字节序 ...
- UITableView划动删除的实现
对于app应用来说,使用列表的形式展现数据非UITableView莫属.在熟练掌握了用UITableView展示数据以后,是不是也遇到了需要删除数据的需求?是不是觉得在一行数据上划动一下,然后出现一个 ...
- windows10 专业版激活工具
分享一个激活工具: 链接:https://pan.baidu.com/s/1HsdAKuxxsdvzZ282k7HtMg 提取码:tqe0
- openstack 安装部署
环境准备 本次搭建的是openstack kilo版本,计算节点和控制节点采用linux bridge的方式连接 1.两台服务器 controller 172.16.201.9 compute01 1 ...
- ajax 跨域访问 :Access-Control-Allow-Origin
一说到ajax跨域.首先想到的就是jsonp . JSONP方法是一种非官方方法,而且这种方法只支持GET方式,不如POST方式安全. 即使使用jQuery的jsonp方法,type设为POST,也 ...