实验2 网络数据包的监听与分析(参考答案) 下载本文

内容发布更新时间 : 2024/5/19 16:14:01星期一 下面是文章的全部内容请认真阅读。

实验2 网络数据包的监听与分析

一 实验目的

1.掌握使用Wireshark软件监听和捕获网络数据包。

2.掌握通过实际观察网络数据进行分析而了解网络协议运行情况。

二 实验要求

1.设备要求:计算机若干台(装有Windows 2000/XP/2003操作系统、装有网卡),局域网环境,主机装有Wireshark工具。

2.每组1人,独立完成。

三 实验预备知识

1.Wireshark简介

Wireshark是一个开放源码的网络分析系统,也是是目前最好的开放源码的网络协议分析软件之一,支持Linux和Windows平台,支持500多种协议分析。

网络分析系统首先依赖于一套捕捉网络数据包的函数库。这套函数库工作在在网络分析系统模块的最底层。作用是从网卡取得数据包或者根据过滤规则取出数据包的子集,再转交给上层分析模块。从协议上说,这套函数库将一个数据包从链路层接收,将其还原至传输层以上,以供上层分析。在Linux系统中,1992年Lawrence Berkeley Lab的Steven McCanne和Van Jacobson提出了包过滤器,称之为BPF(BSD Packet Filter),设计了基于BPF的捕包函数库Libpcap。在Window系统中,意大利人Fulvio Risso和Loris Degioanni提出并实现了Winpcap函数库,其实现思想来源于BPF。

2.Wireshark的简单操作方法

安装Wireshark之前,需要安装Winpcap,安装过程比较简单。安装完成后,启动Wireshark,如图2.1所示。

图2.1 启动Wireshark后的界面

设置Capture选项。选择“Capture”-“Options”,弹出“Capture Options”界面,设置完成后点击“Capture”而开始捕获数据,如图2.2所示。

图2.2 “Capture Options”界面

在“Capture Options”界面中,主要选项如下:

? “Interface”是要求选择在哪个接口(网卡)上抓包。

? “Limit each packet”是限制每个包的大小,缺省情况不限制。

? “Capture packets in promiscuous mode”是否打开混杂模式。如果打开,抓取所有

的数据包。一般情况下只需要监听本机收到或者发出的包,因此应该关闭该选项。 ? “Capture Filter”是指过滤器,可以过滤掉某些数据包而只抓取满足过滤规则的数

据包。

? “File”是指如果需要将抓到的包保存到文件中,在这里输入文件名称。

? “Ring buffer”是指是否使用循环缓冲。缺省情况下不使用,即一直抓包。注意,

循环缓冲只有在写文件的时候才有效。

设置完“Capture Options”后,选择“Capture”-“Start”开始捕获数据,如图2.3所示。

图2.3 开始捕获数据

点击“Stop”完成数据捕获,如图2.4所示。根据捕获的数据对各种协议,如ARP、ICMP、TCP、UDP等协议进行分析。

图2.4 捕获数据包后的协议分析

2.Wireshark过滤器的简单使用 如果需要抓取某些特定的数据包时,可以有两种方法,一是在捕获数据包之前定义好包过滤器,这样就只能捕获到设定好的那些类型的数据包。包过滤器用来捕获感兴趣的数据包,用在捕获数据包过程中。包过滤器使用的是Libcap过滤器语言,在Tcpdump的手册中有详细的解释,基本结构是:

[not] primitive [and|or [not] primitive ...]

另外一种方法是捕获本机收到或者发出的全部数据包,然后使用显示过滤器,只让Ethereal显示所需要的那些类型的数据包。下面主要介绍这种方法。

在捕获数据包完成后,可以根据“协议”、“是否存在某个域”、“域值”和“域值之间的比较”等四个规则来过滤数据包。