Nmap 扫描网络安全和渗透测试
Nmap 代表Network Mapper是一个免费的开源命令行 工具。 Nmap 是一种用于侦察的信息收集工具。基本上,它扫描计算机网络上的主机和服务意味着它发送数据包并分析响应。下面列出的是您可以在 Nmap 工具的帮助下运行的最有用的扫描。
TCP 扫描/TCP 连接扫描:
nmap -sT 192.168.1.12 --top-ports 50
这里:
- -sT用于 TCP 扫描。
- –top-ports用于给出顶部端口,用于给出端口数。这里我们给出 50 表示 TCP 中最常用的前 50 个端口。
- 192.168.1.12是目标 IP。您还可以提供目标 URL。
此扫描用于扫描 TCP 端口。它完成了3次握手过程,这意味着主机保留了记录。
使用此命令,您的系统会发送一个 SYN 数据包以及带有 SYN 和 ACK 数据包的 Destination 响应,这意味着该端口正在侦听,您的系统会发送一个 ACK 数据包以完成连接。
如果端口关闭,则目标以 RST/ACK 数据包响应。
在上图中,您可以看到 TCP 扫描的结果,您可以看到这些端口上的端口和服务的端口号和状态。
SYN 扫描/隐形扫描/半开扫描:
nmap -sS 192.168.1.12 --top-ports 50
这里: -sS用于 SYN 扫描。
SYN 扫描与 TCP 扫描相同,因为它不完成 3 次握手过程。
在此扫描中,源发送 SYN 数据包,目的地以 SYN/ACK 数据包响应,但源通过发送 RST 数据包中断 3 次握手。由于中断 Destination 或 host 不保留 Source 系统的记录。
SYN扫描和TCP扫描的区别:
SYN SCAN | TCP SCAN |
---|---|
3-way handshake not completed. | 3-way handshake completed. |
The host Does not keep any record of the system by which this scan is done. | The host keeps any record of the system by which this scan is done. |
This scan is done by the privileged users only means for Linux system the Root user and for Windows system Admin. | Privileged users are not required. |
UDP 扫描:-
nmap -sU 192.168.1.12 --top-ports 50
这里: -sU用于激活 UDP 扫描。它通常发送空的 UDP 数据包,它比 TCP Scan 花费更多的时间。
Ping 扫描/无端口扫描:
nmap -sn 192.168.1.0/24
这里:-sn 和 -sP都用于 Ping 扫描。
仅打印响应网络内主机发现探测的可用主机。上面的命令没有告诉任何关于系统端口的信息。您还可以使用它来检查单个 IP 以检查主机是否已启动。
端口扫描结果的不同状态及其含义:
端口扫描结果主要有4种State。
1.开放:端口是开放意味着服务正在侦听该端口,例如,运行在端口 3306 的 MySQL 服务,如 TCP 扫描结果图像中所见。
2. 关闭:这意味着服务没有在那个端口监听。
3. 过滤:端口被防火墙等安全系统过滤,端口是打开还是关闭是不确定的。如果主机发送异常响应,则端口也会被过滤。就像上面的 UDP 扫描结果图像一样,当主机发送像 ICMP Unreachable 这样的响应时,该端口被视为已过滤。
4. 打开 |已过滤:主机没有给出答案,因此端口可能被防火墙过滤。但在某些情况下,如 UDP 扫描图像的上述结果,主机不会像 TCP 扫描那样发送 ACK 数据包,因此由于缺乏响应,该端口可能是开放的。