nmap


端口扫描

开放端口

扫描主机的「开放端口」,在nmap后面直接跟主机IP(默认扫描1000个端口)

nmap ip

指定端口

扫描「指定端口」,使用 -p 参数,可以一次扫描单个端口、多个端口、或扫描一个范围的端口

nmap ip -p 80
nmap ip -p 1-80
nmap ip -p 80,3389
nmap ip -p 1-65535
nmap ip -p-		# -p- 等价于 -p 1-65535

指定扫描方式

TCP全连接扫描

使用 -sT 参数进行TCP全连接扫描。

全连接扫描,使用完整的三次握手建立链接,能够建立链接就判定端口开放,否则判定端口关闭。

nmap ip -p 80 -sT

如果端口开放,就会进行完整的三次握手,成功建立链接,扫描结果中,STATE字段显示为 open 。

如果端口关闭,就只能进行一次握手,无法建立链接,扫描结果中,STATE字段显示为 closed。

SYN半链接扫描

使用 -sS 参数进行SYN半链接扫描。

半链接扫描,只进行两次握手,对方返回确认帧(ACK=1)就判定端口开放,否则判定端口关闭。

nmap ip -p 80 -sS

如果端口开放,就会进行两次握手,扫描结果中,STATE字段为 open 。

如果端口关闭,就只有一次握手,扫描结果中,STATE字段为 closed。

隐秘扫描

隐秘扫描,只适用于Linux系统。

隐秘扫描,向目标主机的端口发送TCP FIN包 或 Xmas tree包 或 Null包,如果收到RST响应包,就判定端口关闭,否则就判定端口开放或被屏蔽(open/filtered)

nmap 127.0.0.1 -p 80 -sF	# Fin扫描
nmap 127.0.0.1 -p 80 -sN	# Null扫描(所有flags都为0的TCP包)
nmap 127.0.0.1 -p 80 -sX	# Xmas扫描(flags的FIN、URG、PUSH都为1的包)

主机探测

扫描网段中有哪些主机在线,使用 -sP 参数,不扫描端口,只扫描「存活主机」。

本质上是Ping扫描,能Ping通有回包,就判定主机在线。

nmap -sP 192.168.31.0/24

服务识别

扫描端口时,默认显示端口对应的服务,但不显示服务版本。

nmap ip -p 80 -sV

扫描结果中,VERSION字段显示服务的详细版本。

系统识别

想要识别操作系统版本,可以使用 -O 参数。

nmap ip -p 80 -O

img

参考文章:

https://blog.csdn.net/wangyuxiang946/article/details/127710186


文章作者: f14g
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 f14g !
评论
  目录