文章目录
扫描步骤
优化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<ports_list> #发TCP协议SYN标记的空包,默认扫描80端口(慢)
-PA<ports_list> #发TCP协议的ACK标记的空包,默认扫描80端口
-PU<ports_list> #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 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 wsfnk.com -p 80
-sC #等价于 --script=default,调用默认脚本
--script=<Lua scripts> #可以是脚本种类,文件路径,文件名或则all(表示所有)
--script-updatedb #更新脚本库
--script-help<Lua scripts> #获取相应脚本的使用帮助
--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 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
TCP全连接Dos攻击(可行)
特点:快速的占满对方的tcp连接资源,达到拒绝服务的目的
需求:一次建3千个连接,一共建立1000000个连接(默认是和80端口建立)
命令:nping --tcp-connect --rate=3000 -c 1000000 -q 192.168.100.2
防御措施:
1、对单ip的连接速率进行限制
2、防护软件联动黑名单,检测单ip连接速超过阀值,直接Drop
如果文章对你有帮助,欢迎点击上方按钮打赏作者
暂无评论