中国领先的IT技术网站
|
|

如何通过扫描工具Nmap列出开放端口和监听服务?

如果你在寻找一种可以发现在网络设备上开放的那些端口的方法,不妨了解一种功能强大的跨平台解决方案,它能够帮你达到预期效果。

作者:布加迪/编译来源:51CTO.com|2015-06-18 09:41

沙龙活动 | 去哪儿、陌陌、ThoughtWorks在自动化运维中的实践!10.28不见不散!


网络管理员面临的最棘手问题之一就是设备上的开放端口。除非你将操作系统手动安装到网络上的每个设备上,确保关闭了所有不必要的端口,否则你就有可能面临攻击的风险。

通过端口扫描工具Nmap列出开放端口和监听服务

你应该禁用的端口视系统而异,甚至可能取决于特殊软件的需要(比如说,QuickBooks需要特定的端口才能正常运行――具体哪些端口由版本决定)。你需要列出可以或必须保持开放的端口。一旦你有了这份列表,就可以着手关闭那些机器上的端口了。

但是你又如何才能知道哪些机器的哪些端口是开放的?当然了,你可以过去查看网络上的每个机器,打开用作防火墙的任何设备,手动确保所有必要的端口都开放,所有不必要的端口都关闭。

或者,你可以扫描网络,查明哪些机器的哪些端口是开放的?如果你知道了开放端口的位置,就能对照主列表来核实该信息,关闭必要的每个端口。现在来说说棘手的部分。

如何运行端口扫描?

你如何才能查明哪些机器的哪个端口是开放的?你可以运行端口扫描。假如你不知道如何运行端口扫描,我会逐步介绍整个过程。

我使用一台Linux机器来扫描。原因何在?因为Linux拥有出色的扫描工具,它们随时可以处理这项任务,不仅免费,而且易于使用。

如果你没有Linux运行在上面的机器,也不用担心――你可以下载Kali Linux之类的网络渗透直启动发行版(live distribution),将ISO文件刻录到CD或USB闪驱上,并启动机器、进入到Linux的直启动实例(不需要对所用的机器进行更改,因为直启动实例完全从内存运行)。直启动实例安装并运行起来后,你就有了形形色色的网络取证/分析工具可以使用。

你应该使用的端口扫描工具

最出色的端口扫描工具是Nmap。如果你不想捣鼓命令行,还有一个出色的GUI前端程序,名为Zenmap(https://nmap.org/zenmap/),它可适用于Linux、Windows和Mac等平台。如果你不想为Linux而操心,可以将它安装在Windows上。(Nmap的功能要比Windows内置网络扫描工具强大得多。)Nmap和Zenmap在众多平台上工作起来一模一样,所以如果你知道了如何在一个平台上使用该工具,就可以在所有平台上使用它。

Zenmap安装完毕后,你随时可以对自己的网络运行全面的端口扫描。网络规模将决定运行扫描所花的时间。如果使用Zenmap,你可以运行非常笼统的扫描和非常具体的扫描。不妨先运行非常笼统的扫描,大致了解我们所处理的对象。我们将在整个192.168.1.x网络上运行扫描。

1. 打开Zenmap。

2. 在Target(目标)部分,输入192.168.1.1/24(或者你想要扩展的任何庞大的目标)。

3. 从Profile(配置文件)中选择Intense Scan(精细扫描)。

4. 点击Scan(扫描)按钮。

你应该会立马看到结果批量装入到Nmap Output(输出)选项卡;结果显示网络中机器上的开放端口(图A)。精细扫描要花很长时间,但是如果你想要获得网络方面的最详细信息,就应该进行精细扫描。

使用Zenmap进行精细扫描

图A:使用Zenmap进行精细扫描。

一旦扫描完毕,你会在左窗格看到一份列表,列出了网络上存在的所有设备。点击其中一个设备,滚动浏览Nmap Output(输出),寻找列有Port(端口)、State(状态)和Service(服务)的这几部分(图B)。

Linux生产机器上开放的端口8080和端口8086

图B:Linux生产机器上开放的端口8080和端口8086。

如果你没有时间来梳理扫描,总是可以保存起来,以便之后查看(使用Zenmap查看)。想保存扫描结果,进入到Scan(扫描) | Save Scan(保存扫描),给它取个名字,并点击Save(保存)。

想快速查看网络上的开放端口,点击Ports/Hosts(端口/主机)选项卡,即可查看哪些端口完全开放(图C)。

使用Zenmap快速查看开放端口

图C:使用Zenmap快速查看开放端口。

如果你不想依赖GUI,如果使用Nmap(你在安装Zenmap时一并安装),就可以从命令行运行同样的扫描。比如说,你想对单一主机运行精细扫描。打开终端窗口,执行这个命令。

sudo nmap -T4 -A -v 192.168.1.1/24

这些是上述命令的参数选项符。

T4─ 将时间设为4(0-5,5代表最快)

A ─ 启用操作系统检测

v ─ 详细输出

这时候(无论你通过命令行使用Nmap还是使用Zenmap GUI),应该可以获得网络上开放端口的完整列表。既然已知道了哪些机器上的哪些端口开放,保护这些端口安全性、进而保护网络安全性的可能性大大提高。

结束语

Nmap/Zenmap不是市面上唯一的网络扫描选择方案,不过你很难找到使用更简单、功能更强大的工具来帮助发现网络上哪些端口是开放的。

英文:List open ports and listening services

【编辑推荐】

  1. 经典安全扫描工具NMap的图形界面版本Zenmap
  2. 如何防止网络监听与端口扫描
  3. Linux的企业端口扫描及实战
  4. 安全工具Nmap扫描参数解析
【责任编辑:蓝雨泪 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

实时UML与Rational Rose RealTime建模案例剖析

本书将实时系统、实时统一建模语言、实时系统的统一开发过程和Rational Rose RealTime建模环境有机地结合起来,以案例为基础,系统地介绍了...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
× Python最火的编程语言