Nmap for Mac OS X 探索网络、扫描端口等

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 网站也有很多很棒的资源并提供大量文档