给Linux系统/网络管理员的nmap的29个实用例子
Nmap亦称为Network Mapper(网络映射)是一个开源并且通用的用于Linux系统/网络管理员的工具。nmap用于探查网络、执行安全扫描、网络核查并且在远程机器上找出开放端口。它可以扫描在线的主机、操作系统、包过滤器和远程主机上的开放端口。
Nmap命令使用
如何在Linux上安装nmap
如今大部分Linux发行版像Red Hat, CentOS, Fedoro, Debian 和 Ubuntu已经在它们默认的包管理仓库中包含了nmap,可以通过Yum 和 APT安装、管理和更新软件包。在这些发行版上安装nmap,可以使用下面的命令。
1. 带主机名和IP地址扫描系统
nmap工具提供了不同的方法来扫描一个系统。在这个例子中,我使用主机名为server2.tecmint.com的机器执行扫描来找出所有开放端口,服务和系统上的MAC地址。
使用主机名扫描
使用IP地址扫描
2. 使用"-v"选项扫描
你可以看到带"-v"选项的命令给出了关于远程机器的更多信息。
3.扫描多台主机
你可以简单地通过在namap后写上它们的IP地址或者主机名来扫描多台主机。
4. 扫描整个子网
你可以通过通配符来使nmap扫描整个子网或者IP段。
从上面的输出你可以看到nmap扫描了整个子网,并给出了网络中在线主机的信息。
5. 使用IP地址的最后一段扫描多台主机
你可以简单地通过指定IP地址的最后8位执行扫描多台主机。比如说,这里我在IP地址为192.168.0.101, 192.168.0.102 and 192.168.0.103的机器上执行了扫描。
6. 从文件中扫描主机列表
如果你有更多的主机要扫描,并且所有的主机都写在一个文件中,你可以直接让namp读取它并执行扫描。让我们看看要怎么做。
创建一个名为“nmaptest.txt”的文本文件,并定义所有你想要扫描的IP地址或者服务器的主机名。
接着,带“iL”参数运行nmap命令来扫描文件中所有列出的IP地址。
7. 扫描一个IP范围
在使用nmap扫描时,你可以指定一个IP范围。
8. 扫描网络时排除部分主机
你可以在执行全网扫描的时候排除一些主机,或者在使用通配符扫描时使用“–exclude”选项。
9. 扫描系统信息
(译注:原文这里提到了traceroute,实在并无此内容,删除之)
使用nmap,你可以检测到运行在远程主机上的操作系统和版本。要启用OS及其版本检测,我们可以使用带“-A”选项使用nmap。
在上面的输出中,你可以看到运行在远程主机上操作系统的TCP/IP指纹和更详细的运行在远程主机上的特定端口和服务。
10. 使用nmap启用系统检测
使用选项“-O”或“-osscan-guess”同样可以发现OS信息。
11. 扫描主机来检测防火墙
下面的命令会在远程主机上执行扫描来检测主机上是否使用了任何包过滤器或者防火墙。
12. 扫描主机以检查其受到防火墙保护
扫描检测一个主机是否受到任何包过滤器软件或者防火墙保护。
13. 找出网络中在线主机
在“-sP”选项的bang帮助下,我们可以简单地检测网络中的主机是否在线,带这个选项后nmap会跳过端口检测和其他检测。
14. 执行快速扫描
你可以带“-F”选项仅扫描所有列在nmap-services文件中的端口。
15. 找出nmap版本
你可以使用“-V”选项找出运行在你机器上的nmap版本。
16. 连续扫描端口
使用“-r”选项而不随机排列端口的扫描顺序。
17. 显示主机接口及路由
你可以使用nmap的“–iflist”选项来列出本机的主机接口和路由信息。
在上面的输出中,你可以看到上述清单列出了你系统中的已经启用的接口及它们相应的路由。(译注:这样你就知道可以通过这些接口扫描哪些网络了)
18. 扫描特定端口
nmap使用不同的选项来发现远程机器上的端口。你可以用“-p”选项指定你想扫描的TCP端口。默认上,nmap只会扫描TCP端口。
19. 扫描TCP端口
当然,你可以指定nmap扫描的端口类型(TCP或UDP)和端口号。
20. 扫描UDP端口
21. 扫描多个端口
你可以使用“-p”选项来指定多个要扫描的端口。
22. 扫描网络的端口范围
你也可以使用表达式指定扫描端口的范围。
23. 找出主机服务版本号
我们可以使用“-sV”选项找出远程主机上运行的服务及其版本号。
24. 使用 TCP ACK (PA) 和 TCP Syn(PS) 扫描远程主机
有时包过滤防火墙阻止了标准ICMPping请求,在这个情况下,我们可以使用TCP ACK和TCP Syn方法来扫描远程主机。
25. 用TCP ACK扫描远程主机的特定端口
26. 用TCP SYN扫描远程主机的特定端口
27. 执行隐秘扫描
28. 用TCP SYN扫描最常用的端口
29. 执行tcp空扫描来愚弄防火墙