如果你要侦测的设备并没有自己的操作系统,举例来说,你想要了解一下公司的网络打印机是否有开放某些协定时,
那该如何处理啊?现在你知道
netstat 可以用来查阅本机上面的许多监听中的通信协定,
那例如网络打印机这样的非本机的设备,要如何查找啊?呵呵!用 nmap 就对了!
nmap 的套件说明之名称为:『Network exploration tool and security scanner』,顾名思义,
这个东西是被系统管理员用来管理系统安全性查核的工具!他的具体描述当中也提到了,
nmap 可以经由程序内部自行定义的几个 port 对应的指纹数据,来查出该 port
的服务为何,所以我们也可以借此了解我们主机的 port 到底是干嘛用的!如果您是安装 Linux 是 Red Hat
系统的话,那么这个 nmap 套件应该已经安装妥当了,万一没有这个套件的话,也可以来到底下的网站下载:
[root@linux ~]# nmap [扫瞄类型] [扫瞄参数] [hosts 地址与范围]
参数:
[扫瞄类型]:主要的扫瞄类型有底下几种:
-sT:扫瞄 TCP 封包已创建的连接 connect() !
-sS:扫瞄 TCP 封包带有 SYN 标签的数据
-sP:以 ping 的方式进行扫瞄
-sU:以 UDP 的封包格式进行扫瞄
-sO:以 IP 的协定 ( protocol ) 进行主机的扫瞄
[扫瞄参数]:主要的扫瞄参数有几种:
-PT:使用 TCP 里头的 ping 的方式来进行扫瞄,可以获知目前有几部电脑存活(较常用)
-PI:使用实际的 ping (带有 ICMP 封包的) 来进行扫瞄
-p :这个是 port range ,例如 1024-, 80-1023, 30000-60000 等等的使用方式
[Hosts 地址与范围]:这个有趣多了,有几种类似的类型
192.168.0.100 :直接写入 HOST IP 而已,仅检查一部;
192.168.0.0/24 :为 C Class 的型态,
192.168.*.* :嘿嘿!则变为 B Class 的型态了!扫瞄的范围变广了!
192.168.0.0-50,60-100,103,200 :这种是变形的主机范围啦!很好用吧!
范例一:使用缺省参数扫瞄本机所激活的 port
[root@linux ~]# nmap localhost
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
80/tcp open http
139/tcp open netbios-ssn
# 在缺省的情况下, nmap 仅会扫瞄 TCP 的协定喔!
|
nmap 的用法很简单呐!就直接在指令后面接上 IP 或者是主机名称即可。不过,在缺省的情况下 nmap
仅会帮你分析 TCP 这个通信协定而已,像上面这个例子,他只会帮我列出 4 个已经打开的 TCP 的端口口号码,
但优点是顺道也将打开该端口口的服务也列出来了,真是好! ^_^!那如果想要同时分析
TCP/UDP 这两个常见的通信协定呢?可以这样做:
[root@linux ~]# nmap -sTU localhost
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
80/tcp open http
137/udp open|filtered netbios-ns
138/udp open|filtered netbios-dgm
139/tcp open netbios-ssn
|
嘿嘿!与前面的范例比较一下,你会发现这次多了两个 UDP 的端口口,分别是 137 与 138 ,
这样分析好多了吧!然后,如果你想要了解一下到底有几部主机活在你的网络当中时,
则可以这样做:
[root@linux ~]# nmap -sP 192.168.10.0/24
Host 192.168.10.171 appears to be up.
MAC Address: 00:01:E6:B3:AA:CC (Hewlett-Packard Company)
Host 192.168.10.174 appears to be up.
MAC Address: 00:04:75:FF:CC:DD (3 Com)
Host 192.168.10.175 appears to be up.
MAC Address: 00:0C:6E:BA:11:22 (Asustek Computer)
|
看到否?你的环境当中有三部主机活着呐!并且该 IP 所对应的 MAC 也会被记录下来,
很不错吧!如果你还想要将各个主机的启动的 port 作一番侦测的话,那就得要使用:
[root@linux ~]# nmap 192.168.10.0/24
|
之后你就会看到一堆 port number 被输出到屏幕上啰~如果想要随时记录整个网段的主机是否不小心开放了某些服务,
嘿嘿!利用 nmap 配合数据流重导向 (>, >> 等) 来输出成为文件,
那随时可以掌握住您局域网路内每部主机的服务启动状况啊! ^_^
请特别留意,这个 nmap 的功能相当的强大,也是因为如此,
所以很多刚在练习的黑客会使用这个软件来侦测别人的电脑,这个时候请您特别留意,
目前很多的人已经都有『特别的方式』来进行登录的工作!例如以
TCP_Wrappers
(/etc/hosts.allow, /etc/hosts.deny) 的功能来记录曾经侦测过该 port 的 IP!
这个软件用来『侦测自己机器的安全性』是很不错的一个工具,但是如果用来侦测别人的主机,
可是会『吃上官司』的!特别留意!!