热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux网络嗅测器Nmap

摘要: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下从 http://www.insecure.org/nmap 下载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 fyodor@insecure.org (www.insecure.org/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 fyodor@insecure.org (www.insecure.org/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 fyodor@insecure.org (www.insecure.org/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 ftphttpscan.txt 209.212.53.50-100

   4、nmap的图形用户界面GUI

nmap有一些图形用户前端,比如:
NmapFE: GTK界面,网址:http://codebox.net/nmapfe.html
Kmap: Qt/KDE前端,网址:http://www.edotorg.org/kde/kmap/
KNmap: KDE前端,网址:http://pages.infinit.net/rewind/


推荐阅读
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Linux防火墙配置—允许转发
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • SQL Server 2008 到底需要使用哪些端口?
    SQLServer2008到底需要使用哪些端口?-下面就来介绍下SQLServer2008中使用的端口有哪些:  首先,最常用最常见的就是1433端口。这个是数据库引擎的端口,如果 ... [详细]
  • 实例详解ISA防火墙策略元素
    我们在前面的工作中已经实现了ISA2006的代理服务器功能,接下来我们要实现ISA的访问控制功能。很多公司都有控制员工访问外网的需求,例如有的公司不允许 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 介绍一款好用的内网穿透工具FRP
    本文介绍了一款好用的内网穿透工具FRP,它是一个使用Go语言开发的高性能的反向代理应用。FRP支持多种协议类型,并且可以根据域名进行路由转发。 ... [详细]
  • Ansem 最新雄文:软着陆后,加密市场下阶段趋势与核心叙事
    市场最糟糕的时候已经过去,以太坊合并前不太会看到新的低点;但仍需来自关注宏观市场的不确定风险。撰文:Ansem ... [详细]
  • 域名解析系统DNS
    文章目录前言一、域名系统概述二、因特网的域名结构三、域名服务器1.根域名服务器2.顶级域名服务器(TLD,top-leveldomain)3.权威(Authoritative)域名 ... [详细]
  • 定义#definePCAP_OPENFLAG_PROMISCUOUS1    定义适配器是否必须进入混杂模式。#definePCAP_OPENFLAG_DATATX_UDP2    ... [详细]
author-avatar
水门街口卖瓜子的
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有