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

更新时间:2024-01-18 13:23: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显示所需要的那些类型的数据包。下面主要介绍这种方法。

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

例如,如果只需查看使用ARP协议的数据包,在Wireshark窗口中的“Filter”中输入arp(注意是小写), 然后回车或点击“Apply”,Wireshark 就会只显示ARP协议的数据包,如图2.5所示。

图2.5 使用协议进行过滤

域值比较表达式可以使用“==”、“>”、“!=”等操作符来构造显示过滤器,例如ip.addr==10.1.10.20,ip.addr!=10.1.10.20,frame.pkt_len>10等。域值可以从“Expression”中进行选择,如图2.6所示。

图2.6 添加域值比较表达式

组合表达式还可以使用“and”、“or”、和“not”等逻辑操作符,其中逻辑与“and”也可用“&&”表示,例如ip.addr==172.16.28.211&&frame.pkt_len < 100;逻辑或“or”也可用“||”表示,例如ip.addr==172.16.28.211||ip.addr==172.16.28.254,如图2.7所示;逻辑非“not”也可用“!”表示,例如!llc。

图2.7 组合表达式的应用

四 实验内容与步骤

本实验指导可利用实验室网络进行。

1.使用Ethereal(Wireshark)捕获数据包,完成如下操作: (1)当前网络中主要的网络协议是什么?请记录实验数据。 可根据“协议分级统计”(“统计”菜单下)来查看统计结果。如下图所示。

主要的网络协议

根据实际情况填写,如IPv4、UDP、IGMP、ARP、…

(2)当前网络中主要数据包大小在什么范围?请记录实验数据。 可根据“分组长度”(“统计”菜单下)查看统计结果。如下图所示。

数据包大小范围、个数 根据实际情况填写。如:40-79B,占76.19%;160-319B,占19.05%;…

2.协议分析

(1)设置源主机的TCP/IP属性,并记录其IP;设置目的主机的TCP/IP属性,使其与源主机在同一个网络内,记录IP。 源主机IP 根据实际设置情况填写,如: 192.168.10.11 目的主机IP 根据实际设置情况填写,如: 192.168.10.10

(2)使用显示过滤器Filter,在Filter中输入“icmp”,只显示ICMP协议的相关数据包,完成如下分析:

问题 ICMP请求包和应答包个数 共8个 回答 ICMP数据包的大小 74bytes TTL(Time to live) 128 Data (32 bytes)

abcdefghijklmnopqrstuvwabcdefghi (5)给出icmp数据包按照网络层次封装的数据包名称。 可结合icmp分组数据包的结构图说明。如图所示。

ICMP数据包封装到IP数据包中,IP数据包封装到Ethernet II包中,然后形成帧Frame在网络中传输。

五 练习与思考

(1)设置捕获过滤器,捕捉并分析局域网上的所有Ethernet Broadcast帧。在Ethereal(Wireshark)中选择菜单“Capture”- “Capture Filters”,弹出“Capture Filters”界面。“Filter name”选项为Fiter名称,“Filter string”选项设置为:broadcast,如图2.8所示。

(2)通过选择菜单“Capture”- “Options”- “Capture Filter:”,选择之前建立的过滤条件,然后点击下面的“start”,开始捕捉数据包。如图2.9所示。

图2.8 设置“Capture Filters”

① 观察并分析哪些主机在发广播帧(广播帧是指目的地址为broadcast的数据包),这些帧的高层协议是什么?

高层协议可以在“Protocol”字段查看,如图所示。

② 该LAN的共享网段上连接了多少台计算机?

可以通过“Statistics”下的“Conversations”对话框查看有多少IP地址是活跃的。如图所示,显示当前有两个IP地址是活跃的。 请根据实际情况填写。

本文来源:https://www.bwwdw.com/article/te5o.html

Top