赞
踩
nmap -h 可查看所有的参数,推荐使用这个来查看。
扫描ip地址:
wireshark流量抓包:
原理:通过ICMP不可达判断主机是否开放(结果不是太准确可尝试多试几次)
栗子:
nmap 192.168.0.1-254 -PU -sn
判断 c 类 ip 的 1到254 的主机,-PU 是发送UDP 包,-sn 是探测主机
栗子:
nmap 192.168.0.1-254 -PA -sn
判断 c 类 ip 的 1到254 的主机,-PA 是发送ack 包,-sn 是探测主机
扫描一台主机上的端口
栗子:
nmap -sU 192.168.0.103
默认进行端口扫描,时间较长途中可按回车查看进度及剩余时间
nmap -sU 192.168.0.108 -p1-65535
nmap -sU 192.168.0.108 -p1-
进行全端口扫描
指定端口进行扫描
栗子:
nmap -sU 192.168.0.106 -p122
nmap -sU 192.168.0.106 -p122,146
确认 ACK :当 ACK=1 时确认号字段有效,否则无效。TCP 规定,在连接建立后所有传送的报文段都必须把 ACK 置 1。
同步 SYN :在连接建立时用来同步序号。当 SYN=1,ACK=0 时表示这是一个连接请求报文段。若对方同意建立连接,则响应报文中 SYN=1,ACK=1。
RST : 重建连接标识。当RST=1时,表明TCP连接中出现严重错误(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立连接,发送RST包关闭连接时,直接丢弃缓冲区的包发送RST包(这个和发FIN包不同)。而接收端收到RST包后,也不必发送ACK包来确认。
介绍:应用日志不会记录 流量日志会记录
原理:nmap默认使用SYN 扫描,收到SYN/ACK响应后意味着端口开放,收到RST包意味着端口关闭。
-sS 基于SYN包扫描
-sA 基于ACK包扫描
RST包,是TCP异常终止时,为了关闭连接,避免一直占用资源,所发送的报文。其标志可在tcp包首部中看到
栗子:
nmap 192.168.0.100
nmap 192.168.0.108 -sS
(s:扫描,S:SYN)
下面是对445端口请求和响应的完整过程。
多个端口进行扫描:
扫描多个端口的开发情况
nmap -sS 目标地址 -p80,135,136 --open
(-sS可加可不加)
IP字典扫描
命令:nmap -iL ‘字典路径’ -p80,135,136 --open (z字典可直接拖入)
首先在desktop中创建a.txt文件,内容如下
-sT 是基于三次握手扫描,所以扫描时间会比较慢。
命令:nmap -sT 192.168.0.108 -p-
nmap -sT 192.168.0.106 -p-
僵尸机:
构成僵尸机的条件
1. 是空闲主机,很少发送和结束数据包
2. PID必须是递增的,0和随机都不行现在大部分主流操作系统的IPID都是随机产生的,但是早期的Windows XP系统(如Windows 2000、Windows 2003)都是递增的IPID。
发现僵尸机:
命令: nmap -p445 192.168.0.108 --script=ipidseq.nse
没有找到僵尸机,
使用僵尸机扫描目标主机
如:目标主机ip: 192.168.0.110 僵尸机ip: 192.168.0.108
命令: nmap 192.168.0.110 -sI 192.168.0.108 -p1-1000
-sI 使用僵尸机扫描 -p1-1000 扫描目标主机1-1000的端口
命令: nmap -sT 192.168.0.98 -p22 --script=banner.nse
-sT:全连接扫描
-p22: 指定端口号22
--script=banner.nse :指定banner.nse插件
命令:nmap 192.168.0.106 -p -sV
-sV进行版本检查
-p- 全端口扫描
命令:nmap -O 192.168.0.106
-O 扫描主机操作系统版本
原理:smb协议,文件共享协议 默认开放 一般端口使用为139,445,
通过smb发现主机操作系统
命令:nmap 192.168.159.131 -p139,445 --script=smb-os-discovery.nse
-p139,445指定端口
扫描目标主机的端口:
识别目标操作系统:
-iL: 后加主机ip字典 批量扫描 -iR:选择随机目标主机进行扫描(如 -iR 100 扫描全网随机100个主机) --exclude:白名单 指定不想扫的主机地址 --excludefile: 后加字典 批量指定白名单中的主机 -sL:列出目标 不进行主机发现 -sn:只ping主机 不扫端口 -Pn:扫描前不需要ping命令若防火墙禁止使用ping,可用此扫描 -PO:使用ip协议进行扫描 --dns-servers: 指定nmap的DNS服务器进行解析 --system-dns:指定系统DNS服务器 --traceroute:路由追踪 -sS:发送SYN包扫描目标主机 -sT:全连接扫描,基于三次握手扫描 -sA:ACK扫描 (可判断有无防火墙) -sU:发送UDP包探测目标主机 -sI:僵尸扫描 --top-ports <number> :扫描开放概率最高的number个端口 --port-ratio <ratio> :扫描指定频率以上的端口 <radio>为频率 -sV: 进行版本探测 --version-intensity <level>: 指定版本侦测强度(0-9) -O : 进行系统版本扫描 -T<0-5>:设置定时模板(越高越快)一般用4 --host-timeout <time>: 设置主机超时时间 --scan-delay/--max-scan-delay <time>: 调整扫描之间的延迟 --min-rate <number>: 发送数据包每秒不少于 --max-rate <number>:发送数据包每秒不多于 -D <decoy1,decoy2[,ME],...>:用诱饵掩盖扫描 -S <IP_Address>: 伪造源地址 -e 指定网卡 --data <hex string>:将自定义负载附加到已发送的数据包(十六进制) --spoof-mac <mac address/prefix/vendor name>: mac地址/常量/供应商名称>:欺骗您的mac地址 --open: 仅显示打开(或可能打开)的端口 -v:增加详细等级(使用-vv或更多预期更多的效果) -V:打印版本号
在kali中的/usr/share/nmap/scripts 中有nmap内置脚本
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。