1、网络测试技术与应用网络测试概述 本部分内容必须具备计算机网络知识与网络设备配置与管理的基本技能。网络设备测试,主要面向的测试对象是交换机、路由器、防火墙、无线AP等网络设备,主要目的是验证网络设备是否能够达到既定功能和性能等,在此基础上,设备的安全性也尤为重要。现在一些黑客可以通过一些工具或自己开发的脚本对设备进行攻击,比如DDOS攻击,DNS攻击等。因此,网络安全测试也显得尤为重要。网络测试通常可以分为手动测试和自动化测试。网络测试技术与应用手动测试 通过人为的搭建网络拓扑环境,进行设备连接,然后手动的输入网络设备命令,如“enable,config terminal”等一系列命令(不同的设
2、备其具体的操作命令不一样),然后再配置被测试的协议或功能,最后通过show config命令或者其他命令来验证该设备是否能够满足此功能。网络测试技术与应用自动化测试 在一定的网络拓扑结构下,通过诸如active tcl、python、ruby等自动化测试脚本基于某测试平台(诸如Ixia,sigmationTF等),经过自动化测试工程师将编写好后的脚本(如job or project文件,各不同的平台名称不一致)提交给测试平台后,一段时间后来查看运行日志,来确认或者验证设备的功能是否实现。网络测试技术与应用网络测试的基本工具“工欲善其事,必先利其器”,进行网络测试,不免要与网络协议及报文打交道,
3、使用合适、快捷的网络报文格式化、分析工具,将非常有利于我们了解网络中各类数据包的收发情况以及某协议状态的变迁过程。网络测试技术与应用7.1 Wireshark Wireshark(前身为Ethereal)和TCPDump均为网络报文分析软件。网络报文分析软件的功能是捕获网络报文,并尽可能显示出最详细的网络报文资料。网络报文分析软件的功能可想象成“电工技师使用电表来测量电流、电压、电阻”的工作只是将场景移植到网络上,并将电线替换为网线。在过去,网络报文分析软件是非常昂贵,或是专门属于盈利用的软件。Wireshark的出現改变了这一切。在GNU GPL通用许可证的保障下,使用者可以免费取得软件和其
4、代码,并拥有针对其源代码修改及自订化的权利。Wireshark是目前全世界最广泛的网络报文分析软件之一。网络测试技术与应用以下是一些使用网络报文分析软件目的的例子:网络管理员使用网络报文分析软件来检测网络问题 网络安全工程师使用网络报文分析软件来检查信息安全相关问题 开发者使用网络报文分析软件来为新的通信协议除错 普通使用者使用网络报文分析软件来学习网络协议的相关知识网络测试技术与应用关于网络报文分析软件的说明 网络报文分析软件不是入侵侦测软件(Intrusion Detection Software,IDS)。对于网络上的异常流量行为,不会产生警告或是任何提示。然而,仔细分析网络报文分析软件
5、捕获的报文能够帮助使用者对于网络行为有更清楚的了解。网络报文分析软件不会对网络报文产生內容的修改-它只会反映出目前流通的报文信息,网络报文分析软件本身也不会送出报文到网络上。网络测试技术与应用Wireshark的安装与使用P173-179教师自行安排实验网络测试技术与应用7.2 TCPDump TCPDump是一种Linux系统下常用的网络报文分析工具,我们可以根据自己的需要指定各种过滤条件从而在网络中获取想要关注的报文。TCPDump还具有网络协议分析功能,分析捕获的报文的结构从而提取出具体想要关注的信息。网络测试技术与应用命令格式Tcpdump-a-c-f-i-r-s-t-w 表达式注:工
6、具和实例基于CentOS 4.1,不同的Linux版本之间的命令可能不同。选项说明:选项说明:-i 指定监听的网络接口-v 输出一个详细的信息,如:TTL、协议类型、报文长度等-c tcpdump收到指定的包数后停止捕获报文-e 在输出行中打印数据链路层信息,如MAC地址-w 直接将包写入文件中,并不分析和打印出来-r 从指定的文件中读取报文(这些报文一般通过-w选项产生)-a 将网络地址和广播地址转变成名字网络测试技术与应用类型关键字 TCPDump表达式中的类型关键字包括Host、Net、Port三种 Host指定截获某个主机地址相关的报文 例:#tcpdump-i eth 1 host
7、5.5.5.1 Net 指定截获某个网段的相关报文 例:#tcpdump-i eth 1 net 5.5.5.0/24 Port 指定截获某一特定端口的报文 例:#tcpdump-i eth 1 port 23网络测试技术与应用传输方向关键字TCPDump表达式中的传输方向关键字包括src、dst、dst or src、dst and src四种 src 指定截获源IP为某一特定地址的报文例:#tcpdump-i eth 1 src 5.5.5.1 dst 指定截获目的IP为某一特定地址的报文例:#tcpdump-i eth 1 dst 5.5.5.5 src or dst 如果没有指明传输方
8、向关键字,缺省为src or dst src and dst指定截获源IP为src到目的IP为dst的报文例:#tcpdump-i eth 1 src 5.5.5.1 and dst 5.5.5.5网络测试技术与应用协议关键字 TCPDump的协议关键字主要包括IP、RP、TCP、UDP、RARP、FDDI等。如果没有指定任何协议关键字,TCPDump将监听所有协议类型的报文 例:#tcpdump-i eth 1 tcp#tcpdump-i eth 1 udp网络测试技术与应用其他关键字 其他关键字包括gateway、broadcast、less、greater。以及三种逻辑关键字:或(or|)、与(and&)、非(not|)例:截获从主机1.1.1.1和1.1.1.2之间的通信数据包,可以使用。#tcpdump host 1.1.1.1 and 1.1.1.2#tcpdump host 1.1.1.1&1.1.1.2网络测试技术与应用TCPDump上机实验(内容教师自己安排)