-
实验
2
网络数据包的监听与分析
一
实验目的
1.
掌握使用
Wireshark
p>
软件监听和捕获网络数据包。
2.
掌握通过实际观察网络数据进行分析而了解网络协议运行情况。
二
实验要求
1.
设备要求:计算机若干台(装有
Windows 2000/XP/2003
操作系统、装有网卡)
,局
域网环境,主机装有
Wireshark
工具。
2.
每组
1
人,独立完
成。
三
实验预备知识
1.
< br>Wireshark
简介
Wi
reshark
是一个开放源码的网络分析系统,
也是是目前最
好的开放源码的网络协议分
析软件之一,支持
Linux
和
Windows
平台,支持
500
多种协议分析。
网络
分析系统首先依赖于一套捕捉网络数据包的函数库。
这套函数库工作在在网络分析
系统模块的最底层。
作用是从网卡取得数据包或者根据过滤规则取出数
据包的子集,
再转交
给上层分析模块。
从协议上说,
这套函数库将一个数据包从链路层接收,
将其还原
至传输层
以上,以供上层分析。在
Linux
< br>系统中,
1992
年
Lawre
nce Berkeley Lab
的
Steven
McCanne
和
Van
Jacob
son
提出了包过滤器,称之为
BPF
(
BSD
Packet
Filte
r
)
,设计了基于
BPF
的捕
包函数库
Libpcap
。
在
Window
系统中,
意大利人
Fulvio
Risso
和
Loris Degioanni
提出并实现
了
Winpcap
函数库,其实现思想来源于
BPF
。
2.
Wireshark
的简单操作方法
安装
W
ireshark
之前,需要安装
Winpcap
,安装过程比较简单。安装完成后,启动
Wireshark
,如图
2.1
所示。
图
2.1
启动
Wireshark
后的界面
<
/p>
设置
Capture
选项。选择“
Capture
”
-
“
Options
”
,弹出“
Capture
Options
”界面,设置
完成后点击“
Capture
”而开始
捕获数据,如图
2.2
所示。
图
2.2
“
Capture
Options
”界面
在“
Capture
Options
”界面中,主要选项如下:
?
“
Int
erface
”是要求选择在哪个接口(网卡)上抓包。
?
“
Limit each
packet
”是限制每个包的大小,缺省情况不限制。
?
“
Capture packets in
promiscuous mode
”是否打开混杂模式。如果打开,抓取所有
的数据包。一般情况下只需要监听本机收到或者发出的包,因此应该关闭该选项。
?
“
Capture Filter
”是
指过滤器,可以过滤掉某些数据包而只抓取满足过滤规则的数
据包。
?
“
File
”是指如果需要将抓到的包保存到文件中,在这里输入文件名称。
?
“
Ring buffer
”是指是否
使用循环缓冲。缺省情况下不使用,即一直抓包。注意,
循环缓冲只有在写文件的时候才
有效。
设置完“
Capture O
ptions
”后,选择“
Capture
”
-
“
Start
”开始捕获数据,如图
2.3
所示。
< br>
图
2.3
开始捕获数据
点击
“
Stop
”
完成数据捕获,
如图
2.4
所
示。
根据捕获的数据对各种协议,
如
A
RP
、
ICMP
、
TCP
、
UDP
等协议进行分析。
图
2.4
捕获数据包后的协议分析
2.
Wireshark
过滤器的简单使用
如果需要抓取某些特定的数据
包时,
可以有两种方法,
一是在捕获数据包之前定义好包
过滤器,
这样就只能捕获到设定好的那些类型的数据包。
包过滤器用来捕获感兴趣的数据包,
用在捕获数据包过程中。包过滤器使用的
是
Libcap
过滤器语言,在
Tcp
dump
的手册中有详
细的解释,基本结构是:
[not] primitive [and|or [not]
primitive ...]
另外一种方法是捕获本机收到或者发出的全部数据包,
然后使用显示过滤器,只让
Ethereal
显示所需要的那些
类型的数据包。下面主要介绍这种方法。
在捕获数据包完成后
,可以根据“协议”
、
“是否存在某个域”
、
“域值”和“域值之间的
比较”等四个规则来过滤数据包
。
例如,如果只需查看使用
ARP
协议的数据包,在
Wireshark
窗口中的“
Filter
”中输入
p>
arp
(注意是小写)
,
< br>
然后回车或点击
“
Apply
”
,
Wireshark
就会只显示
ARP
协议的
数据包,
如图
2.5
所示。
图
2.5
使用协议进行过滤
域值比较表达式可以使用“
==
”
、
“
>
”
、
“
!=
”等操作符来构造显示过滤器
,例如
==10.1.10.20
,
!
=10.1.10.20
,
_len>10
等。域值可以从“
Expression
”中
进行选择,如图
2.6
所示。
图
2.6
添加域值比较表达式
组合表达式还可以使用“
and
”
< br>、
“
or
”
、和“
not
”等逻辑操作符,其中逻辑与“
and
”也
可用“
&&
p>
”表示,例如
==172.16.28.211&&_len <
100
;逻辑或“
or
”也可用
“
||
”
表示,
p>
例如
==172.16.28.211||==172.16.28
.254
,
如图
2.7
所示;
逻辑非
“
not
”
也可用“
!
”表示
,例如
!llc
。
图
2.7
组合表达式的应用
四
实验内容与步骤
本实验指导可利用实验室网络进行。
1.
使用
Ethereal
(
Wireshark
)捕获数据包,完成如下操
作:
(
1
)
当前网络中主要的网络协议是什么?请记录实验数据。
可根据
“协议分级统计”
(
“统计”菜单下)来查看统计结果。如下图
所示。
主要的网络协议
-
-
-
-
-
-
-
-
-
上一篇:描写夏天的54个成语汇总
下一篇:描写雨的四字词语200个