nmap

假如你想知道一个机器或多个机器上运行了哪些服务,或者想判断一些机器有没有反应(responsive)怎么办?一个一个的 ping,然后一个一个的用 telnet 连接感兴趣的端口,再一个一个的分析返回信息吗?恐怕有些不妥。最好的方法是使用端口扫描工具 nmap(1) 。用 nmap 可以扫描 TCP 和 UDP 端口,判断一个网络设备的操作系统,探测每个被定位的服务以便确定它们的具体类型等等等等。也许 nmap 最简单的使用方法就是一下子 ping 很多台机器。你可以用网络地址表示方法(CIDR)来指定某个范围的所有地址,nmap 会挨个扫描并在完成后把结果返回给你。如果你喜欢,也可以直接使用主机名。

为了“ping”主机,你必须使用 -sP 参数。下面的命令要求 nmap “ping” www.slackware.com 以及 16 个从 72.168.24.072.168.24.15IP 地址。

darkstar:~# nmap -sP www.slackware.com 72.168.24.0/28

你也许想扫描端口,nmap 为此操作单独提供了很多选项。不给 nmap 添加任何参数时,nmap 对指定的所有主机执行标准的 TCP 端口扫描。有些选项可以让 nmap 戾气大增,如果你想更快的取得结果或者想和对方的入侵检测服务过两招的话,可以开启这些选项。关于 nmap 的内容,man 手册中讨论的相当详细。下面 3 个命令分别执行普通的端口扫描,SYN 扫描和“圣诞树”扫描。

darkstar:~# nmap www.example.com
darkstar:~# nmap -sS www.example.com
darkstar:~# nmap -sX www.example.com

警告

记住,有些因特网服务提供商很不喜欢有人扫描端口,它们可能会采取手段阻止你扫描端口。 不要把 nmap 这样的工具当作通用的因特网扫描器,最好把它们用在对自己系统的维护和安全管理工作上。

最后更新于