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

Linux系统下的网络端口扫描工具Nmap

Linux端口扫描工具nmapandnwatchPortscan简介portScan的方法介绍portScan就是一种通过检测对方服务器的开放端口,侦测对方服务器服务的方法。一般可分为主动式和被动式两种。主动式就是通过向对方服务器的特定端口发送数据包,根据应答来判断。以nmap

Linux端口扫描工具nmap and nwatch

Port scan简介

port Scan的方法介绍 port Scan就是一种通过检测对方服务器的开放端口,侦测对方服务器服务的方法。一般可分为主动式和被动式两种。 主动式就是通过向对方服务器的特定端口发送数据包,根据应答来判断。以nmap 为代表

被动式,不主动发出数据包,而是在网络上长时侦听,分析网上的transaction,来分析,严格的来被动式不应该被称作是端口扫描。以nwatch为代表

优缺点比较 主动式的优点

主动式只要在对方没有把通信阻断的情况下,可以在较短的时间内获得结果

主动式的缺点

   1 现在带有阻断功能的防火墙越来越多,有些防火墙当检测到端口扫描时,会将端口关闭一定的时间,还有的机器使用了很多filter功能,只对特定的IP地址提供服务,这种情况下,主动式的正确性大打折扣。

   2  主动式只是在一瞬间对端口进行扫描,只有当服务器那个时候使用的服务才有可能被侦测到。

   3  端口扫描是一种广义上的攻击行为,对于末经许可的机器,一般不能施行。

被动式的优点

    被动式只是侦听网络,不会成为网络攻击,它长期运行,可以侦测到一个长时间间内,服务器的变化。

被动式的缺点

   由于它不会主动发出请求包,即使端口开着,如果没有发生实际的通信,被动式也无法侦测到服务

3。nmap的安装

debian apt-get install nmap

fedora core yum install nmap

others 下载源代码,编译

4。nmap的使用方法

下面是Nmap支持的四种最基本的扫描方式:

    * TCP connect()端口扫描(-sT参数)。

    * TCP同步(SYN)端口扫描(-sS参数)。

    * UDP端口扫描(-sU参数)。

    * Ping扫描(-sP参数)

如果要勾画一个网络的整体情况,Ping扫描和TCP SYN扫描最为实用。

    * Ping扫描通过发送ICMP(Internet Control Message Protocol,Internet控制消息协议)回应请求数据包和TCP应答(Acknowledge,简写ACK)数据包,确定主机的状态,非常适合于检测指定网段内正在运行的主机数量。

    * TCP SYN扫描一下子不太好理解,但如果将它与TCP connect()扫描比较,就很容易看出这种扫描方式的特点。在TCP connect()扫描中,扫描器利用操作系统本身的系统调用打开一个完整的TCP连接也就是说,扫描器打开了两个主机之间的完整握手过程(SYN, SYN-ACK,和ACK)。一次完整执行的握手过程表明远程主机端口是打开的。

    * TCP SYN扫描创建的是半打开的连接,它与TCP connect()扫描的不同之处在于,TCP SYN扫描发送的是复位(RST)标记而不是结束ACK标记(即,SYN,SYN-ACK,或RST):如果远程主机正在监听且端口是打开的,远程主机用 SYN-ACK应答,Nmap发送一个RST;如果远程主机的端口是关闭的,它的应答将是RST,此时Nmap转入下一个端口。

-sS 使用SYN+ACK的方法,使用TCP SYN,

-sT 使用TCP的方法, 3次握手全做

-sU 使用UDP的方法

-sP ICMP ECHO Request 送信,有反应的端口进行调查

-sF FIN SCAN

-sX

-sN 全部FLAG OFF的无效的TCP包送信,根据错误代码判断端口情况

-P0 无视ICMP ECHO request的结果,SCAN

-p scan port range 指定SCAN的目端口的范围

   1-100, 或者使用25,100的方式

-O 侦测OS的种类

-oN 文件名 通常格式文件输出

-oX 文件名 通过DTD,使用XML格式输出结果

-oG 文件名,grep容易的格式输出

-sV 服务的程序名和版本SCAN

实例:

nmap -v target.com

这样对target.com上所有的保留TCP端口做了一次扫描,-v表示用详细模式。

nmap -sS -O target.com/24

这将开始一次SYN的半开扫描,针对的目标是target.example.com所在的C类子网,它还试图确定在其上运行的是什么系统。这需要root权限,因为用到了半开扫描以及系统侦测。

结果实例:

debianlinux:/etc/init.d# nmap 192.168.1.1

Starting nmap 3.81 ( http://www.insecure.org/nmap/ ) at 2005-08-30 00:01 JST

Interesting ports on 192.168.1.1

(The 1658 ports scanned but not shown below are in state: closed)

PORT     STATE    SERVICE

21/tcp   open     ftp

22/tcp   open     ssh

80/tcp   open     http

1720/tcp filtered H.323/Q.931

3128/tcp open     squid-http

5。nwatch的安装 nwatch 需要的包

Perl 5.005_03以上

Net::Pcap

Ndiff 0.05 bata2 以上

libpcap

debian: apt-get install nwatch

6.nwatch的使用方法

-d 网络设备名,默认为eth0

-h host/network[:port][t,u]

  t,u 可以指定TCP或UDP 默认为TCP

-o 输出文件名

-fi 时间(秒) 把数据写盘时间,默认为300秒

-si 数据Break时间(秒),默认为86400(一天)

LINK

nmap

http://www.insecure.org/nmap/

数据写盘时间,默认为300秒-si 数据Break时间(秒),默认为86400(一天)LINKnmap http://www.insecure.org/nmap/

linux下nmap工具的使用,linux下扫描端口

NMap,也就是Network Mapper,是Linux下的网络扫描和嗅探工 具包,其基本功能有三个,一是探测一组主机是否在线;其次是 扫描主机端口,嗅探所提供的网络服务;还可以推断主机所用的操作系统 。Nmap可用于扫描仅有两个节点的LAN,直至500个节点以上的网络。 Nmap 还允许用户定制扫描技巧。通常,一个简单的使用ICMP协议的ping操 作可以满足一般需求;也可以深入探测UDP或者TCP端口,直至主机 所使用的操作系统;还可以将所有探测结果记录到各种格式的日志中, 供进一步分析操作。
进行ping扫描,打印出对扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系统探测):

nmap -sP 192.168.1.0/24

仅列出指定网络上的每台主机,不发送任何报文到目标主机:

nmap -sL 192.168.1.0/24

探测目标主机开放的端口,可以指定一个以逗号分隔的端口列表(如-PS22,23,25,80):

nmap -PS 192.168.1.234

使用UDP ping探测主机:

nmap -PU 192.168.1.0/24

使用频率最高的扫描选项:SYN扫描,又称为半开放扫描,它不打开一个完全的TCP连接,执行得很快:

nmap -sS 192.168.1.0/24

当SYN扫描不能用时,TCP Connect()扫描就是默认的TCP扫描:

nmap -sT 192.168.1.0/24

UDP扫描用-sU选项,UDP扫描发送空的(没有数据)UDP报头到每个目标端口:

nmap -sU 192.168.1.0/24

确定目标机支持哪些IP协议 (TCP,ICMP,IGMP等):

nmap -sO 192.168.1.19

探测目标主机的操作系统:

nmap -O 192.168.1.19

nmap -A 192.168.1.19

另外,nmap官方文档中的例子:

nmap -v scanme.nmap.org

这个选项扫描主机scanme.nmap.org中 所有的保留TCP端口。选项-v启用细节模式。

nmap -sS -O scanme.nmap.org/24

进行秘密SYN扫描,对象为主机Saznme所在的“C类”网段 的255台主机。同时尝试确定每台工作主机的操作系统类型。因为进行SYN扫描 和操作系统检测,这个扫描需要有根权限。

nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127

进行主机列举和TCP扫描,对象为B类188.116网段中255个8位子网。这 个测试用于确定系统是否运行了sshd、DNS、imapd或4564端口。如果这些端口 打开,将使用版本检测来确定哪种应用在运行。

nmap -v -iR 100000 -P0 -p 80

随机选择100000台主机扫描是否运行Web服务器(80端口)。由起始阶段 发送探测报文来确定主机是否工作非常浪费时间,而且只需探测主机的一个端口,因 此使用-P0禁止对主机列表。

nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20

扫描4096个IP地址,查找Web服务器(不ping),将结果以Grep和XML格式保存。

host -l company.com | cut -d -f 4 | nmap -v -iL -

进行DNS区域传输,以发现company.com中的主机,然后将IP地址提供给 Nmap。上述命令用于GNU/Linux -- 其它系统进行区域传输时有不同的命令。

其他选项:

-p (只扫描指定的端口)

单个端口和用连字符表示的端口范 围(如 1-1023)都可以。当既扫描TCP端口又扫描UDP端口时,可以通过在端口号前加上T: 或者U: 指定协议。 协议限定符一直有效直到指定另一个。 例如,参数 -p U:53,111,137,T:21-25,80,139,8080 将扫描 UDP 端口53,111,和137,同时扫描列出的TCP端口。

-F (快速 (有限的端口) 扫描)


推荐阅读
  • 本文将详细探讨 Linux 系统中的 netstat 命令,该命令用于查看网络状态和连接情况。通过了解 IP 地址和端口的基本概念,我们将更好地理解如何利用 netstat 命令来监控和管理网络服务。 ... [详细]
  • 本文介绍了如何在Ubuntu 16.04系统上配置Nginx服务器,以便能够通过网络访问存储在服务器上的图片资源。这解决了在网页开发中需要使用自定义在线图标的需求。 ... [详细]
  • Linux环境下配置Subclipse访问SVN+SSH仓库的方法
    本文详细介绍如何在Linux操作系统中配置Subclipse,以便通过SSH协议安全访问SVN仓库。不同于常见的Windows配置指南,本文提供了针对Linux用户的详细步骤。 ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 搭建Jenkins、Ant与TestNG集成环境
    本文详细介绍了如何在Ubuntu 16.04系统上配置Jenkins、Ant和TestNG的集成开发环境,涵盖从安装到配置的具体步骤,并提供了创建Windows Slave节点及项目构建的指南。 ... [详细]
  • NFS(Network File System)即网络文件系统,是一种分布式文件系统协议,主要用于Unix和类Unix系统之间的文件共享。本文详细介绍NFS的配置文件/etc/exports和相关服务配置,帮助读者理解如何在Linux环境中配置NFS客户端。 ... [详细]
  • 本文详细探讨了虚拟化的基本概念,包括服务器虚拟化、网络虚拟化及其在云计算环境中的应用。特别强调了SDN技术在网络虚拟化和云计算中的关键作用,以及网络虚拟化技术如何提升资源利用效率和管理灵活性。 ... [详细]
  • 本文探讨了Unix和Linux操作系统的起源和发展历程。从20世纪60年代计算机技术的初期阶段,到Unix的诞生及后续Linux的崛起,文章详细介绍了这些操作系统如何逐步成为现代计算不可或缺的一部分。 ... [详细]
  • 本文详细记录了作者从7月份的提前批到9、10月份正式批的秋招经历,包括各公司的面试流程、技术问题及HR面的常见问题。通过这次秋招,作者深刻体会到了技术积累和面试准备的重要性。 ... [详细]
  • ipvsadm命令简介:ipvsadm是LVS在应用层的管理命令,我们可以通过这个命令去管理LVS的配置。在fedora14、Linux6.0之后系统中 ... [详细]
  • 2023年最新:PHP本地端口配置详解
    本文详细介绍了PHP在不同环境下的本地端口配置方法及常见问题解决方案,帮助开发者更好地理解和配置PHP端口。 ... [详细]
  • 本文介绍了Linux操作系统的核心组成部分——内核及其版本分类,以及市面上常见的几种Linux发行版,旨在为初学者提供一个清晰的学习路径。 ... [详细]
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社区 版权所有