Nmap的活跃主机探测常见方法
最近由于工作需求,开始对Nmap进行一点研究,主要是Nmap对于主机活跃性的探测,也就是存活主机检测的领域。
Nmap主机探测方法一:同网段优先使用arp探测:
当启动Namp主机活跃扫描时候,Nmap会对目标地址参数进行检查,如果与自身IP地址匹配到同一个子网内,Nmap会对该类目标采用arp协议进行探测。即使命令参数规定的是其他探测手段,也会先使用arp进行探测。这种方式效率高,速度快,但仅限于同一子网广播域中。
arp探测原理:
在广播域内广播arp request报文,例如 who has 192.168.0.1 tell 192.168.1.4(nmap本机ip),收到arp response报文即为活跃。可以得到目标主机mac地址。
nmap -R 192.168.1.1
nmap -R 192.168.1.0/24
nmap 192.168.1.1
nmap 192.168.1.0/24

Nmap主机探测方法二:跨网段ICMP协议探测:
ICMP探测一ICMP echo:
常规PING探测,原理即为ping命令一样,但由于ping命令的滥用导致FW或者很多OS都会闲置ping包。特点:速度快,但探测不准确。
测试:执行下文命令 或者-sP换成-sN 都会发送icmp echo 和 icmp timestamp报文。此时DNS114.114.114.114对timestamp有回应(奇怪)。
nmap -sP 114.114.114.114

ICMP探测二ICMP timestamp:
nmap发送ICMP timestamp报文,活跃主机会响应该报文,响应报文中包含当前系统时间。该请求ICMP type值13。
测试DNS 114.114.114.114 对icmp echo有回应 对icmp timestamp无回应。-PP只发timestamp报文。
nmap -PP 114.114.115.115

ICMP探测三ICMP netmask:
nmap发送ICMP netmask报文,活跃主机会响应该报文,响应报文中包含当前地址掩码。该请求ICMP type值17。
测试DNS 114.114.115.115 对icmp netmask无回应。
nmap -PM 114.114.115.115

Nmap主机探测方法三:TCP探测:
如同常见的端口扫描原理,syn类的,ack类的,fin类的,空扫描等等。通过回应报文判断主机是否活跃。
nmap -sT 114.114.114.114 #TCP connect scan[three hand-shakes]
nmap -sS 114.114.114.114 #TCP SYN scan[syn->recv ack]
nmap -sA 114.114.114.114 #TCP ACK scan
nmap -sW 114.114.114.114 #TCP Window scan
nmap -sM 114.114.114.114 #TCP Maimon scan
nmap -sN 114.114.114.114 # TCP Null scan
nmap -sF 114.114.114.114 #TCP FIN scan
Nmap主机探测方法四:UDP探测:
UDP探测原理是根据活跃主机对未开放的端口会响应一个ICMP不可达报文来判断的。
nmap -PU 114.114.114.114#默认发送空UDP报文到40125端口
nmap -sU 114.114.114.114 -p 44444 #-p 指定端口
nmap -sU 114.114.114.114 -p 53 -Pn #-Pn 绕过ping扫描
Nmap主机探测方法五:IP探测:
发送空的也可以指定负载大小的IP报文,可能收到响应报文为ICMP不可达报文。
nmap -sO 114.114.114.114
nmap -PO 114.114.114.114

Nmap的活跃主机探测常见方法的更多相关文章
- python nmap模块使用进行主机探测(ICMP)
终于审核通过了......第一次用博客,想记录自己的学习情况,分享知识. 废话不多说,第一篇blog,大牛请轻喷. 资产清点首先需要进行主机探测,将存活主机统计下来再进行进一步的指纹识别及端口探测.若 ...
- DDos攻击的常见方法及防御方法
什么是DDoS? DDoS是英文Distributed Denial of Service的缩写,意即“分布式拒绝服务”,那么什么又是拒绝服务(Denial of Service)呢?可以这么理解,凡 ...
- Nmap原理02 - 版本探测介绍(上)
Nmap原理02 - 版本探测介绍(上) 1.介绍 本文将介绍如何通过修改或添加nmap-service-probes文件来实现对nmap中未知服务的探测,首先介绍服务和版本探测的相关信息,然后介绍服 ...
- Python爬虫突破封禁的6种常见方法
转 Python爬虫突破封禁的6种常见方法 2016年08月17日 22:36:59 阅读数:37936 在互联网上进行自动数据采集(抓取)这件事和互联网存在的时间差不多一样长.今天大众好像更倾向于用 ...
- MSF魔鬼训练营-3.2.1活跃主机扫描
概要: msf的arp_sweep .udp_sweep模块 Nmap -sn使用ping探测 -PU -sn 使用UDP协议端口探测 msf模块 arp_sweep 常用 ipv6_mult ...
- Linux下编程获取本地IP地址的常见方法
转载于:http://blog.csdn.net/k346k346/article/details/48231933 在进行linux网络编程时,经常用到本机IP地址.本文罗列一下常见方法,以备不时之 ...
- C#图片处理常见方法性能比较
C#图片处理常见方法性能比较 来自:http://www.cnblogs.com/sndnnlfhvk/archive/2012/02/27/2370643.html 在.NET编程中,由于GDI ...
- linux修改主机名的方法
linux修改主机名的方法 用hostname命令可以临时修改机器名,但机器重新启动之后就会恢复原来的值. #hostname //查看机器名#hostname -i //查看本机器名对应的ip ...
- window对象中的常见方法
<body><!-- window对象中的常见方法--><script type="text/javascript"> var timeid; ...
随机推荐
- MySql C++调用库Connector/c++编译 和 接口封装【一】mysql数据库安装
Connector/c++库的源文件编译,你需要先准备好以下工具: mysql数据库(编译时要依赖),boost库,cmake(生成sln工程文件),connector/c++的源文件,vis ...
- kettle优化
http://blog.csdn.net/cissyring/archive/2008/05/29/2494130.aspx 1. Join 我得到A 数据流(不管是基于文件或数据库),A包含fiel ...
- kettle启动时候报a fatal exception has occurred
本人刚接触ETL工具 Data Integration - Kettle ,下载了kettle6.0版本,但是在window +jdk1.7(32位)下启动报错, 使用SpoonDebug.bat写的 ...
- bootstrap首页案例
<html><head> <meta http-equiv="Content-Type" content="text/html; chars ...
- 关于在Android或Java中精度缺失的解决方法
left,right是两个String类型的字符串,myres是一个double类型的变量. 如果我们用下面的语句把left,right先转换为double后直接加法的话,如果作3.3乘3之类的运算( ...
- nodejs基础 -- buffer缓冲区
JavaScript 语言自身只有字符串数据类型,没有二进制数据类型.但在处理像TCP流或文件流时,必须使用到二进制数据.因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门存 ...
- Python C :ctypes库
>>> import ctypes >>> from ctypes import * >>> dir(ctypes) ['ARRAY', 'Arg ...
- 对phpexcel的若干补充
导出excel属性设置 //Include class require_once('Classes/PHPExcel.php'); require_once('Classes/PHPExcel/Wri ...
- SQL Server 查询数据库表的列数
select count(*) from sysobjects a join syscolumns b on a.id=b.id where a.name='表名' go
- linux中sftp默认登录的端口号是多少? sftp通过指定的端口号连接?sftp默认端口号
需求描述: 今天一个同事,遇到个问题,程序连接sftp服务器连接不上,问我端口号是多少, 我想了一下是21还是22,所以就做了测试,发现sftp默认的连接端口号是22, 在此做下记录. 操作过程: 1 ...