nmap -V
查看版本号
端口扫描
nmap IP
或nmap 域名
(默认扫描1000个端口)
指定端口 参数-p
-
nmap -p 80 192.168.31.180
# 扫描单个端口 -
nmap -p 1-80 192.168.31.180
# 一个范围的端口 -
nmap -p 80,3389,22,21 192.168.31.180
# 多个端口 -
nmap -p- 192.168.31.180
# 指定所有端口即1-65535
TCP全连接扫描 参数-sT
nmap -p 80 -sT 192.168.31.180
寓意scanTcp,还是驼峰命名法。
「全连接扫描」使用完整的三次握手建立连接,能够建立连接就判定端口开放,否则判定端口关闭。
如果端口开放,就会进行完整的三次握手,成功建立连接。
如果端口关闭,就只能进行一次握手,无法建立连接。
SYN半链接扫描
nmap -p 80 -sS 192.168.31.180
寓意scanSyn
「半链接扫描」只进行两次握手,对方返回确认帧(ACK=1)就判定端口开放,否则判定端口关闭。
如果端口开放,就会进行两次握手。
如果端口关闭,就只有一次握手。
隐秘扫描 -sF或-sN或-sX
隐秘扫描,只适用于Linux系统。
「隐秘扫描」向目标主机的端口发送TCP FIN包 或 Xmas tree包 或 Null包,如果收到RST响应包,就判定端口关闭,否则就判定端口开放或被屏蔽(open/filtered)
-
nmap -p 80 -sF 127.0.0.1 # Fin扫描
-
nmap -p 80 -sN 127.0.0.1 # Null扫描(所有flags都为0的TCP包)
-
nmap -p 80 -sX 127.0.0.1 # Xmas扫描(flags的FIN、URG、PUSH都为1的包)
主机探测 | C段查询
nmap -sP 192.168.31.0/24
寓意scanPing
扫描网段中有哪些主机在线,使用
-sP
服务版本识别
扫描端口时,默认显示端口对应的服务,但不显示服务版本,可以使用
-sV
参数来显示。
nmap -p 80 -sV 192.168.31.180
寓意scanVersion
系统识别
想要识别「操作系统版本」,可以使用 -O
参数。寓意OS
nmap -p 80 -O 192.168.31.180
提示:
-
Nmap扫描出的系统版本并完全准确,仅供参考。
-
当识别不出具体版本时,Nmap会以概率的形式列举出可能的操作系统,如上图所示。
扫描结果导出
-
将扫描结果导出为「文本格式」,结果原样保存。
nmap -p 80 -oN result.txt 192.168.31.180
寓意outputNotepad貌似等价于
nmap -p 80 192.168.31.180 > result.txt
-
将扫描结果导出为「xml格式」,结果的保存格式会发生变化。nmap 192.168.31.180 -p 80 -oX result.xml
非特殊说明,本博所有文章均为博主原创。
共有 0 条评论