【工具使用】常见的NMAP命令总结
总结了一下常见的NMAP的使用命令,用来快速查看的,觉得有用的小伙伴可以收藏一下。
nmap -v 详细信息输出
nmap -p 指定端口
nmap -iL 扫描文件中的ip
nmap -exclude 不扫描某些ip
nmap -Pn 使用ping扫描,显式地关闭端口扫描,用于主机发现
nmap -sn 使用ping扫描,进行端口扫描,假设主机都是up的
nmap -sS 使用SYN扫描,不需要完成三次握手
nmap -sT TCP connect扫描,需要完成三次握手,只适用于找出TCP和UDP端口
nmap -sU 扫描UDP端口
nmap -sF FIN扫描,用于探测防火墙状态,识别端口是否关闭,容易漏扫
nmap -sV 扫描目标主机的端口和软件版本
nmap -O 远程检测操作系统和软件
nmap -O --osscan-guess 猜测目标操作系统版本
nmap -traceroute 路由跟踪
nmap -A 综合扫描,包含1-10000的端口ping扫描,操作系统扫描,脚本扫描,路由跟踪,服务探测
nmap -oN result.txt 将标准输出写入到指定文件中
nmap -oX result.xml 将输入写成xml的形式
nmap -oS result.txt 将输出写成特殊符号的形式,内容跟-oN是一样的,只是字体变了而已
nmap -oG result.txt 将输出写成特殊格式
nmap -oA 将输出所有格式,有三种 .xml/ .gnmap/ .nmap
nmap -T[0-5] 时间参数模板
-T0 用于躲避IDS,时间很长
-T1 用于躲避IDS,时间很长
-T2 降低了扫描速度,使用更小的带宽和目标主机资源对目标靶机进行扫描
-T3 默认模式,未做优化
-T4 假设用户具有合适及可靠的 *** 而加速对目标靶机的扫描
-T5 假设用户具有更好的 *** 或者愿意牺牲准确性而加速扫描
nmap -sC 根据端口识别服务自动调用默认脚本
nmap --script
nmap端口扫描结果状态有哪些
nmap端口状态解析
open , 应用程序在该端口接收 TCP 连接或者 UDP 报文。
closed 关闭的端口对于nmap也是可访问的, 它接收nmap探测报文并作出响应。但没有应用程序在其上监听。
filtered 由于包过滤阻止探测报文到达端口,nmap无法确定该端口是否开放。过滤可能来自专业的防火墙设备,路由规则 或者主机上的软件防火墙。
unfiltered 未被过滤状态意味着端口可访问,但是nmap无法确定它是开放还是关闭。 只有用于映射防火墙规则集的 ACK 扫描才会把端口分类到这个状态。
open | filtered 无法确定端口是开放还是被过滤, 开放的端口不响应就是一个例子。
没有响应也可能意味着报文过滤器丢弃了探测报文或者它引发的任何反应。UDP,IP协议, FIN, Null 等扫描会引起。
Linux 系统扫描nmap与tcpdump抓包
NMAP扫描
一款强大的 *** 探测利器工具
支持多种探测技术
--ping扫描
--多端口扫描
-- TCP/IP指纹校验
为什么需要扫描?
以获取一些公开/非 *** 息为目的
--检测潜在风险
--查找可攻击目标
--收集设备/主机/系统/软件信息
--发现可利用的安全漏洞
基本用法
nmap [扫描类型] [选项] 扫描目标...
常用的扫描类型
常用选项
-sS TCP SYN扫描(半开) 该方式发送SYN到目标端口,如果收到SYN/ACK回复,那么判断端口是开放的;如果收到RST包,说明该端口是关闭的。简单理解就是3次握手只完成一半就可以判断端口是否打开,提高扫描速度
-sT TCP 连接扫描(全开)
-sU UDP扫描
-sP ICMP扫描
-sV 探测打开的端口对应的服务版本信息
-A 目标系统全面分析 (可能会比较慢)
-p 扫描指定端口
1 ) 检查目标主机是否能ping通
2)检查目标主机所开启的TCP服务
3 ) 检查192.168.4.0/24网段内哪些主机开启了FTP、SSH服务
4)检查目标主机所开启的UDP服务
5 ) 探测打开的端口对应的服务版本信息
6)全面分析目标主机192.168.4.100的操作系统信息
tcpdump
命令行抓取数据包工具
基本用法
tcpdump [选项] [过滤条件]
常见监控选项
-i,指定监控的 *** 接口(默认监听之一个网卡)
-A,转换为 ACSII 码,以方便阅读
-w,将数据包信息保存到指定文件
-r,从指定文件读取数据包信息
常用的过滤条件:
类型:host、net、port、portrange
方向:src、dst
协议:tcp、udp、ip、wlan、arp、……
多个条件组合:and、or、not
案例1
案例2:使用tcpdump分析FTP访问中的明文交换信息
1 ) 安装部署vsftpd服务
2 ) 并启动tcpdump等待抓包
执行tcpdump命令行,添加适当的过滤条件,只抓取访问主机192.168.4.100的21端口的数据通信 ,并转换为ASCII码格式的易读文本。
3 ) case100作为客户端访问case254服务端
4 ) 查看tcpdump抓包
5 ) 再次使用tcpdump抓包,使用-w选项可以将抓取的数据包另存为文件,方便后期慢慢分析。
6 ) tcpdump命令的-r选项,可以去读之前抓取的历史数据文件
centos下安装nmap工具及简单用法
1、yum安装nmap
yum install nmap -y
yum install nc -y
nmap 命令参数:nmap -h
2、nmap 常用命令介绍:
udp 检测
nc -vuz 221.23.4.5 6127
快速扫描端口模式,扫描100个最有可能开放的端口 -v 获取扫描的信息
nmap -F -v 192.168.43.118
Tcp SYN Scan (sS) 隐蔽扫描 这是一个不完整的扫描方式,它被称为半开放扫描,Nmap发送SYN包到远程主机,但是它不会产生任何会话,在syn扫描中不需要通过完整3次的握手,因此不会在目标主机上产生任何日志记录,这个就是SYN扫描的优势,但是这种扫描是需要root权限(对于windows用户来说,是没有root权限这个概念的,root权限是linux的更高权限,对应windows的管理员权限)
Tcp connect() scan(sT) 最常用
如果不选择SYN扫描,TCP connect()扫描就是默认的扫描模式,不同于Tcp SYN扫描,Tcp connect()扫描需要完成三次握手,并且要求调用系统的connect(),Tcp connect()扫描技术只适用于找出TCP和UDP端口,但是这种方式扫描的速度快,准确性高,对操作者没有权限上的要求,但是容易被防火墙和IDS(防入侵系统)发现。
UDP scan(sU)
顾名思义,这种扫描技术用来寻找目标主机打开的UDP端口,它不需要发送任何的SYN包,因为这种技术是针对UDP端口的。UDP扫描发送UDP数据包到目标主机,并等待响应,如果返回ICMP不可达的错误消息,说明端口是关闭的,如果得到正确的适当的回应,说明端口是开放的。
nmap -sU 192.168.43.118
FIN scan (sF)
有时候Tcp SYN扫描不是更佳的扫描模式,因为有防火墙的存在,目标主机有时候可能有IDS和IPS系统的存在,防火墙会阻止掉SYN数据包。发送一个设置了FIN标志的数据包并不需要完成TCP的握手,收到RST回复说明该端口关闭,否则说明是open或filtered状态
nmap -sF 192.168.43.118
PING Scan (sP) 扫描在线主机
PING扫描它只用于找出主机是否是存在在 *** 中的,它不是用来发现是否开放端口的,PING扫描需要ROOT权限,如果用户没有ROOT权限,PING扫描将会使用connect()调用。
nmap -sP 192.168.43.118
版本检测(sV)
版本检测是用来扫描目标主机和端口上运行的软件的版本,它不同于其它的扫描技术,它不是用来扫描目标主机上开放的端口,不过它需要从开放的端口获取信息来判断软件的版本,使用版本检测扫描之前需要先用TCP SYN扫描开放了哪些端口。
nmap -sV 192.168.43.118
Idle scan (sL)
Idle scan是一种先进的匿名扫描技术,它不是用你真实的主机Ip发送数据包,而是使用另外一个目标 *** 的主机发送数据包,例如:通过目标 *** 中的192.168.43.118向主机192.168.43.4发送数据,来获取192.168.1.1开放的端口。
nmap -sL 192.168.43.118 192.168.43.4
有需要其它的扫描技术,如 FTP bounce(FTP反弹), fragmentation scan(碎片扫描),IP protocol scan(IP协议扫描),以上讨论的是几种最主要的扫描方式。
Nmap的OS检测(O)
Nmap最重要的特点之一是能够远程检测操作系统,Nmap的OS检测技术在渗透测试中用来了解远程主机的操作系统是非常有用的,通过获取的信息你可以知道已知的漏洞
nmap -O 192.168.43.17
ACK扫描:
利用ACK扫描判断端口是否被过滤。针对ACK探测包,为被过滤的端口(无论打开或关闭)会回复RST包
nmap -sA -T4 p1521,80 192.168.43.17
使用TCP ACK (PA)和TCP Syn (PS)扫描远程主机
nmap -pA -T4 p1521,80 192.168.43.17
nmap -pA -T4 p1521,80 192.168.43.17
扫描前不进行Ping扫描测试:
nmap -Pn p1521,80 192.168.43.17
通过tcp空扫描以绕过防火墙检测:
nmap -sN 192.168.43.17
打印主机接口和路由
nmap --iflist
按顺序扫描端口:
nmap -r 192.168.43.118
扫描主机检测是否有防火墙过滤:
nmap -PN -p 1521 192.168.43.17
扫描操作系统信息和路由跟踪
使用Nmap,你可以检测远程主机上运行的操作系统和版本。为了启用操作系统和版本检测,脚本扫描和路由跟踪功能,我们可以使用NMAP的“-A“选项。
nmap -A 192.168.43.17
扫描端口时状态介绍:
Open 端口开启,数据有到达主机,有程序在端口上监控
Closed 端口关闭,数据有到达主机,没有程序在端口上监控
Filtered 数据没有到达主机,返回的结果为空,数据被防火墙或者是IDS过滤
UnFiltered 数据有到达主机,但是不能识别端口的当前状态
Open|Filtered 端口没有返回值,主要发生在UDP、IP、FIN、NULL和Xmas扫描中
Closed|Filtered 只发生在IP ID idle扫描
以上总结来源于 *** 。
0条大神的评论