使用Ethereal工具分析网络协议Word文档格式.docx

上传人:b****8 文档编号:22520425 上传时间:2023-02-04 格式:DOCX 页数:22 大小:1.08MB
下载 相关 举报
使用Ethereal工具分析网络协议Word文档格式.docx_第1页
第1页 / 共22页
使用Ethereal工具分析网络协议Word文档格式.docx_第2页
第2页 / 共22页
使用Ethereal工具分析网络协议Word文档格式.docx_第3页
第3页 / 共22页
使用Ethereal工具分析网络协议Word文档格式.docx_第4页
第4页 / 共22页
使用Ethereal工具分析网络协议Word文档格式.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

使用Ethereal工具分析网络协议Word文档格式.docx

《使用Ethereal工具分析网络协议Word文档格式.docx》由会员分享,可在线阅读,更多相关《使用Ethereal工具分析网络协议Word文档格式.docx(22页珍藏版)》请在冰豆网上搜索。

使用Ethereal工具分析网络协议Word文档格式.docx

菜单中主要有以下几个部分:

File:

这个子菜单下的操作与Windows菜单下File下的操作类似,包括了文件的打开,保存、打印以及系统的退出等等。

不过这里的文件仅仅指的是抓包文件。

Edit:

这个子菜单下所包含的操作有:

查找某一个特定的帧、跳到某个帧、在一个或更多的帧上打上标记、设置首选项、设置过滤、协议剖析允许/不允许等。

在这个菜单下,Windows界面中的一些常用的操作,例如剪切、复制、粘贴等将不再使用。

Capture:

在这个菜单下进行开始抓包和停止抓包的操作。

3.3相关操作

抓包

Captureoptions选项对话框

Interfaces:

指定在哪个网卡上抓包。

一般情况下都是单网卡,所以使用缺省的就可以了。

Capturepacketsinpromiscuousmode:

是否打开混杂模式。

如果打开,抓取所有的数据包。

一般情况下只需要监听本机收到或者发出的包,因此应该关闭这个选项。

Limiteachpacket:

限制每个包的大小,缺省情况不限制。

Filter:

过滤器。

只抓取满足过滤规则的包。

如果需要将抓到的包写到文件中,在这里输入文件名称。

ringbuffer:

是否使用循环缓冲。

缺省情况下不使用,即一直抓包。

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

如果使用了循环缓冲,还需要设置文件的数目,文件多大时回卷。

其他项:

选择缺省的就可以了。

过滤设置

抓包过滤器用来抓取感兴趣的包,用在抓包过程中。

抓包过滤器使用的是libcap过滤器语言,在tcpdump的手册中有详细的解释,基本结构是:

[not]primitive[and|or[not]primitive...],如下:

Ethereal提供了两种过滤设置方式:

1)、一种是在抓包以前进行设置,通过此设置,整个抓包过程将只抓取用户所需要的特定的数据包。

2)、另一种方式是在抓包以后进行设置。

.1在抓包前进行过滤设置

在抓包前进行过滤设置,是在抓包选项设置对话框中进行的(见上图)。

只需在Filter栏中填入特定的设置语句。

Ethereal使用libpcapfilter语言来进行抓包的过滤设置。

过滤表达式由一系列简单的表达式和连词(and、or、not)组成:

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

过滤表达式的用法:

抓取一个特定的主机的telnet数据包的过滤设置

tcpport23andhost.5

通过这个过滤表达式,可以抓取从主机.5发出或发向该主机的所有的telnet数据包。

抓取除了来自/发往某主机的telnet数据包的过滤设置

tcpport23andnothost.5

在过滤设置字符串中,primitive表达式通常由以下几种形式组成:

1)、[src|dst]host<

host>

此表达式通过IP/主机名来过滤一个特定的主机,通过前缀src或dst选择源/目的主机。

如果不注明src或者dst,则将抓到流向/流出该主机的所有数据包。

 

2)、ether[src|dst]host<

ehost>

此表达式用于过滤以太网上流入/流出特定的主机的数据包,不同的是ehost是以太网,为主机的物理。

例如:

抓取发往物理为00:

04:

76:

42:

24:

80的数据包

etherdsthost00:

80

3)、[src|dst]net<

net>

[{mask<

mask>

}|{len<

len>

}]

此表达式根据网络来过滤来自/发往特定的网络的数据包。

4)、[tcp|udp][src|dst]port<

port>

此表达式可以设置过滤来自/发往特定的tcp/udp协议端口的数据包。

抓取SNMP协议数据包

udpport161

5)、less|greater<

length>

此表达式用于过滤数据包长度小于等于/大于等于特定长度的数据包。

抓取数据包长度小于400byte的数据包

less400

6)、ip|etherproto<

protocol>

此表达式用于过滤IP层/数据链路层(Ethernet层)上特定的协议数据包。

抓取IP层上UDP数据报

ipprotoUDP

7)、ether|ipbroadcast|multicast

此表达式用于过滤IP/Ethernet的广播包/多播包

8)、<

expr>

relop<

此表达式用于创建复杂的过滤表达式,用于选择数据包中特定byte的数据或者某一段数据。

.2在抓包后进行过滤设置

只需要在filter文本框中填入相应的表达式即可。

如下图:

注:

如果Filter的背景是绿色的,证明所设定的Filter是合乎规则的;

如果Filter的背景是红色的,证明所设定的Filter是Ethereal不允许的,是错误的。

分析数据包内容

中间是协议树,通过协议树可以得到被截获的数据包的更多信息,如主机的MAC(EthernetII)、IP(InternetProtocol)、TCP端口号(TransmissionControlProtocol),以及协议的具体内容(HypertextTrnasferProtocol)。

通过扩展协议树中的相应节点,可以得到该数据包中携带的更详尽的信息。

最下边是以十六制显示的数据包的具体内容,这是被截获的数据包在物理媒体上传输时的最终形式,当在协议树中选中某行时,与其对应的十六进制代码同样会被选中,这样就可以很方便地对各种协议的数据包进行分析。

(1)实验

1、以太网帧结构

1.1典型帧结构――Ethernet_II,报文结构如下:

字段

描述

长度

前导码

同步码

用来使局域网中的所有节点同步

7bytes

帧标志

帧的起始标志

1byte

目的MAC

接收端的MAC

6bytes

源MAC

发送端的MAC

上层协议类型

数据包的类型

2bytes

数据字段

被封装的数据包

46-1500bytes

校验

错误检验

4bytes

通过Ethereal抓包,并观察以太帧结构,如下图:

1.2EthernetExample

捕捉并显示所有从本地机器发出和接收的数据包。

1)获取本地MAC:

在命令行输入→ipconfig/all

2)通过Ethereal抓包。

方法一:

将Ethereal的capturefilter的filterstring设置为:

eth.addr==08.2e.5f

方法二:

将主界面上Filter设置为:

2、IP报头结构

2.1IP协议概述

Ø

IP提供无连接的数据转发,是Internet数据通信的基础

IP提供的是最底层的、最基础的一部分

这种服务是不提供服务保证的,分组可能丢失、延迟,也不通知发送方或接受方。

一个分组序列有可能沿着不同的路径发送。

服务是全力转发,不因为资源耗尽或网络故障而停止,因而会引起丢失等不可靠的情形出现。

2.2IP数据报结构

IP数据报分为两个部分:

数据报报头

数据报数据域

详细的数据报报头:

版本

首部长度

服务类型

总长度

标识

标志

片偏移量

生存时间

协议

首部校验和

源IP

目的IP

IP选项

填充

通过Ethereal查看IP数据报报头,如下图:

通过Ethereal查看IP为3的数据包

3、ARP协议

3.1ARP协议概述

ARP协议(AddressResolutionProtocol),即解析协议。

-0F-FD-1D-2B。

整个转换过程是一台主机先向目标主机发送包含IP信息的广播数据包,即ARP请求,然后目标主机向该主机发送一个含有IP和MAC数据包,通过MAC两个主机就可以实现数据传输了。

3.2ARP命令

在安装了以太网网络适配器的计算机中都有专门的ARP缓存,包含一个或多个表,用于保存IP以及经过解析的MAC。

在Windows中要查看或者修改ARP缓存中的信息,可以使用arp命令来完成,比如在WindowsXP的命令提示符窗口中键入“arp-a”或“arp-g”可以查看ARP缓存中的内容;

键入“arp-dIPaddress”表示删除指定的IP项(IPaddress表示IP)。

arp命令的其它用法可以键入“arp/?

”查看到。

3.2ARP协议应用举例

为了解释ARP协议的作用,就必须理解数据在网络上的传输过程。

这里举一个简单的PING例子。

1)、应用程序构造数据包,该示例是产生ICMP包,被提交给内核(网络驱动程序);

2)、内核检查是否能够转化该IP为MAC,也就是在本地的ARP缓存中查看IP-MAC对应表;

3)、如果存在该IP-MAC对应关系,那么跳到步骤7;

如果不存在该IP-MAC对应关系,那么接续下面的步骤;

4)、内核进行ARP广播,目的地的MAC是FF-FF-FF-FF-FF-FF,ARP命令类型为REQUEST

(1),其中包含有自己的MAC;

7)、内核将把IP转化为MAC,然后封装在以太网头部结构中,再把数据发送出去;

使用arp-a命令就可以查看本地的ARP缓存内容,所以,执行一个本地的PING命令后,ARP缓存就会存在一个目的IP的记录了。

当然,如果你的数据包是发送到不同网段的目的地,那么就一定存在一条网关的IP-MAC对应的记录。

4、ICMP协议

4.1ICMP协议概述

IP协议是一种不可靠的协议,无法进行差错控制。

但IP协议可以借助其他协议来实现这一功能,如ICMP。

ICMP(InternetControlMessagesProtocol,网际控制报文协议)允许主机或路由器报告差错情况和提供有关异常情况的报告。

一般来说,ICMP报文提供针对网络层的错误诊断、拥塞控制、路径控制和查询服务四项大的功能。

如,当一个分组无法到达目的站点或TTL超时后,路由器就会丢弃此分组,并向源站点返回一个目的站点不可到达的ICMP报文。

4.2ICMP报文类型

ICMP报文类型

ICMP报文大体可以分为两种类型,即ICMP差错报文和ICMP询问报文。

ICMP回射请求和应答报文头部格式

IP头部(20bytes)

类型

代码

校验和

标识符

序列号

选项

常见ICMP报文类型

8

回射请求

回射应答

11

超时

4.3ICMPPing命令

Ping命令利用ICMP回射请求报文和回射应答报文来测试目标系统是否可达。

ICMP回射请求和ICMP回射应答报文是配合工作的。

当源主机向目标主机发送了ICMP回射请求数据包后,它期待着目标主机的回答。

目标主机在收到一个ICMP回射请求数据包后,它会交换源、目的主机的,然后将收到的ICMP回射请求数据包中的数据部分原封不动地封装在自己的ICMP回射应答数据包中,然后发回给发送ICMP回射请求的一方。

如果校验正确,发送者便认为目标主机的回射服务正常,也即物理连接畅通。

开启Ethereal的抓包功能,如下图:

在windows命令行输入:

ping

icmp

(a)类型字段值为:

8;

(b)代码字段值为:

0;

(c)标识符:

任选16位二进制数(如0x1234);

(d)序列号:

任选16位二进制数(如0x5677);

(e)数据字段:

任选;

(f)校验和:

首先把该字段置为0,接下来计算ICMP首部的校验和。

其算法与IP首部

校验和的计算方法相同。

对数据进行分析。

5.TCP三次握手

开启Ethereal的抓包功能

打开IE浏览器,随意输入一个网站,例如,待页面完全打开之后,关闭IE浏览器,停止截取报文,进行分析。

五、实验报告

1.实验名称

2.实验目的

3.实验内容

(截取任意MAC、IP、ICMP、UDP、TCP的数据包,根据首部格式分析该包)

4.小结(出错及解决方法,调试的结果和体会)

用命令Ping–tc:

\回声请求报文。

ICMPRequest数据包(ICMP请求包)

由于是电脑A发起的ping请求,所以第一个包是icmprequest,由电脑A发出,可以看到在网络层的SrcIP(源IP)是192.168.1.108,DstIP(目的IP)是61.135.169.105如图;

第二个包,是电脑B的ICMPReply,可以看到网络层的源和目的IP对调了

ICMPRequest和ICMPReply数据包的详细内容:

∙Type:

类型字段,8代表icmp的请求,0代表icmp的回应

∙Code:

代码字段,0代表icmp的请求

∙Checksum:

对ICMP头部的校验值,如果传递过程中ICMP被篡改或损坏,与该值不匹配,接收方就将这个ICMP数据包作废

∙Identifier:

进程ID标识,从哪个进程产生的ICMP数据包,这个例子中,因为这四个icmp数据包都是从一个cmd进程下产生的,所以8个icmp数据包的这个字段都是一样

∙SequenceNumber:

序列号,同一个进程中,会产生很多个ICMP数据包,用来描述当前这个数据包是是哪一个,每一对ICMPRequest和ICMPReply这个字段应该要一样

∙Data:

ICMP中的数据,一般都是无意义的填充字段,这个部分可能会被黑客加入恶意代码,实施ICMP攻击

小结

1,取ICMP数据包时先在filter栏中填写icmp(小写),然后打开CMD进程随意ping一个网站,如果来不及获取ICMP数据包,可以采用ping–tc:

\这样可以持续产生ping数据包,易于获取。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1