-
实验一:使用包嗅探及协议分析软件
Ethereal
分析
Ethernet
帧及应用层<
/p>
FTP
协
议的分析
【实验目的】
1
、
掌
p>
握包嗅探及协议分析软件
Ethereal
的使用。
2
、掌握
< br>Ethernet
帧的构成
3
、掌握
FTP
协议包的构成
【实验环境】
安装好
Windows 2000
Server
操作系统
+Ethereal
的计算机
【实验时间】
2
节课
【实验重点及难点】
重点学习掌握如何利用
Ethere
al
来分析
Ethernet
帧。
p>
【实验内容】
1
、捕捉任何主机发出的
Ethernet
802.3
格式的帧和
DIX
Ethernet
V2
(即
Ethernet
II
)格式的帧并进行分析。
2
、捕捉并分析局域网上的所有
ethern
et broadcast
帧进行分析。
3
、捕捉局域网上的所有
ethernet
multicast
帧进行分析。
【实验步骤】
一、
< br>Ethereal
的安装
Et
hereal
是一个图形用户接口(
GUI
)的网络嗅探器,由于
Ethereal
需要
WinPcap
库
,
所以先安装
WinPcap_2_,
再安装
。
(已装好)
< br>
二、仔细阅读附件中的
Ethereal
使用方法和
TcpDump
的表达式详解,学习
p>
Ethereal
的使用。
三、
捕捉任何主机发出的
Ethernet
802.3
格式的帧和
DIX
Ethernet
V2
(
即
Ethernet
II
)格式的帧并进行分析。
捕捉任何主机发出的
Ethernet
802.3
格式的帧(帧的长度字段
<=1500
)
,
Ethereal
的
capture
filter
的
filter
string
设置为:
ether[12:2] <=
1500
。捕捉任何主机
发出的
DIX
Ethernet
V2
(即
Ethernet II
)<
/p>
格式的帧
(帧的长度字段
>1500,
帧的长
度字段实际上是类型字段)
,<
/p>
Ethereal
的
capture
filter
的
filter
p>
string
设置为:
ether[12:
2] > 1500
。
①观察并分析
帧结构,
802.3
格式的帧的上一层主要是哪些
PDU
?是
IP
、
LLC
还是其它哪种?
(学校里可能没有,如
果没有,注明没有就可以了)
②观察并分析帧结构,
Ethernet II
的帧的上一层主要是哪些
PDU
?是
< br>IP
、
LLC
还是其它哪种?
四、
捕捉并分析局域网上的所有
ethernet broadca
st
帧,
Ethereal
的
capture filter
的
filter
string
设置为:
ether
broadcast
。
①观察并分析哪些主机在发广播帧,这些帧的高层协议是什么?
②你的
LAN
的共享网段上连接了多少
台计算机?
1
分钟内有几个广播帧?有
否发生广播风暴?
五、
捕捉局域网上的所有
ethernet mult
icast
帧,
Ethereal
的<
/p>
capture filter
的
filter
string
设置为:
ether multicast
①观察并分析哪些节点在发
mult
icast
帧,这些帧的高层协议是什么?
【实验指导材料】
用
Ethereal
分析协议数据包
Ethereal
是一个图形用户接口(
GUI
)的网络嗅探器,能够完成与
Tcpdump
相同
的功能,
但操作界面要友好很多。
Ehtereal
和
Tcpdump
都
依赖于
pcap
库
(
< br>libpcap
)
,
因此两者在
许多方面非常相似(如都
使用
相同的过滤规则和关键字)。
p>
Ethereal
和其它图形化的网络嗅探器都
使用
相同的界面模式,
如果能熟练地
使用
Ethereal
,
那么其它图
形用户界面的嗅探器基本都可以操作。
1.
Ethereal
的安装
由于
Ethereal
需要
WinPcap
库
,
所以先安装
WinPcap_2_,
再安装
。
2.
设置
Ethereal
的过滤规则
当
编译并安装好
Ethereal
后,
就
可以执行“
ethereal
”命令来启动
Ethereal
。
在用
Ethe
real
截获数据包之前,
应该为其设置相应的过滤规则,
p>
可以只捕获感兴
趣的数据包。
Ethere
al
使用
与
Tcpdump
相似的过滤规则
(
详见下面的“
< br>5.
过滤规
则实例
”
)
,并且可以很方便地存储已经设置好的过滤规则。要为
< br>Ethereal
配置
过滤规则,首先单击“Edit”
选单,然后选择“Capture Filters...”菜单项,
打开“Edit
Capture Filter List”对话框(如下图所示)。因为此时还没有添
加任何过滤规则,因而该对话框右侧的列表框是空的。
在
Ethereal
中添加过滤器时,需要为该过滤器指定名字及规则。例如,要
在主机<
/p>
10.1.197.162
和
间创建过滤器,可以在“Filter
name”编
辑框内输入过滤器名字“sohu”,在“Filter string”编辑框内输入过滤规则
“host 10.1.197.162 and
”,然后单击“New”按钮即可,如下图
所示。
在
Ethereal
中
使用
的过滤规则和
Tcpdump
几乎完全一致,这
是因为两者都
基于
pcap
库的缘故。
Ethereal
能够同时维护很多个过滤器。网络管理员可以
根
据实际需要选用不同的过滤器,这在很多情况下是非常有用的。例如,一个过滤
器可能用于截获两个主机间的数据包,
而另一个则可能用于截获
ICMP
包来诊断网
络故障。
当所有需要的过滤器都创建好后,单击“
Save”按钮保存创建的过滤器,然
后单击“Close”按钮来关闭“Edit
Capture Filter List”对话框。要将过滤器
应用于嗅探过程,需要
在截获数据包之前或之后指定过滤器。要为嗅探过程指定
过滤器,并开始截获数据包,<
/p>
可以单击“Capture”选单,选择“Start...”选单
项,打开“Capture Options”对话框,单击该对话框中的“Filter:”按钮,然
后选择要
使用
的过滤器,如下图所示。
注意在“Capture Options”对话框中,“Update list
of packets in real
time”复选框被选中了。这样可以使每个
数据包在被截获时就实时显示出来,而
不是在嗅探过程结束之后才显示所有截获的数据包
。
在选择了所需要的过滤器后,单击“OK”按钮,整个嗅探
过程就开始了。
Ethereal
可以实时显示截获的数据包,
因此能够帮助网络管理员及时了解网络的
运行状况,从而使其对网络性能和流量能有一个
比较准确的把握。
3.
用
Ethereal
分析数据包
Ethereal
和其它的图形化嗅探器
使用
p>
基本类似的界面,整个窗口被分成三个
部分:最上面为数据包列表,
用来显示截获的每个数据包的总结性信息;中间为
协议树,用来显示选定的数据包所属的
协议信息;最下边是以十六进制形式表示
的数据包内容,用来显示数据包在物理层上传输
时的最终形式。
使用
Etherea
l
可以很方便地对截获的数据包进行分析,
包括该数据包的源地
址、目的地址、所属协议等。图
4
是在
Ethereal
中对一个
HTTP<
/p>
数据包进行分析
时的情形。
在图
4
最上边的数据包列表中,显示了被截获的数
据包的基本信息。从图中
可
以
看
出
,
当
前
选
中
数
据
包
的
源
地
址
是
10.1.197.162
,
目
的
地
址
p>
为
61.135.150.65
,
该数据包所属的协议是超文本传输协议
(HTTP)
。
更详细的信息表
明该数据包中含有一个
< br>HTTP
的
GET
命令,要求下
载
文件到客户端
的
Web
浏览器。
图
4
用
Et
hereal
分析数据包内容
图
p>
4
中间是协议树,通过协议树可以得到被截获的数据包的更多信息,
如主
机的
MAC
地址
< br>(Ethernet II)
、
IP
地址
(Internet Protocol)
、
TCP
端口号
(Transmission
Control Protocol)
,以及
HTTP
协议的具体内容
(Hypertext
Trnasfer Protocol)
。通过扩展协议树中的
相应节点,可以得到该数据包中携带
的更详尽的信息。
图
4
最下边是以十六制显示的数据包的具体内
容,这是被截获的数据包在物
理媒体上传输时的最终形式,
当在
协议树中选中
xz
某行时,
与其对应的
十六进制
代码同样会被选中,这样就可以很方便地对各种协议的数据包进行分析。
Ethereal
提供的图形化用户界面
非常友好,管理员可以很方便地查看到每个
数据包的详细信息,协议树及其对应的十六进
制表示对分析每个数据包的目的很
有帮助,综合
使用
Ethereal
和
Tcpdump
能够基本满足网络管理员在
Linux
和
windows
系统上的所有嗅探要求。
4. tcpdump
的表达式介绍
tcpdump
< br>的表达式就是前面提到的
Ethereal
过滤规则。<
/p>
表达式是一个正则表达式,
tcpdu
mp
利用它作为过滤报文的条件,如果一个报文
满足表达式的条
件,则这个报文将会被捕获。如果没有给出任何条件,则网络上
所有的信息包将会被截获
。
在
表达式中一般如下几种类型的关键字,一种是关于类型的关键字,主要包
括
host
,
net
,
port,
例如
host
210.27.48.2
,指明
210.27.48.2
是一台主机,
net
202.0.0.0
指明
202.0.0.0
是一个网络地址,
port 23
指明端口号是
p>
23
。如
果没有指定类型,缺省的类型是<
/p>
host.
第二种是确定传输方向的关键字,主要包括
src
,
dst
,dst
or
src,
dst
and
src ,
这些关键字指明了传输的方向。举例说明,
src
210.27.48.2 ,
指明
ip
包
中源地址是
210.27.48.2
,
dst
net
202.0.0.0
指明目的网络地址是
202.0.0.0
。
如果没有指明方向关键字,则缺省是
src or
dst
关键字。
第三种是协议的关键字,主要包括:
ether
,
fddi
,
tr
,
ip
,
ip6
,
arp
,
rarp
,
decnet
,
tcp,
udp
.
。
Fddi
指明是在
FDDI(
分布式光纤数据接口网络
)
上的特定的网络协议,
实际上它是
的别名,
fddi
和
eth
er
具有类似的源地址和目的地址,所以
可以将
fddi
协议包当作
ether
的包进行处理和分析。
其他的几个关键字就是指明了监听的包的协议内容。
如果没有指定任何协议,
则
tcpdump
将会监听所有协议的信息包。<
/p>
除
了
这
三
种
类
型
的
关
键
字
之
外
,
其
他
重
要
的
关
键
字<
/p>
如
下
:
gate
way,
broadcast,less,greater,
还有三种逻辑运算,取非运算是
'not ' '! ',
与运算
是
'and','&&';
或运
算
是
'or'
,'||'
;
这些关键字可以组合起来构成强大的组合条件来满足人们的需
要,下面举几
个例子来
1
、想要截获所有
210.27.48.1
的主机收到的和发出的所有的数据包:
#tcpdump host 210.27.48.1
2
、想要截获主机
210.27.48.1
和主机
210.27.48.2
或<
/p>
210.27.48.3
的通信,使
用命
令:(在命令行中适用括号时,一定要
#tcpdump host 210.27.48.1 and
(210.27.48.2 or 210.27.48.3 )
3
、
如果想要获取主机
210.27.48.1
除了和主机
210.27.48.2
之外所有主
机通信的
ip
包,使用命令:
ip host 210.27.48.1 and ! 210.27.48.2
4
、如果想要获取主机
210.27.
48.1
接收或发出的
telnet
包
,使用如下命令:
tcp port 23
host 210.27.48.1
5.
过滤规则实例
?
捕捉主机
10.14.26.53
和
www
服务
器
之间的通信(这里主机
10.14.
26.53
可以是自身,也可以是通过普通
HUB
(而不是交换机)与本机相
连的
LAN
上的其它主机或路由器
,
下同),
< br>Ethereal
的
capture filter
的
filter
string
设置为:
host
10.14.26.53 and
?
< br>捕捉局域网上的所有
ARP
包,
Ethereal
的
capture
filter
的
filter
string
设置为:
arp
?
捕捉局域网上主机
10.14.26.53
发出或接受的所有<
/p>
ARP
包,
Ethereal
的
capture filter
的
filter
string
设置为:
arp host
10.14.26.53
或者等价地设置为:
arp and
host 10.12.105.27
?
< br>捕捉局域网上主机
10.14.26.53
发出或接受的
所有
POP
包
(即
src
or
dst
port
=
110
),
Ethereal
的
capture filter
的
filter
string
设置为:
tcp
port 110 and host 10.14.26.53
或者等价地设置为:
tcp and port 110
and host 10.14.26.53
?
捕捉局域网上主机
10.14.26.53
发出或
接受的所有
FTP
包
(即
src
or
dst
p
ort
=
21
),
Ethereal
的
capture filter
的
filter
string
设置为:
tcp
port 21 and host 10.14.26.53
(1).
在主机
10.14.26.53
上用
FTP
客户端软件访问
FTP
server
。
(2).
观察并分析
10.14.26.53
和
FTP
server
之间传输的
Ethernet
II
(
即
DIX
Ethernet v2)
帧结构,
IP
数据报结构,
TCP
segment
结构。
(3).
观察并分析
FTP PDU
名称和结构
。注意
10.14.26.53
发出的
FTP request
PDU
中以
USER
开头、
以
PASS
开头的两个
PDU
,
他们
包含了什么信息?对
INTERNET
的
FTP
协议的安全性作出评价。
?
捕捉局域网上的所有
icmp
包,
Ethereal
的
capture
filter
的
filter
string
设置为:
icmp
?
捕捉局域网上的所有
ethernet
broadcast
帧,
Ethereal
< br>的
capture
filter
的
filter
string
设置为:
ether broadcast
?
捕捉局域网上的所有
IP
广播包,
Ethereal
的
capture filter
的
filter
string
设置为:
ip
broadcast
?
捕捉局域网上的所有
ethernet
multicast
帧,
Ethereal
< br>的
capture
filter
的
filter
string
设置为:
ether multicast
?
捕捉局域网上的所有
IP
广播包,
Ethereal
的
capture filter
的
filter
string
设置为:
ip
multicast
?
捕捉局域网上的所有
ethernet multicast<
/p>
或
broadcast
帧,
Ethereal
的
capture filter
的
filter
string
设置为:
ether[0] & 1 != 0
?
要以
MAC
address
00:00:11:11:22:22
为抓封包条件
< br>,
Filter
string
设置为:
ether
host 00:00:11:11:22:22
FTP
模型与测试分析环境
协议分析器
协议分析器的作用就是监视
FTP
客户与
FTP
服务器的协议交互过程,记录并对协议包进行分析
;
分析环境的具体参数是:
FTP
p>
服务器:
MAC
地址为
00-00-C0-22-A1-01
IP
地址为
201.5.21.1
控制连接端口号为
20
数据连接端口号为
21
FTP
客户:
MAC
地址为
02-60-8C-01-24-28
IP
地址为
201.5.21.25
数据连接端口号为
15432
控制连接端口号为
7180
FTP
工作模型
FTP
控制连接建立过程的协议分析
地址解析
ARP
协议执行过程
FTP
控制连接建立过程
协议包
4
~
6
是
FTP
控制连接建立的协议执行过程
协议包
4
:
FTP
客
户请求建立与
FTP
服务器控制连接包
FTP
控制连接建立的协议包交互过程
FTP
用户登录身份验证过程的协议分析
协
议包
9
~
16
是用户身份的协议执行过程
协议包
9
:
FTP
客户发送给
FTP
服务器的
User
命令
协议包
-
-
-
-
-
-
-
-
-
上一篇:纪委的最高境界是什么?一位纪检人的深思熟虑
下一篇:什么是挪用公款罪