发现这篇文章写得蛮详细的,分享出来,关于优化nmap的性能(目的是加快速度,提高准确性)(扫描方法:分步骤,原文:https://boke.wsfnk.com/archives/154.html),当然nmap的使用众说纷坛,大家可别用它做坏事啊……..

 

 

第一:快速判断是否在线(UDP和TCP不要同时进行)
	nmap -sP -n 117.169.17.1/24		#非常快速,速度与fping相差无几

第二步:控制扫描的端口,默认nmap扫描1000多个端口
	-F 	#快速扫描100个常用端口
	--top-ports<端口个数>
	-p	#指定端口号

第三步:跳过高级扫描功能(先不用下面的参数)
	-A	#自带的扫描模板,用来进行操作系统及其版本的探测
	-sV
	-sC
	-O
	--traceroute
	可能的话关闭dns解析 -n

第四步:(可选)并行/分段扫描
	--min-hostgroup	5	#一次扫描5个主机(分组扫描)
	--min-parallelism 5	#一个开5个并行扫描
	--host-timeout 5s	#每个主机最大耗时,单位可以是s,m,h(默认是毫秒)
	--max-retries 2		#最大重传次数为2,(针对某些安全设备会,将首包丢弃,也可以测防火墙的丢弃规则)
	-T0			#nmap提供的时间模板,T0-T5

 

 

 

1:nmap可以根的设备地址写法,可以有如下多种(域名,ip,网段)

nmap 117.169.17.138		#扫描一个ip
	nmap www.baidu.com		#扫描一个域名
	nmap 117.169.17.138,139,149	#扫描同网段多个ip
	nmap 117.169.17.138 59.63.239.242 117.41.229.69		#扫描不同网段的多个ip
	nmap 117.169.17.138-150	#扫描同一网段连续多个ip
	nmap 117.169.17.138-150	--exclude 117.169.17.145	#扫描同一网段连续多个ip,但是排除17.145这个
	nmap 117.169.17.138-150	--exclude filter		#扫描同一网段连续多个ip,但是排除filter文件内的IP
	nmap 117.169.1-20.*		#扫描多个网段
	nmap 117.169.17.128/25		#扫描一个网段
	nmap -iL filename		#从文件导入设备地址,文件内地址一行一个[段]
	nmap -iR 10			#表示随机生成10个公网IP进行扫描

 

 

 

 

2:如何找到网络上的设备(DNS,或直接IP)

-sL	#不做扫描,只完成dns解析和网址的转换
		nmap -sL 8.8.8.8	#查看这个ip有没有解析到域名
		nmap -sL www.baidu.com

	-sP	#默认发送ICMP echo 请求,和TCP的ACK请求80端口
	-Pn	#不ping,(这个参数主要是因为nmap的工作流程是先ping,再扫,用了它,直接扫描)

	-PS	#发TCP协议SYN标记的空包,默认扫描80端口(慢)
	-PA	#发TCP协议的ACK标记的空包,默认扫描80端口
	-PU	#udp ping,默认扫描31338端口
	-PR	#ARP ping

	#其他设置项
	--traceroute	#路由追踪
	-n		#不做DNS解析
	-R		#DNS解析所有的地址,默认不解析不在线的IP
	--dns-servers 8.8.8.8	#使用其他DNS
	--system-dns		#使用系统DNS

 

 

 

 

 

3:端口扫描概要

#端口返回状态解读
	open		#端口开启,有进程监听
	closed		#端口关闭,数据能到达主机,但没有程序监听
	filterd		#数据未能到达主机
	unfilterd	#数据能到达主机,但是nmap无法判断端口是否开启
	open|filterd	#端口没有返回值,主要出现在UDP,IP,FIN,NULL和Xmas扫描
	close|filterd	#只出现在IP ID idle扫描

 

 

 

 

 

4:端口扫描技术和算法

-sS	#只发送TCP的SYN包,即第一次握手包,又叫匿名扫描(因为设备通常只会记录建立成功的会话,这中发起连接的不记录)
	-sT	#TCP全连接扫描,nmap会完成3次握手,默认模式
	-sV	#探测开放的端口和服务程序的版本信息
	-sW	#扫描TCP的窗口大小
	-sUV	#能增加UDP扫描的准确性
	-sO	#服务器协议扫描,获取服务器支持那些协议
	-b	#FTP反弹扫描,现在好多网络里面都不能用了(向ftp服务器请求,让ftp代理我去向指定的服务器拿数据)
	--scanflags<URG,ACK,PSH,RST,SYN,FIN>	#用户定制的TCP扫描(可以定制特殊的包,进行探测)

	#TCP idle扫描
	-sI<僵尸机>:port	#

 

 

 

 

5:服务和应用程序版本的识别

-sV		#探测开放的端口和软件版本信息
	--version-light	#相当于0-2级别的版本详情
	--version-all	#相当于0-9的级别版本详情
		nmap -p 80 boke.wsfnk.com -sV

 

 

 

 

6:远程操作系统识别

-O	#启动操作系统识别
	--osscan-limit	#限定只识别有端口开放的主机,提供-A和-A参数时的速度

 

 

 

 

7:nmap脚本引擎

NSE提供了哪些功能
	1:网络探测:whios,snmp,nfs/smb/rpc
	2:更为复杂的版本探测:Skype,QQ,微信
	3:网络漏洞识别:错误配置,软件漏洞
	4:后门识别:模仿僵尸网络,蠕虫的网络通信
	5:漏洞利用:类似Metasploit的功能

	#nmap采用yum安装方式,其脚本路径在
	tree /usr/share/nmap/scripts

├── http-robots.txt.nse
├── http-title.nse
├── http-trace.nse
├── http-userdir-enum.nse
├── http-vhosts.nse
├── http-vmware-path-vuln.nse
├── iax2-version.nse

	#使用
	nmap --script=http-title,http-methods boke.wsfnk.com -p 80

	-sC			#等价于 --script=default,调用默认脚本
	--script=	#可以是脚本种类,文件路径,文件名或则all(表示所有)
	--script-updatedb	#更新脚本库
	--script-help	#获取相应脚本的使用帮助
	--scripts-args=<n1=v1,[n2=v2]>	#给脚本提供参数
	--scripts-args-file=filename	#以文件的方式提供参数

 

 

 

 

8:识别和绕过防火墙和IDS

-f	#数据分片,即将一个正常数据分成几个包(分片大小必须是8的整数倍)
	-D	#生成一堆欺骗性的地址的数据包
	-S	#生成一个欺骗性的地址的数据包
	-e	#使用哪种网卡发送
	-g	#
	--date-length	#设置数据长度
	--ttl	#指定TTL

 

 

 

 

 

9:格式化输出nmap内容

-oN filename	#标准输出到文件中
	-oX filename	#将结果输出问xml格式的,便于zenmap查看,方便后期做程序分析
	-oG filename	#有利于grep操作的方式,每一个主机信息用一行信息来显示,并且被分割开来
	-oA filename	#输出为多种格式(包括xml等),有多个后缀文件

	#输出详细和调试设置
	-v		#显示详细,v越多越详细,太多没用的
	-d[0~9]		#显示nmap收/发了那些包
	--reason	#
	--packet-trace	#包跟踪,类似路由跟踪

+++++++++++

 

 

 

 

常用选项集参数使用

nmap -A 192.168.10.1	#扫描开放的网络端口
nmap -o 192.168.10.1    #识别远程操作系统
nmap -Pn 192.168.1.1	#-PN:对目标进行深度扫描,(原因是nmap可能对某些主机,显示类似离线的状态)(通常不怎么有用)
nmap -sP 192.168.1.0/24	#快速判定是否在线(s表示查看扫描80和443端口)(P表示普通ping)(有一项返回就判定在线)
nmap -PS 192.168.1.1	#在(默认)icmp阻塞的情况下,此命令一样可用,他使用syn来探测的
nmap -PA 192.168.1.1	#使用tcp的ack嗅探包
nmap -PY 192.168.1.1	#使用ctp嗅探
nmap -PP 192.168.1.1	#使用icmp的时间戳来嗅探是否有防火墙保护
nmap --script=http-title,http-methods boke.wsfnk.com -p 80 #使用NSE脚本扫描

 

 

 

nc 登录远程的hp打印机

nc 192.168.10.10 23	#后面23是端口号

nmap的Connect扫描是通过TCP完成三次握手来检测的,所以速度相对于SYN半开放扫描要慢,但结果更可靠。

 

 

 

扫描TCP端口常用命令:

nmap -sT 192.168.2.230-255
nmap -sT -p 20-3389 192.168.2.230-255

 

 

扫描UDP端口常用命令:
UDP相比于TCP协议被防火墙拦截的几率更小。

nmap -sU 192.168.2.230-255
nmap -sU -p 0-30000 192.168.2.230-255

 

 

udping udp ping (测试udp丢包率)

#工作原理,
    1:使用udp来测试丢包率,若对方未开启udp端口,则会以icmp的方式回复不可达,可以看出丢包率
    2:使用udp对方不回复,看不出丢包率
    3:使用udp 对方反馈信息,可以看出丢包率

nping --udp -p 9999 52.199.165.80 -c 1000

    版权声明:

     本网站的所有文字、图片资料,【未注明转载的】均由作者亲自整理创作,任何媒体、网站或个人未经本人同意和授权不得复制、转载、转贴或以其他方式复制发布/发表,请尊重我的劳动成果,侵权必究,谢谢。

阿沐
1625139774@qq.com

发表评论

电子邮件地址不会被公开。 必填项已用*标注