|
1. 简介
在从事网络产品尤其是网络安全产品开发时,我们一直面临着一个问题,就是对产品的TCP/IP 协议栈进行稳定性或安全性测试,确保开发产品在遇到各种不规则的错误的IP 包时仍可正常稳定高效地工作,我们知道,在正常的网络环境中,很难产生错误的IP 包,也很难产生我们想要的错误的IP 包,为此,要完成对产品的测试,我们必须自己来制造各种各样错误的IP 包,本篇的目的就是介绍如何利用各种发包工具来制造自己想要的错误的IP 包。
2. IP 发包工具介绍
目前,有很多常用的产生IP 包的工具,如sendip 、nessus 、ipsend 、ippacket 、sniffer 等,下面我们介绍三种比较常用的工具sendip 、nessus 和sniffer 。
2.1. SENDIP 工具
SENDIP 是一个LINUX 下的命令行工具,可以通过命令行参数的方式发送各种格式的IP 包,它有大量的命令行参数来规定各种协议的头格式,目前可支持NTP, BGP, RIP, RIPng, TCP, UDP, ICMP 或 raw IPv4 和 IPv6 包格式,并且可以随意在包中添加数据。
SENDIP 可在各种UNIX 或LINUX 版本中运行,本人使用的是SLACKWARE 8.0 和REDHAT 9.0 两个版本。
可在网站http://www.earth.li/projectpurple/progs/sendip.html 中下载最新的源代码或RPM 包,目前版本为2.5,源码包大小只有54K。
2.2. NESSUS 工具
NESSUS 是一个非常庞大的工具,它可以提供功能完善的安全扫描服务,还可以提供全面的发包功能,用以构造各种格式的网络通信包。本篇只关注NESSUS 的发包功能。
NESSUS 由两个部分组成,一部分是服务器,通常运行在POSIX 系统如LINUX/UNIX 系统中,负责扫描和攻击,并收集数据,另一部分是客户端,可以运行在LINUX/UNIX 系统或WINDOWS 系统中,负责接收和显示数据。
如果只是用来发包,则只需要服务端即可。
NESSUS 有专门的维护网站,可以随时到http://www.nessus.org 网站下载最新的源代码,并获得全面的帮助。目前,NESSUS 最新的版本为2.0.8a。
2.3. SNIFFER 工具
用SNIFFER 发包时,有两种方式,一种是直接利用Packet Generator 工具,从0 开始用16 进制的方式造一个数据包,这种方法难度较高,因为要自己算出校验和,除非需要重现在网络上抓到的一个16 进制格式的数据包,另外一种方式是利用已经抓到的数据包修改一下,再发送出去,具体实现方法分别如下。
3. 总结
通过对比前面的三种发包工具,我们发现每种工具都有自己的优点和缺点,SENDIP 比较短小而且功能较齐全,比较适合在日常测试中使用,SNIFFER 发包工具最自由,可以发出任何可能的数据包,NESSUS 工具功能比较全面,但在发包方面不如SENDIP ,所以,建议如果是测试需要的话,应该采用SENDIP 和SNIFFER 相结合的方式,如果同时还要使用扫描等其他功能,可以采用NESSUS 工具。
三款常用的IP发包工具介绍.rar
(131.91 KB, 下载次数: 312)
|
|