Nmap for Mac OS X 探索网络、扫描端口等
Nmap 是一个功能强大的命令行网络发现实用程序,可让您查看网络清单、主机响应和正常运行时间,并通过端口扫描、操作系统和防火墙检测等执行安全审计。虽然它是免费的(并且是开源的)并且随许多 linux 版本一起提供,但它并不是 Mac OS X 安装的标准配置,因此必须单独安装。 Nmap 通常相当先进,但即使对于我们这些不是网络管理员和安全专业人员的人来说,它也有很多有用的应用程序,它还可以帮助完成简单的网络设置任务和故障排除。
安装 nmap 时,您还可以选择安装全套网络发现实用程序,包括 ncat、zenmap(需要 X11)、ndiff 和 nping。这些都是有用的工具,因此最好一路安装它们。
如何为 Mac OS X 安装 Nmap
使用 DMG 安装程序是最简单的方法,但您也可以从源代码自己构建 nmap 或通过 Homebrew 或 MacPorts 等工具获取它。
通过 nmap.org 下载 nmap 的 dmg 安装程序:
- 获取 Mac OS X 的 nmap(免费)
- 通过 dmg 安装,确保右键单击并选择“打开”以绕过 Gatekeeper 警告(如果它仍然处于启用状态)
- 安装完整的 nmap 套件,或选择性地选择是否安装 ncat、ndiff、nping 等
要在 Mac 上使用 Homebrew 安装 Nmap,只需运行以下命令:
brew 安装 nmap
无需重新启动,但您需要刷新或打开一个新的终端才能在您的路径中找到 nmap。
Nmap 的使用示例
Nmap 适用于 LAN 和 WAN IP,并且具有近乎无限的应用,但我们将介绍一些常用的简单技巧。请注意,从 Mac OS X 计算机返回的信息非常少的情况并不少见,尤其是在启用了软件防火墙且未启用共享服务的情况下。另一方面,即使启用了 Windows 防火墙,扫描 Windows PC 或 Windows 计算机网络通常也会为您提供大量信息并揭示许多服务。
在本地主机上查找开放端口
Nmap 可以很容易地找出本地主机(即您的计算机)上打开了哪些端口:
nmap 本地主机
您可能会看到类似以下的报告:
端口状态服务
22/tcp打开ssh
80/tcp打开http
445/tcp打开microsoft-ds
548/tcp打开afp
>6817/tcp 开放未知
这让您知道 SSH/SFTP、HTTP、Samba 和 Apple 文件共享协议都在本地主机 Mac 上打开,并显示它们在哪些端口下运行。
对于 Mac,直接在“系统偏好设置”“共享”面板中切换各种选项将直接影响您看到的正在运行的内容,无论是 激活 SSH 和 SFTP 服务器并启用远程登录、打开和关闭 Mac 或 Windows 或两者的文件共享、屏幕共享或其他任何功能。另外,如果您在某个时候启动本地网络服务器(即使是super quick python http server),您还会发现那些正在运行的。
扫描并列出一系列本地网络 IP
您还可以找到有关本地网络上其他机器的信息。我们假设您的 LAN 的 IP 范围为 192.168.0.1 到 192.168.0.25,请适当更改这些数字:
nmap -sP 192.168.0.1-25
如果不知道范围,也可以使用通配符:
nmap 192.168.0.*
扫描和检测操作系统
使用与上述相同的 IP 范围概念,您可以尝试发现联网计算机上运行的操作系统及其附带版本。这并不总是有效,但尝试没有坏处:
nmap -O 192.168.0.1-5
如果没有任何反馈(并不少见),您可以尝试使用 –osscan-guess 标志来尝试根据检测到的服务猜测正在运行的操作系统:
nmap --osscan-guess 192.168.0.2
将 Nmap 与备用 DNS 服务器和跟踪路由一起使用
Nmap 对于解决 Internet 连接、WAN 问题和公共可用资产问题也非常有用,并且在尝试确定网络问题是您的网络、ISP 还是其他地方时也很有帮助。通过使用 –traceroute 和 –dns-servers 标志,您将能够帮助确定发生了什么和发生了什么,如果您在访问某些远程 IP 时遇到问题但不确定主机是否真的不可用或不确定,后者特别有用。如果您的 DNS 服务器有问题。
–dns-servers 标志覆盖该扫描的系统 DNS 设置。在这里,我们将使用 nmap 扫描 yahoo.com 的备用 DNS(示例中使用的是 Google 的 DNS 服务器):
nmap --dns-servers 8.8.8.8 yahoo.com
在此示例中,如果 yahoo.com 通过备用 DNS 运行,但在不指定 –dns-servers 的情况下对您不可用,则您可能会遇到问题,无论您使用的是哪个 DNS 服务器,而不是主机本身。
–traceroute 标志在扫描中结合了熟悉的跟踪路由功能,注意这必须通过 sudo 以 root 身份运行:
sudo nmap --traceroute yahoo.com
更多资源
Nmap 提供的功能比我们上面提到的要多得多,您可以通过键入以下内容查看可能的命令和标志的完整列表:
nmap --help
或者调用手册页:
man nmap
如果您有兴趣了解更多信息,nmap 网站也有很多很棒的资源并提供大量文档。