简介
语法及示例
nmap是一款常用的网络扫描和安全评估工具,它可以用于发现网络上的主机、端口和服务等信息。下面是nmap的一些常用语法和示例:
扫描单个主机: nmap [options] <target> 示例:nmap 192.168.0.1
扫描多个主机: nmap [options] <target1> <target2> … 示例:nmap 192.168.0.1 192.168.0.2
扫描整个子网: nmap [options] <target>/24 示例:nmap 192.168.0.0/24
扫描指定端口: nmap [options] -p <port> <target> 示例:nmap -p 80 192.168.0.1
扫描常见端口: nmap [options] -F <target> 示例:nmap -F 192.168.0.1
扫描所有端口: nmap [options] -p- <target> 示例:nmap -p- 192.168.0.1
扫描指定端口范围: nmap [options] -p <start-port>-<end-port> <target> 示例:nmap -p 1-1000 192.168.0.1
扫描指定协议: nmap [options] -sU <target> # UDP扫描 nmap [options] -sT <target> # TCP扫描 示例:nmap -sU 192.168.0.1
扫描操作系统信息: nmap [options] -O <target> 示例:nmap -sV <target> 示例:nmap -sV 192.168.0.1
以上是nmap的一些常用语法和示例,你可以根据需要选择合适的选项进行扫描。
-pA参数:-pA参数是nmap的一个选项,表示同时进行TCP、UDP和ICMP协议的端口扫描。它会扫描目标主机上所有的TCP和UDP端口,并发送ICMP Echo请求来确定主机是否可达。
-pS参数表示使用TCP SYN扫描方式进行端口扫描。
TCP SYN扫描是一种常用的扫描技术,它利用TCP协议中的三次握手过程来判断目标主机上的端口是否开放。在进行扫描时,nmap发送一个SYN包给目标主机的指定端口,如果收到了SYN/ACK包作为响应,则表示该端口是开放的;如果收到了RST包作为响应,则表示该端口是关闭的。
使用nmap -pS命令可以指定要扫描的目标主机和端口范围。例如,nmap -pS 192.168.0.1-100可以扫描192.168.0.1到192.168.0.100之间的所有主机,并使用TCP SYN扫描方式进行端口扫描。
nmap是一款常用的网络扫描和安全评估工具,它可以用来探测目标主机的开放端口和服务。nmap对端口的扫描结果会将端口分为以下六种状态:
开放(Open):表示目标主机上的端口处于打开状态,可以接收连接请求并响应。
关闭(Closed):表示目标主机上的端口处于关闭状态,不接收连接请求。
过滤(Filtered):表示目标主机上的端口被防火墙或其他网络设备过滤,无法确定端口的状态。
未响应(Unfiltered):表示目标主机上的端口没有响应,但无法确定端口是否开放或关闭。
开放|过滤(Open|Filtered):表示目标主机上的端口可能是开放的,也可能被过滤,无法确定具体状态。
关闭|过滤(Closed|Filtered):表示目标主机上的端口可能是关闭的,也可能被过滤,无法确定具体状态。
这些状态可以帮助安全人员评估目标主机的安全性,并确定哪些服务和端口可能存在潜在的风险。
常见的端口扫描技术有以下几种:
TCP Connect扫描:这是最常见的端口扫描技术之一。它通过向目标主机的每个端口发送一个TCP连接请求,如果目标主机返回一个TCP连接确认包,则表示该端口是开放的。
SYN扫描(也称为半开放扫描):这种扫描技术利用TCP协议的三次握手过程。它发送一个SYN包给目标主机的每个端口,如果目标主机返回一个SYN/ACK包,则表示该端口是开放的。与TCP Connect扫描相比,SYN扫描不会建立完整的TCP连接,因此更难被目标主机检测到。
UDP扫描:UDP是一种无连接的协议,因此UDP扫描技术与TCP扫描技术有所不同。UDP扫描发送一个UDP数据包到目标主机的指定端口,如果目标主机返回一个ICMP端口不可达消息,则表示该端口是关闭的。如果没有收到任何响应,则表示该端口可能是开放的或过滤掉了。
NULL、FIN和Xmas Tree扫描:这些扫描技术利用TCP协议中的一些特殊标志位来判断端口是否开放。NULL扫描发送一个没有任何标志位的TCP包,FIN扫描发送一个只有FIN标志位的TCP包,Xmas Tree扫描发送一个同时设置FIN、URG和PSH标志位的TCP包。如果目标主机返回一个RST包,则表示该端口是关闭的。
ACK扫描:ACK扫描用于确定防火墙规则。它发送一个只有ACK标志位的TCP包,如果目标主机返回一个RST包,则表示该端口是关闭的。如果目标主机返回一个RST/ACK包,则表示该端口是开放的。
进阶用法
nmap是一款常用的网络扫描和安全评估工具,它可以用于发现网络上的主机、端口和服务等信息。除了基本的扫描功能外,nmap还提供了一些进阶用法,下面是一些示例:
指定端口范围扫描:可以使用"-p"参数指定要扫描的端口范围。例如,"nmap -p 1-100 192.168.0.1"表示扫描192.168.0.1主机上的1到100号端口。
指定扫描类型:nmap支持多种扫描类型,如TCP全连接扫描、SYN半开放扫描、UDP扫描等。可以使用"-s"参数指定扫描类型。例如,"nmap -sS 192.168.0.1"表示使用TCP全连接扫描方式对192.168.0.1进行扫描。
指定脚本扫描:nmap内置了许多脚本,可以用于执行各种安全评估任务。可以使用"–script"参数指定要执行的脚本。例如,"nmap --script vuln 192.168.0.1"表示执行漏洞扫描脚本对192.168.0.1进行扫描。
指定输出格式:可以使用"-o"参数指定扫描结果的输出格式。例如,"nmap -oN output.txt 192.168.0.1"表示将扫描结果保存到output.txt文件中。
扫描速度控制:可以使用"-T"参数指定扫描的速度。速度级别包括0(最慢)到5(最快)。例如,"nmap -T4 192.168.0.1"表示使用较快的扫描速度对192.168.0.1进行扫描。
常见端口及服务
常见端口及其对应的服务如下:
80端口:HTTP(超文本传输协议)服务,默认用于Web浏览器访问网页。
443端口:HTTPS(安全超文本传输协议)服务,默认用于加密的Web浏览器访问网页。
21端口:FTP(文件传输协议)服务,默认用于文件传输。
22端口:SSH(安全外壳协议)服务,默认用于远程登录和安全文件传输。
25端口:SMTP(简单邮件传输协议)服务,默认用于发送电子邮件。
110端口:POP3(邮局协议版本3)服务,默认用于接收电子邮件。
143端口:IMAP(互联网消息访问协议)服务,默认用于接收电子邮件。
53端口:DNS(域名系统)服务,默认用于将域名解析为IP地址。
3389端口:RDP(远程桌面协议)服务,默认用于远程控制计算机。
3306端口:MySQL数据库服务,默认用于数据库访问。