Linux网络端口扫描工具Nmap And Nwatch

来源:岁月联盟 编辑:zhuzhu 时间:2007-08-09
Linux网络端口扫描工具Nmap And Nwatch内容简介:Port scan简介 port Scan的方法介绍 port Scan就是一种通过检测对方服务器的开放端口,侦测对方服务器服务的方法。一般可分为主动式和被动式两种。 主动式就是通过向对方服务器的特定端口发送数据包,根据应答

Port scan简介

 

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

 

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

 

优缺点比较

 

主动式的优点

 

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

 

主动式的缺点

 

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

 

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

 

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

 

被动式的优点

 

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

 

被动式的缺点

 

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

 

Nmap的安装

 

debian apt-get install nmap

 

fedora core yum install nmap

 

others 下载源代码,编译

 

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