Linux系统中的网络扫描工具:Nmap
作者:赵春柱_626 | 来源:互联网 | 2014-05-27 21:26
NMap是Linux下的网络扫描和嗅探工具包。可以帮助网管人员深入探测UDP或者TCP端口,直至主机所使用的操作系统;还可以将所有探测结果记录到各种格式的日志中,为系统安全服务。NMap,也就是NetworkMapper,是Linux下的网络扫描和嗅探工具包,其基本功能有
NMap是Linux下的网络扫描和嗅探工具包。可以帮助网管人员深
入探测UDP或者TCP端口,直至主机所使用的操作系统;还可以将所有 探测结果记录到各种格式的日志中,为系统安全服务。
NMap,也就是Network Mapper,是Linux下的网络扫描和嗅探工
具包,其基本功能有三个,一是探测一组主机是否在线;其次是扫描 主机端口,嗅探所提供的网络服务;还可以推断主机所用的操作系统
。Nmap可用于扫描仅有两个节点的LAN,直至500个节点以上的网络。Nmap
还允许用户定制扫描技巧。通常,一个简单的使用ICMP协议的ping操
作可以满足一般需求;也可以深入探测UDP或者TCP端口,直至主机所 使用的操作系统;还可以将所有探测结果记录到各种格式的日志中,
供进一步分析操作。
一、如何获得并安装Nmap
一些Linux的发行版本提供对nmap的安装支持。如果没有,你可 以获取并安装其最新版本。这里我们介绍源码的tgz安装,当然也可
以选择rpm格式或者rpm源码格式。例如,在Red Hat 6.1下从 下载nmap-latest.tgz到/home目录,执行tar
-zxvf nmap-latest.tgz, 将源码解压到/home目录下的nmap-latest子目录,然后执行configure,
make和make install命令,将nmap二进制码安装到/usr/local/bin 目录。这样就可以执行nmap。
二、Nmap的使用
1、各种扫描模式与参数
首先你需要输入要探测的主机的IP地址作为参数。假如一个LAN
中有两个节点:192.168.0.1和192.168.0.2如果在命令行中输入:nmap 192.168.0.2结果可能是:
Starting nmap V. 2.53 by (/nmap)
Interesting ports on LOVE (192.168.0.2):
(The 1511 ports scanned but not shown below are in
state:closed)
Port State Service
21/tcp open ftp
23/tcp open telnet
25/tcp open smtp
79/tcp open finger
80/tcp open http
98/tcp open linuxconf
111/tcp open sunrpc
113/tcp open auth
513/tcp open login
514/tcp open shell
515/tcp open printer
6000/tcp open X11
Nmap run completed -- 1 IP address (1 host up) scanned in 1
second
? 是对目标主机的进行全面TCP扫描后的结果。显示了监听端口的 服务情况。这一基本操作不需要任何参数,缺点是运行了日志服务的
主机可以很容易地监测到这类扫描。该命令是参数开关-sT的缺省, 即监听TCP,结果完全一样。
如果不是在本地的LAN,而是使用拨号上网主机,可以运行ifconfig
命令,或者从/var/log/messages文件中检测出你目前的IP地址,假
如是202.96.1.1,那么你不妨探测一下你的网上邻居,比如202.96.1.2 。可以输入:nmap -sT
202.96.1.2以上是一些入门的基本操作。假 如一些命令选项开关,就可以实现较高级的功能。
-sS选项可以进行更加隐蔽的扫描,并防止被目标主机检测到。 但此方式需要用户拥有root权限-sF -sX
-sN则可以进行一些超常的 扫描。假如目标主机安装了过滤和日志软件来检测同步空闲字符SYN,
那么-sS的隐蔽作用就失效了,此时可以采用-sF(隐蔽FIN), -sX(Xmas
Tree)以及-sN(Null)方式的扫描。这里需要注意的是由于微软的坚 持和独特,对于运行Windows
95/98或者NT的机器FIN,Xmas或者Null 的扫描结果将都是端口关闭,由此也是推断目标主机可能运行Windows
操作系统的一种方法。以上命令都需要有root权限。
-sU选项是监听目标主机的UDP而不是默认的TCP端口。尽管在Linux
机器上有时慢一些,但比Window系统快得多。比如,我们输入上面的 例子:
nmap -sU 192.168.0.2 结果可能是:
Starting nmap V. 2.53 by (/nmap)
Interesting ports on LOVE (192.168.0.2):
(The 1445 ports scanned but not shown below are in state:
closed)
Port State Service
111/udp open sunrpc
517/udp open talk
518/udp open ntalk
Nmap run completed -- 1 IP address (1 host up) scanned in 4
seconds
2、操作系统探测
-O选项用来推断目标主机的操作系统,可以与上述的命令参数联 合使用或者单独调用。Nmap利用TCP/IP“指纹”技术来推测目标主机
的操作系统。还使用前面的例子,我们输入:
nmap -O 192.168.0.2 结果可能是:
Starting nmap V. 2.53 by (/nmap)
Interesting ports on LOVE (192.168.0.2):
(The 1511 ports scanned but not shown below are in
state:closed)
.....
.....
TCP Sequence prediction: Class=random positive increments
Difficulty=1772042 (Good luck!)
Remote operating system guess: Linux 2.1.122 - 2.2.14
nmap提供了一个OS数据库,上例中检测到了Linux以及内核的版本号。
3、更进一步的应用
除了一次只扫描一个目标主机,你也可以同时扫描一个主机群,比如下例:
nmap -sT -O 202.96.1.1-50就可以同时扫描并探测IP地址在202.96.1.1
到202.96.1.50之间的每一台主机。当然这需要更多的时间,耗费更多的系统资源和网络带宽。输出结果也可能很长。所以,可以使用下面命令将结果重定向输送到一个文件中:
nmap -sT -O -oN test.txt 202.96.1.1-50
另外的一些命令参数选项包括:
-I 进行TCP反向用户认证扫描,可以透露扫描用户信息
-iR 进行随机主机扫描
-p 扫描特定的端口范围
-v 长数据显示,-v -v 是最长数据显示
-h 当然是快捷帮助了
综合了上述参数的例子 比如:
nmap -sS -p 23,80 -oN ftp
推荐阅读
本文探讨了Web开发与游戏开发之间的主要区别,旨在帮助开发者更好地理解两种开发领域的特性和需求。文章基于作者的实际经验和网络资料整理而成。 ...
[详细]
蜡笔小新 2024-12-18 08:26:30
在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ...
[详细]
蜡笔小新 2024-12-26 16:16:06
作者:守望者1028链接:https:www.nowcoder.comdiscuss55353来源:牛客网面试高频题:校招过程中参考过牛客诸位大佬的面经,但是具体哪一块是参考谁的我 ...
[详细]
蜡笔小新 2024-12-25 12:32:36
本文详细介绍了网络存储技术的基本概念、分类及应用场景。通过分析直连式存储(DAS)、网络附加存储(NAS)和存储区域网络(SAN)的特点,帮助读者理解不同存储方式的优势与局限性。 ...
[详细]
蜡笔小新 2024-12-24 10:38:34
阿里云ecs怎么配置php环境,阿里云ecs配置选择 ...
[详细]
蜡笔小新 2024-12-23 11:12:07
NFS(Network File System)即网络文件系统,是一种分布式文件系统协议,主要用于Unix和类Unix系统之间的文件共享。本文详细介绍NFS的配置文件/etc/exports和相关服务配置,帮助读者理解如何在Linux环境中配置NFS客户端。 ...
[详细]
蜡笔小新 2024-12-18 18:23:35
1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ...
[详细]
蜡笔小新 2024-12-27 19:32:17
本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ...
[详细]
蜡笔小新 2024-12-27 13:47:38
本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ...
[详细]
蜡笔小新 2024-12-27 13:14:08
本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ...
[详细]
蜡笔小新 2024-12-26 19:14:29
本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ...
[详细]
蜡笔小新 2024-12-26 17:37:25
本文探讨了并发编程中的关键设计原则,特别是Java内存模型(JMM)的happens-before规则及其对多线程编程的影响。文章详细介绍了DCL双重检查锁定模式的问题及解决方案,并总结了不同处理器和内存模型之间的关系,旨在为程序员提供更深入的理解和最佳实践。 ...
[详细]
蜡笔小新 2024-12-26 01:14:06
一、【组网和实验环境】按如上的接口ip先作配置,再作ipsec的相关配置,配置文本见文章最后本文实验采用的交换机是H3C模拟器,下载地址如 ...
[详细]
蜡笔小新 2024-12-22 20:24:15
在编译BSP包过程中,遇到了一个与 'gets' 函数相关的编译错误。该问题通常发生在较新的编译环境中,由于 'gets' 函数已被弃用并视为安全漏洞。本文将详细介绍如何通过修改源代码和配置文件来解决这一问题。 ...
[详细]
蜡笔小新 2024-12-21 11:21:05
远程过程调用(RPC)是一种允许客户端通过网络请求服务器执行特定功能的技术。它简化了分布式系统的交互,使开发者可以像调用本地函数一样调用远程服务,并获得返回结果。本文将深入探讨RPC的工作原理、发展历程及其在现代技术中的应用。 ...
[详细]
蜡笔小新 2024-12-20 15:12:33