网络分析专家论坛 netexpert's Archiver

garnett_wu 发表于 2006-12-25 00:47

使用Ethereal学习TCP/IP协议

[b]实验环境搭建:[/b]

    操作系统为Windows2000 server 版,因为在寝室里只有一台电脑,而且没有网卡(只有一个56K的老猫),所以安装了虚拟机VMware-workstation( 网上很多地方可以下载,这里就不提供下载了,安装也很简单);虚拟操作系统是RedHat 8.0 ,为了节省空间和加快速度,没有安装图形界面。关于虚拟系统的安装可以在Google 上搜一下。
这里说一下 Virtual Networks 的设置,如图1-1:

[url=http://www.pcdog.com/ArtImage/20061029/mh634_1.jpg][img=542,445]http://www.pcdog.com/ArtImage/20061029/mh634_1.jpg[/img][/url]

garnett_wu 发表于 2006-12-25 00:48

[b]图1-1 设置虚拟网络[/b]
    两个虚拟网络分别是VMnet1地址为192.168.126.0 和VMnet8 地址为192.168.216.0,主操作系统windows2000,安装了两个虚拟网卡,地址分别是192.168.126.1 和192.168.216.1, 主操作系统和虚拟系统的网络关系是Custom模式,如图1-2:

[url=http://www.pcdog.com/ArtImage/20061029/mh634_2.jpg][img=309,405]http://www.pcdog.com/ArtImage/20061029/mh634_2.jpg[/img][/url]
[b]图1-2 设置虚拟机网卡[/b]

garnett_wu 发表于 2006-12-25 00:49

打开虚拟机,以root 用户登录redhat,输入setup,设置虚拟机IP 地址为192.168.126.128, 如图1-3:

[url=http://www.pcdog.com/ArtImage/20061029/mh634_3.jpg][img=582,429]http://www.pcdog.com/ArtImage/20061029/mh634_3.jpg[/img][/url]
[b]图1-3 设置Linux IP 地址[/b]

garnett_wu 发表于 2006-12-25 00:49

好了,设置完了。当然,这只是因为条件限制才如此的,在局域网中就不用这么麻烦了。
实验目的: 巩固对Ethernet II 封包、ARP 分组及IP、ICMP 数据包的认识
    嗯,现在开始了。打开Ethereal,在菜单Capture 下点击Interfaces, 选取要抓包的网卡, 这里选取地址为192.168.126.1 的这个网卡抓取数据包,如图1-4:

[img=384,151]http://www.pcdog.com/ArtImage/20061029/mh634_4.jpg[/img]

[b]图1-4 选择抓取数据包网卡[/b]
    之后在主操作系统中使用ping 192.168.126.128 –t 的命令,来ping 虚拟机。好,我们来看看抓取的数据包。

[url=http://www.pcdog.com/ArtImage/20061029/mh634_5.jpg][img]http://www.pcdog.com/ArtImage/20061029/mh634_5.jpg[/img][/url]

garnett_wu 发表于 2006-12-25 00:50

[b]图1-5 ARP 广播包[/b]
    从Ethereal 的第一栏中,我们看到这是个ARP 解析的广播包,如图1-5。由于这个版本的Ethereal 使用的是Ethernet II 来解码的,我们先看看Ethernet II 的封装格式。如下图1-6:

[url=http://www.pcdog.com/ArtImage/20061029/mh634_6.jpg][img=456,196]http://www.pcdog.com/ArtImage/20061029/mh634_6.jpg[/img][/url]
[b]图1-6 以太网封包格式[/b]
注意这个和802.3 是有区别的,802.3 的封包格式如图1-7:

[url=http://www.pcdog.com/ArtImage/20061029/mh634_7.jpg][img=538,264]http://www.pcdog.com/ArtImage/20061029/mh634_7.jpg[/img][/url]
[b]图1-7 802.3 封包格式[/b]
    尽管Ethernet II 和802.3 的封包格式不同,但Ethereal 在解码时,都是从“类型”字段来判断一个包是IP 数据报还是ARP 请求/应答或RARP 请求/应答。
    从Ethernet II 知道了是ARP 解析以后,我们来看看Ethereal 是如何判断是ARP 请求呢还是应答的。
我们先复习一下以太网的ARP 请求和应答的分组格式,如图1-8。

[url=http://www.pcdog.com/ArtImage/20061029/mh634_8.jpg][img=465,81]http://www.pcdog.com/ArtImage/20061029/mh634_8.jpg[/img][/url]
[b]图1-8 分组格式[/b]

garnett_wu 发表于 2006-12-25 00:50

从上图中我们了解到判断一个ARP 分组是ARP 请求还是应答的字段是“op”,当其值为0×0001 时是请求,为0×0002 时是应答。如图1-9、1-10。

[url=http://www.pcdog.com/ArtImage/20061029/mh634_9.jpg][img]http://www.pcdog.com/ArtImage/20061029/mh634_9.jpg[/img][/url]

garnett_wu 发表于 2006-12-25 00:51

[b]图1-9 ARP 请求[/b]

[url=http://www.pcdog.com/ArtImage/20061029/mh634_10.jpg][img]http://www.pcdog.com/ArtImage/20061029/mh634_10.jpg[/img][/url]
[b]图1-10 ARP 应答[/b]
我们看看第三个帧的内容。第三帧“类型”显示是IP 数据报,如图1-11:

[url=http://www.pcdog.com/ArtImage/20061029/mh634_11.jpg][img]http://www.pcdog.com/ArtImage/20061029/mh634_11.jpg[/img][/url]
[b]图1-11 ICMP ping 包[/b]

garnett_wu 发表于 2006-12-25 00:52

同样,我们先复习一下IP 包的封包格式,如图1-12:

[url=http://www.pcdog.com/ArtImage/20061029/mh634_12.jpg][img=443,285]http://www.pcdog.com/ArtImage/20061029/mh634_12.jpg[/img][/url]
[b]图1-12 IP 封包格式[/b]
    关于IP 封包各字段的内容及意义,这里就不再详述了,可以参见三卷本的TCP/IP, www.cnpaf.net 的“资源共享”版里有下载。
    我们主要看看TTL,从图1-13 和1-14 的比较来看,图1-13 中的TTL 是128,而图1-14 中的TTL 却是64,什么原因呢?
    原来图1-13 中的主机是Windows2000 ,而1-14 中的主机是Linux,看来不同操作系统的TTL 是不同的。

[url=http://www.pcdog.com/ArtImage/20061029/mh634_13.jpg][img]http://www.pcdog.com/ArtImage/20061029/mh634_13.jpg[/img][/url]
[b]图1-13 Windows 主机的TTL[/b]

[url=http://www.pcdog.com/ArtImage/20061029/mh634_14.jpg][img]http://www.pcdog.com/ArtImage/20061029/mh634_14.jpg[/img][/url]
[b]图1-14 Linux 主机的TTL [/b]

garnett_wu 发表于 2006-12-25 00:53

好了我们来看看ICMP 报文吧,先看看它的封包格式,如图1-15:

[img=398,131]http://www.pcdog.com/ArtImage/20061029/mh634_15.jpg[/img]
[b]图1-15 ICMP 封包类型[/b]
关于ICMP 的“类型”和“代码”字段,这里有一个表,如图1-16:

[url=http://www.pcdog.com/ArtImage/20061029/mh634_16.jpg][img=446,570]http://www.pcdog.com/ArtImage/20061029/mh634_16.jpg[/img][/url]

garnett_wu 发表于 2006-12-25 00:54

[b]图1-16 ICMP 报文类型[/b]
ICMP 报文,我们主要对照图1-16 看抓包的情况。

[url=http://www.pcdog.com/ArtImage/20061029/mh634_17.jpg][img]http://www.pcdog.com/ArtImage/20061029/mh634_17.jpg[/img][/url]
[b]图1-17 ping 请求[/b]

[url=http://www.pcdog.com/ArtImage/20061029/mh634_18.jpg][img]http://www.pcdog.com/ArtImage/20061029/mh634_18.jpg[/img][/url]
[b]图1-18 ping 应答[/b]

BAKHN 发表于 2006-12-25 09:52

我晕,不是发过的吗?
[url]http://www.netexpert.cn/thread-184-1-1.html[/url]

wuhanzhou 发表于 2006-12-25 09:59

LZ辛苦了。。。

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.