当前位置:文档之家› 实验1 网络协议分析

实验1 网络协议分析

实验1 网络协议分析

1. 实验目的

1.了解一种网络数据捕获工具的基本功能和使用方法。

2.掌握IP、TCP协议的格式及工作过程

3.掌握ICMP协议的格式及工作过程

2. 实验环境

1.实验室提供PC

2.Red Hat Linux 9.0(或Ubuntu Linux 8.04)

3.Windows XP

3.实验原理

网络分析(network analysis)是指捕捉网络流动的数据包,将网络数据转换成可读格式,通过查看包内部数据来发现网络中的问题,分析网络性能并发现瓶颈;监视网络通信量,观察网络协议的行为,了解网络的运行状态;深入了解网络协议的功能。

这一单元介绍些计算机网络分析/监视工具的用法。

3.1网络分析系统的基本原理

3.1.1 Libpcap函数库

网络分析系统的工作依赖于一套捕捉网络数据包的函数库。最早的网络数据包捕捉函数库是UNIX系统中的Libpcap函数库。现在大部分UNIX数据包捕获系统都基于Libpcap或者是在其基础上做些针对性的改进。之后,意大利人Fulvio Risso和Lofts Degioanni为Windows系统提出并实现了一个功能强大的开发式数据包捕获平台——Winpcap函数库。

3.1.2 网络分析系统的结构和工作过程

一个网络分析器通常由5部分组成:硬件、捕包驱动、包缓冲区、实时协议分析和解码器。

网络数据包捕捉函数库工作在网络分析系统的最底层,作用是将一个数据包从链路层接收,即从网卡取得数据包或者根据过滤规则取出数据包的子集。

捕包函数捕回数据包后就需要将其转变给上层的分析模块,进行协议分析和协议还原工

作。由于OSI的7层协议模型,协议数据是从上到下判装后发送的。由于协议分析需要从下至上进行:首先对网络层的协议识别后进行组包还原,然后脱去网络层协议头,将里面的数据交给传输层分析,这样一直进行到应用层。

3.1.3基于插件技术的协议分析器

采用插件技术,就是在程序的设计开发过程中,把整个应用程序分成宿主程序和插件两个部分,宿主程序与插件能够相互通信。在宿主程序不变的情况下,就可以通过增减插件或修改插件来调整应用程序的功能。运用插件技术可以开发出伸缩性良好、便于维护的应用程序,程序有很强的可扩展性,各个功能模块内聚性强。

现在的网络协议种类繁多,为了可以随时增加新的协议分析器,一般的协议分析器都采用插件技术。这样,如果需要对一个新的协议进行分析,只需开发编写这个协议分析器并调用注册函数在系统注册就可以使用了。

3.2网络协议分析器Ethereal

3.2.1 Ethereal概述

1.Ethereal的特点

Ethereal是一个可以对活动的网络上或磁盘中捕获数据并分析的重要软件,它有如下一些特点。

(1)它是当前较为流行的一种计算机网络调试和数据包嗅探软件,可以应用于故障修复、分析、软件和协议开发以及教育领域。

(2)可以在实时时间内,从网络连接处捕获数据,或者从被捕获文件处读取数据。

(3)它是一种开发源代码的许可软件,允许用户向其中添加改进方案。

(4)可以运行在所有的主流操作系统之上(Windows,Linux,Solaris)。

(5)支持的网络通信协议是所有的抓包工具中最全面的,几乎所有的协议,Ethereal都有相应的解码器,可以从以太网、FDDI、PPP、令牌环、IEEE 802.11、ATM上的IP和回路接口上读取实时数据。

(6)支持几乎所有的抓包工具的保存格式,可以读取从tcpdump(1ibpcap)、网络通用嗅探器(被压缩和未被压缩)、SnifferTM专业版等多种网络监控器处捕获的文件。

(7)可以通过editcap程序的命令行交换机,有计划地编辑或修改被捕获文件。

(8)可以通过显示过滤器精确地显示数据,输出文件可以被保存或打印为纯文本格式。

2.Ethereal的下载和安装Ethereal的下载地址

http://winpcap.polito.it/install/default.htm

http://biz.doczj.com/doc/f616966095.html,/distrubution/win32/

注意:以上两个网址中,第一个为;winpcap的网址,第二个网址Ethereal不再使用。Ethereal现在已更名为wireShark,其网址为http://biz.doczj.com/doc/f616966095.html,/,软件中已集成有winpcap。Ethereal作为早期版本可在网络中搜索下载,官方网站似乎不再提供下载。 事实上,Ethereal本身并不能抓包,它只能用来解析数据包;要抓取数据包,需要借助于Pcap(在Windows下面的实现称作Winpcap,所以在Windows操作系统下,在安装

Ethereal之前,首先要安装Winpcap)。

3.Linux下的Ethereal

在Linux环境下,当安装Ethereal成功后,就可以使用命令方式使用Ethereal。命令格式为:

% ethereal -i interface -f filter

其中:

◆ interface网络接口。

◆ filter捕获过滤器表达式。

在过滤表达式中,可以使用如下逻辑连接符和关系运算符。

(1)逻辑连接运算符有not(!),and(&&),or(||)。

(2)关系运算符有eq(==),ne,(!=),gt(>),lt(<),ge(>=),le(<=)。

它们的用法在后面再加以介绍。

4.Windows下的Ethereal

在Windows环境下,安装Ethereal成功后,桌面上出现Ethereal图标。双击该图标,启动Ethereal,Ethereal初始界面如图1所示。

图1 Ethereal的图形初始界面

下面介绍Ethereal初始界面中的几个重要菜单选项。

(1)Capture Options窗口。操作方法:单击初始界面的Capture→Start命令,弹出 Capture Options窗口,如图2所示。

图2 Capture Options窗口

在该窗口中,可以进行下面的设置:

Interface 所选择捕获网络数据包的接口。

Capture packets in promiscuous mode 是否打开混杂模式。打开即抓取所有的数据包。因为一般只须监听本机收到或者发出的包,因此关闭此选项。

Limit each packet to 限制每个报文的大小为多少字节。

Capture File(s) 捕获数据包的保存的文件名以及保存位置。

Update list of packets in real time 时时更新该接口捕获的报文。

(2)Capture from Generic NdisWan adapter窗口。操作方法:在Capture Option窗口

中单击OK按钮,进入Capture from Generic NdisWan adapter窗口,如图3所示。

图3 Capture from Generic NdisWan adapter窗口

此时开始进行抓包操作,此窗口中显示的是以不同协议统计捕获到的报文的百分比。

Generic NdisWan表示本机的网卡型号。

(3)Ethereal主窗口。操作方法:在Capture from Generic NdisWan adapter窗口中单击Stop按钮,停止抓包,并把所抓的包显示在Ethereal主窗口中,如图4所示。

包的概况

图4 Ethereal主窗口

Ethereal主窗口由3个面板组成:

◆ 包的概况面板显示所有捕获到的包的报文号、时间戳、源、目的、协议和信息域。

◆ 包首部详况面板 显示包主要部分的树型视图。

◆ 包内容面板 以十六进制或ASCII码显示的包内容信息。

(4)Capture Filter窗口。操作方法:在Ethereal初始界面的Capture菜单中选择Capture Filter选项,进入Ethereal Capture Filter窗口,如图5所示。

此窗口可用于捕获特定报文,即事前设置然后抓取报文。

◆ Filter name为自己定义的过滤语法起的别名,系统默认是new。

图5 Ethereal Capture Filter窗口

◆ Filter string 填入对应语句,可以决定数据包的类型。

例如,在Filter strin9框中填入host 172.18.0.192,而实际捕获的是IP地址为192.168.10.1的所有报文。

3.2.2 Ethereal的过滤器

1.抓包过滤器与显示过滤器

在进行网络的管理和监控时,往往需要对特定的数据包进行分析。在Ethereal中,选取特定包的部件是过滤器(Filter)。具体过滤的方法有两种。

(1)在抓包时过滤,使用的过滤器称为抓包过滤器(capture filter)。为此在抓包的时候,就要先定义好抓包过滤器,这样就会只抓到设定好的那些类型的数据包。

(2)先把本机收到或发出的包全部抓下来,只让Ethereal显示需要的那些类型的数据包。这时要使用显示过滤器(display filter)。

2.抓包过滤器与显示过滤器的过滤表达式的不同

表6.1表明Ethereal的抓包过滤器和与显示过滤器的过滤表达式语法的不同。它们使用的关键词不尽相同,关系运算符的用法也不相同。

表6.1 Ethereal的抓包过滤器和与显示过滤器的过滤表达式语法比较

功 能 显示过滤表达式 抓包过滤表达式

显示/捕获MAC地址为00:d0:f8:00:00:03网络设

备通信的所有报文

eth.addr==00.d0.f8.O0.00.03ether host 00:d0:f8:00:00:03 显示/捕获IP地址为192.168.10.1网络设备通信

的所有报文

ip.addr==192.168.10.1 host l92.168.10.1

显示/捕获所有设备Web浏览的所有报文 tcp.port==80 tcp port 80

显示/捕获192.168.10.1除了http以外的所有通信数据报文 ip.addr==192.168.10.1 &&

tcp.port!=80

host l92.168.10.1 and not tcp

port 80

3.显示过滤

在Windows环境下,显示过滤的操作方法是:当Filter的背景是绿色时,在Filter中输入所需分析的类型,当背景是红色,表明设定的Filter是不被允许的。也可以在Filter 旁边的Expression中选取。下面是两种典型的用法。

(1)显示特定协议(如TCP)包。操作方法:在Filter框中输入tcp并按Enter键,如图6所示。

此时,在包的概况窗口中会显示通过本机使用tcp协议的所有数据包。

(2)显示与选定IP地址相匹配包。操作方法:在Filter框中输入ip.addr==192.168.2.10 and http,如图7所示,则抓取IP地址为192.168.2.10的主机所接收或发送的所有http报文。

图6显示特定协议(如TCP)包

图7抓取IP地址为192.168.2.10的主机所接收或发送的所有http报文

此时,在包的概况窗口中显示的IP地址为192.168.2.10的主机所接收或发送的所有 http报文。

3.2.3 Ethereal的数据分析

1.协议分析

协议分析在Analyze菜单中进行,下面是几个主要选项。

(1)Display Filter选项。操作方法:在Analyze菜单中选择Display Filter命令,弹出Ethereal Display Filter窗口,如图8所示。它的快捷键是主界面的Filter按钮。

图8 “Ethereal Display Filter”窗口

◆ Filter name表示为所定义的过滤语法起一个别名,系统默认是New tilter。

◆ Filter strin9表示为执行条件所抓的包(注:与Capture Filter的语法不同)。

◆ Expression表示可以通过此按钮在系统自带的过滤条件中选取。

例如:ip.addr==192.168.10.1,显示的IP地址为192.168.10.1的网络设备通信的所 有报文。

(2)Enabled Protocols选项。操作方法:在Analyze菜单中选中Enabled Protocols选项,弹出Ethereal Enabled Protocols窗口,如图9所示。

图9 Ethereal Enabled Protocols窗口

功能:在该窗口中可以选择要启用哪些协议的解析。只有选中的项,其相关的上层

协议才能显示出来。

2.数据统计(Statistics)

Statistics显示相关的报文统计信息。

(1)Summary选项。操作方法:在主窗口包的概况窗口中选中需查的包,单击 Statistics,Ethereal Summary选项,进入Ethereal Summary窗口,如图10所示。

作用:显示出该条报文的详细信息。

Between first and last packet表示开始执行Ethereal软件抓取包到结束的时间(S)。

Packets表示在指定时间内共抓取的数据包的数目。

Avg. packets/sec表示每秒平均抓取数据包的个数,这是作为Ethereal的某项技术来统计。

Avg. packet size表示数据包的平均大小。

(2)Protocol Hierarchy Statistics选项。操作方法:单击Statistics→Ethereal

Protocol Hierarchy Statistics选项,如图11所示。作用:显示各协议层报文的统计。

图10 Ethereal Summary窗口

图11 Ethereal Protocol Hierarchy Statistics窗口

所抓取的数据报文中Ethernet格式帧是15个,百分比是100%,总长是1449字节;数据传输率是0.004Mb/s。

使用IP协议的占80%:其中UDP协议占53.33%,TCP协议占6.67%,Date占20.00%。使用ARP协议的占13.33%。

使用LCP(逻辑链路协议)的占6.67%。

(3)Conversations选项。操作方法:单击Statistics→Conversations选项,如图12所示。

作用:显示该会话报文的信息也就是双方通信的报文信息。

图12 Conversations窗口

以上窗口解释如下(以第一行为例):

MAC地址为50:78:4c:42:02:a4的计算机广播了两个184字节的数据包。

(4)Endpoints选项。操作方法:单击Statistics→Endpoints选项,如图13所示。作用:分

别显示单方报文信息。

图13 Endpoints窗口

以上窗口解释如下(以第一行为例):

MAC地址为50:78:4c:42:02:a4的计算机发送两个l84字节的数据包。

(5)IO Graphs选项。操作方法:单击Statistics→IO Graphs选项,如图14所示。

作用: 报文通信的图像显示。

图14 Ethereal IO Graphs窗口

3.3网络协议分析器tcpdump

作为Internet上经典的系统管理员必备工具,tcpdump其强大的功能,灵活的截取策略,成为每个高级的系统管理员分析网络、排查问题等所必备的工具之一。

3.3.1 tcpdump的安装

tcpdump可以从网址:http://biz.doczj.com/doc/f616966095.html,/,http://windump.polito.it/下载。在Linux下,tcpdump有两种安装方式。一种是tar压缩包(tcpdump-3_4a5.tar.Z),另一种是rpm的分发包(tcpdump-3_4a5.src.rpm)。这两种形式的内容都是一样的,不同的仅仅是压缩的方式。

1.以rpm包的形式来进行安装(简单的方法)

rpm包是将软件编译后打包成二进制的格式,通过rpm命令直接安装。由于tcpdump存在于基本的FreeBSD系统中,需要将网络界面设置为混杂模式,普通用户不能正常执行,具备root权限的用户才可以直接执行它来获取网络上的信息。所以安装前要以超级用户登录。然后使用命令:

#rpm -ivh tcpdump-3_4a5.rpm

这样就把tcpdump的源代码解压到/usr/src/redhat/SOURCES目录下了。

2.以源程序的形式安装(可以修改源程序来满足自己特殊需要的方法)

步骤如下。

(1)取得源程序。在源程序的安装方式中,首先要取得tcpdump 源程序分发包 (tcpdump-3_4a5.tar.Z)。tar的压缩包可以使用如下命令解开:

#tar xvfz tcpdump-3_4a5.tar.Z

(2)做好编译源程序前的准备。

①安装tcpdump软件所需的库文件libpcap。

②安装标准的C语言编译器(在Linux下标准的C语言编译器一般是gcc)。

③根据系统的配置修改Makefile.in文件的BINDEST和MANDEST两个宏定义:

BINDEST = @sbindir@

MANDEST = @mandir@

第一个宏值表明安装tcpdump的二进制文件的路径名,第二个宏值表明tcpdump的man 帮助页的路径名,通过修改它们来满足系统的需求。因为configure命令就是从Makefile.in 文件中自动产生Makefile文件。

(3)编译源程序。使用源程序目录中的configure脚本,它从系统中读出各种所需的属性,并且根据Makefile.in文件自动生成Makefile文件,以便编译使用。make命令则根据Makefile文件中的规则编译tcpdump的源程序,使用make install命令安装编译好的tcpdump的二进制文件。

简单地说,上述3步的操作代码为是:

# tar xvfz tcpdump-3_4a5.tar.Z

# vi Makefile.in

# . /configure

# make

# make install

3.3.2 tcpdump的使用

1.tcpdump的简单用法

普通情况下,直接动tcpdump将监视第一个网络界面上所有流过的数据包。下面

是一个实际监视实例。

# tcpdump

tcpdump: listening on fxp0

11:58:47.873028 http://biz.doczj.com/doc/f616966095.html,bios-ns > http://biz.doczj.com/doc/f616966095.html,bios-ns: udp 50

11:58:47.974331 0:10:7b:8:3a:56 > 1:80:c2:0:0:0 802.1d ui/C len=43

0000 0000 0080 0000 1007 cf08 0900 0000

0e80 0000 902b 4695 0980 8701 0014 0002

000f 0000 902b 4695 0008 00

11:58:48.373134 0:0:e8:5b:6d:85 > Broadcast sap e0 ui/C len=97

ffff 0060 0004 ffff ffff ffff ffff ffff

0452 ffff ffff 0000 e85b 6d85 4008 0002

0640 4d41 5354 4552 5f57 4542 0000 0000

0000 00

从上面的输出结果可以看出,tcpdump总的输出格式为:

系统时间 来源主机.端口>目标主机.端口 数据包参数

2.tcpdump命令行参数

tcpdump支持相当多的不同参数,以满足不同的网络数据捕获需求。一个完整的 tcpdump命令格式为:

tcpdump [ -adeflnNOpqStvx ]

[ -c 数量 ] [ -F 文件名 ] [ -i 网络接口 ] [ -r 文件名]

[ -s snaplen ] [ -T 类型 ] [ -w 文件名 ] [表达式 ]

其中主要的一些参数介绍如下。

(1)常用控制输出选项

-a 将网络地址或广播地址转换成名字。

-d 将匹配信息包的代码以人们能够理解的汇编格式给出。

-dd 将匹配信息包的代码以C语言程序段的格式给出。

-ddd将匹配信息包的代码以十进制的形式给出。

-e 在输出行打印出数据链路层的头部信息。

-f 将外部的Internet地址以数字的形式打印出来。

-n 不把网络地址转换成名字。

-t 在输出的每一行不打印时间戳。

-v 输出一个详细的信息,如在IP包中可以包括TTL和服务类型的信息。

-w 输出详细的报文信息。

-X 所捕获包中的前64个字节用十六进制表示。

-S 从每个包中截取snaplen字节的数据,默认为68字节(如果是SunOS的 NIT,最小值是96)。68个字节适用于IP,ICMP,TCP和UDP。

-N 不显示主机名字中的域名部分。例如,如果使用这个选项,tcpdump只显示nic,而不是“http://biz.doczj.com/doc/f616966095.html,”。

-O 禁止运行报文匹配模优化器。当怀疑优化器含有bug时,这个选项才有用。

-p 禁止把接口置成promiscuous模式(接口有可能因其他原因而处于promiscuous模式,因此,“-p”不能作为“ether host{local-hw-addr}”或

“ether broadcast”的简写)。

-q 快速输出。显示较少的协议信息,是输出行,则缩短一些点。

(2)常用操作模式选项

-c 指定要监听的包的数目,读到该数目的包,tcpdump就会停止。

-F 从指定的文件中读取表达式,忽略命令行中的表达式。

-i 在具有多个接口的系统中指定监听的网络接口。

-l 将终端窗口的输出置于缓冲器中,并允许将此输出保存到文件中。

-T 将监听到的包直接解释为指定的类型的报文,常见的类型有RPC(远程过程调用)和SNMP(简单网络管理协议)。

-w 指定将监听到的数据包写入文件中保存,并不分析和打印出来。

-r 从指定的文件中读取包(这些包一般通过-w选项产生)。

3.tcpdump表达式

tcpdump利用表达式作为过滤报文的条件,如果一个报文满足表达式的条件,则这个报文将会被捕获。如果没有给出任何条件,则网络上所有的信息包将会被截获。

表达式中一般有如下几种类型的关键字和运算符。

(1)关于类型关键字,主要包括host,net,port;如果没有指定类型,默认的类型是host。例如:

◆host 210.27.48.2指明210.27.48.2是一台主机。

◆net 202.0.0.0指明202.0.0.0是一个网络地址。

◆port 23指明端口号是23。

(2)确定传输方向关键字,主要包括src,dst,dst or src,dst and src等。这些关键字指明了传输的方向(如果没有指明方向关键字,则默认是src or dst关键字)。如 src 210.27.48.2,指明IP包中源地址是210.27.48.2。

dst net 202.0.0.0,指明目的网络地址是202.0.0.0。

(3)协议关键字,主要包括ip,tcp,udp,ether,arp,icmp等类型,指明了监听的包的协议内容。如果没有指定任何协议,则tcpdump将会监听所有协议的信息包。

(4)过滤表达式中还可以使用如下一些运算符。

◆ not(!),and(&&),or(||) 表示逻辑连接运算符。

◆ >,>=,==,<=,<,!=表示取值范围。

◆ [i]取第i-1个字节。如ip[2]<=0xf,IP首部的第3个字节不大于l5。

◆ [i:j]从第i个字节起的j个字节(从0字节算起)。

◆ less/greater表示捕获小于/大于指定字节数的报文。

◆ &n表示过滤。

例如,ip[6:2]&0x1fff==0,从IP首部取第6和第7(从0字节算起)两个字节,即IP 的片偏移量字段;用0x1fff=1111111111111=13表示过滤掉最后13位,所剩前3位为0,即分段偏移域是0。即指定取不分段IP包或取分段IP包的第1段。

然而,更复杂的tcpdump参数是用于过滤目的,这是因为网络中流量很大,如果不加分辨地将所有的数据包都截留下来,则数据量太大,反而不容易发现需要的数据包。使用这些参数定义的过滤规则可以截留特定的数据包,以缩小目标,才能更好地分析网络中存在的问题。tcpdump使用参数指定要监视数据包的类型、地址、端口等,根据具体的网络问题,充分利用这些过滤规则就能达到迅速定位故障的目的。请使用man tcpdump查看这些过滤规则的具体用法。tcpdump为每个流经以太网卡的帧显示一行,每一行都会显示一个时间戳,并显示以太网帧中所包含的协议首部衍生出来的有关信息。这些信息的不同,用参数指定。格式为:

tcpdump [ -adeflntvx ] [ -c数量 ] [ -F文件名 ] [ -i网络接口 ] [ -r文件名] [ -T 类型 ] [ -w 文件名 ] [表达式 ]

4.tcpdump应用举例

(1)#tcpdump host 172.18.0.212,截获所有172.18.0.212的主机收到和发出的所有的 数据包。图15为tcpdump的显示结果。

图15 tcpdump的显示结果(1)

(2)#tcpdump host 172.18.0.212 and ! 172.18.2.140,截获主机172.18.0.212和不是172.18.2.140的通信。图16为tcpdump的显示结果。

图16 tcpdump的显示结果(2)

(3)#tcpdump ip host 172.18.0.212 and ! 172.18.2.140,获取主机172.18.0.212除了和主机172.18.2.140之外所有主机通信的IP包。图17为tcpdump的显示结果。

图17 tcpdump的显示结果(3)

4. 实验内容

1.下载Ethereal(wireshark)及tcpdump(如系统中未集成),并进行安装和设置。

2.使用安装的网络数据捕获工具捕获一些网络数据,测试该工具的用途。

3.设计捕获ICMP协议报文的方案并分析ICMP协议

4.设计捕获TCP建立连接及拆除连接的三次握手过程,并分析TCP协议的状态变换过程

5. 实验报告要求

1.写出该网络数据捕获工具的下载、安装和设置步骤。

2.根据对该网络数据捕获工具功能的介绍,设计对其进行测试的方案和步骤。

6. 实验相关事项

1.本实验内容涉及TCP/IP部分,大家可参看老师课件中的相关内容,更深入的知识请参

考相关书籍。

2.Ethereal现已更名为wireshark,其网址为http://biz.doczj.com/doc/f616966095.html,/,其使用方法

与Ethereal基本相同。

3.个人认为另一款Windows下的网络分析软件Sniffer Pro功能上强于Ethereal,但其为

商业版本。有感兴趣的同学可自行下载并练习使用。

4.Tcpdump大家先不要急于安装,因为有些Linux发行版本中已集成安装有Tcpdump,请

先在命令提示符后执行一下tcpdump确认系统是否已安装。

网络协议实验报告

网络协议实验报告 班级:_____网络2010-2班____ 学号:________08103617______ 姓名:__________程凯凌______ 指导老师:__________杨东平__________ 日期:2012年12月27日

ARP1: 0000 ff ff ff ff ff ff 00 26 c7 35 46 48 08 06 00 01 0010 08 00 06 04 00 01 00 26 c7 35 46 48 0a 6e d0 d4 0020 00 00 00 00 00 00 0a 6e c0 01 以太网帧为:ff ff ff ff ff ff 00 26 c7 35 46 48 08 06 其中ff ff ff ff ff ff为目的地址(广播询问) 00 26 c7 35 46 48为源地址 08 06为上层协议类型arp(0x0806) Arp帧为: 00 01 08 00 06 04 00 01 00 26 c7 35 46 48 0a 6e d0 d4 00 00 00 00 00 00 0a 6e c0 01 其中00 01表示硬件类型(0x0001) 08 00表示 IP协议类型(0x0800) 06表示硬件长度为6 04表示协议长度为4 00 01表示操作请求码为0x0001 00 26 c7 35 46 48表示发送MAC地址 0a 6e d0 d4 表示发送IP地址为10.110.208.212 00 00 00 00 00 00 表示目的MAC地址 0a 6e c0 01表示目的IP地址10.110.192.1 ARP2: 0000 00 26 c7 35 46 48 00 14 d5 f1 de 1b 08 06 00 01 0010 08 00 06 04 00 02 00 14 d5 f1 de 1b 0a 6e c0 01 0020 00 26 c7 35 46 48 0a 6e d0 d4 00 00 00 00 00 00 0030 00 00 00 00 00 00 00 00 以太网帧:00 26 c7 35 46 48 00 14 d5 f1 de 1b 08 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 其中00 26 c7 35 46 48为目的地址(应答) 00 14 d5 f1 de 1b为源地址 08 06表示上层协议类型(0x0806) 00 00 00 00 00 00 00 00 00 00 00 00 00 00协议填充数据 arp帧为: 00 01 08 00 06 04 00 02 00 14 d5 f1 de 1b 0a 6e c0 01 00 26 c7 35 46 48 0a 6e d0 d4 其中00 01表示硬件类型(0x0001) 08 00表示 IP协议类型(0x0800) 06表示硬件长度为6 04表示协议长度为4

TCP IP网络协议分析实验报告

TCP/IP网络协议分析实验 一、实验目的 1. 通过实验,学习和掌握TCP/IP协议分析的方法及其相关工具的使用; 2. 熟练掌握 TCP/IP体系结构; 3. 学会使用网络分析工具; 4. 网络层、传输层和应用层有关协议分析。 二、实验类型 分析类实验 三、实验课时 2学时 四、准备知识 1.Windows 2003 server 操作系统 2.TCP/IP 协议 3.Sniffer工具软件 五、实验步骤 1.要求掌握网络抓包软件Wireshark。内容包括: ●捕获网络流量进行详细分析 ●利用专家分析系统诊断问题 ●实时监控网络活动 ●收集网络利用率和错误等 2.协议分析(一):IP协议,内容包括: ●IP头的结构 ●IP数据报的数据结构分析 3.协议分析(二):TCP/UDP协议,内容包括: ●TCP协议的工作原理 ●TCP/UDP数据结构分析

六、实验结果 1.IP协议分析: (1)工作原理:IP协议数据报有首部和数据两部分组成,首部的前一部分是固定长度,共20字节,是IP数据报必须具有的。首部分为,版本、首部长度、服务类型、总长度、标识、标志、片偏移、生存时间、协议、首部检验和、源地址、目的地址、可选字段和数据部分 (2)IPV4数据结构分析:

2.TCP协议分析: (1)工作原理:TCP连接是通过三次握手的三条报文来建立的。第一条报文是没有数据的TCP报文段,并将首部SYN位设置为1。因此,第一条报文常被称为SYN分组,这个报文段里的序号可以设置成任何值,表示后续报文设定的起始编号。连接时不能自动从1开始计数,选择一个随机数开始计数可避免将以前连接的分组错误地解释为当前连接的分组。

网络协议 实验

1.你的浏览器运行的是HTTP1.0,还是HTTP1.1?你所访问的服务器所运行的HTTP版本号是多少? 答:HTTP 1.1 version 4 2. 你的浏览器向服务器指出它能接收何种语言版本的对象? 答:Accept language: zh-CN\r\n 3. 你的计算机的IP地址是多少?服务器http://biz.doczj.com/doc/f616966095.html,/DatumDownload.aspx 的IP地址是多少? 答:我的IP是:10.127.117.2 服务器:222.197.183.99 4. 从服务器向你的浏览器返回的状态代码是多少? 答:200 OK

5. 你从服务器上所获取的HTML文件的最后修改时间是多少? 答:如图 6.返回到你的浏览器的内容以供多少字节? 答:24370 在浏览器地址栏中如下网址: http://biz.doczj.com/doc/f616966095.html,/wireshark-labs/HTTP-wireshark-file2.html 8.分析你的浏览器向服务器发出的第一个HTTP GET请求的内容,在该请求报文中,是否有一行是:IF-MODIFIED-SINCE? 答:没有

9.分析服务器响应报文的内容,服务器是否明确返回了文件的内容?如何获知? 答:有 HTTP/1.1 200 OK(text/html) 10.分析你的浏览器向服务器发出的第二个“HTTP GET”请求,在该请求报文中是否有一行是:IF-MODIFIED-SINCE?如果有,在该首部行后面跟着的信息是什么? 答:仍然没有。如图。 11.服务器对第二个HTTP GET请求的响应中的HTTP状态代码是多少?服务器是否明确返回了文件的内容?请解释。 答:状态码和相应状态信息的值为304 NOT Modified,他表示缓存器可以使用该对象。第二次没有返回文件的内容,因为他只是作为对该条件GET的响应,WEB服务器只发送一个响应报文,不包含请求的对象。 12. 你的浏览器一共发出了多少个HTTP GET请求? 答:1个 13. 传输这一个HTTP响应需要多少个TCP报文段? 答:4个。

网络协议分析实验报告

实 验 报 告 课程名称 计算机网络 实验名称 网络协议分析 系别 专业班级 指导教师 学号 姓名 实验日期 实验成绩 一、实验目的 掌握常用的抓包软件,了解ARP 、ICMP 、IP 、TCP 、UDP 协议的结构。 二、实验环境 1.虚拟机(VMWare 或Microsoft Virtual PC )、Windows 2003 Server 。 2.实验室局域网,WindowsXP 三、实验学时 2学时,必做实验。 四、实验内容 注意:若是实验环境1,则配置客户机A 的IP 地址:192.168.11.X/24,X 为学生座号;另一台客户机B 的IP 地址:192.168.11.(X+100)。在客户机A 上安装EtherPeek (或者sniffer pro )协议分析软件。若是实验环境2则根据当前主机A 的地址,找一台当前在线主机B 完成。 1、从客户机A ping 客户机B ,利用EtherPeek (或者sniffer pro )协议分析软件抓包,分析ARP 协议; 2、从客户机A ping 客户机B ,利用EtherPeek (或者sniffer pro )协议分析软件抓包,分析icmp 协议和ip 协议; 3、客户机A 上访问 http://biz.doczj.com/doc/f616966095.html, ,利用EtherPeek (或者sniffer pro )协议分析软件抓包,分析TCP 和UDP 协议; 五、实验步骤和截图(并填表) 1、分析arp 协议,填写下表 客户机B 客户机A

2、分析icmp协议和ip协议,分别填写下表 表一:ICMP报文分析

3、分析TCP和UDP 协议,分别填写下表

《网络协议分析》实验报告

网络协议分析 ——计算机+自动化0902班易珊珊学号:200926100427 1 实验目的 ?掌握如何利用协议分析工具分析IP数据报报文格式,体会数据报发送,转发的过程。 ?通过分析截获TCP报文首部信息,理解首部中的序号,确认号等字段是TCP可靠连接的基础.通过分析TCP连接的三次握手建立和释放过程,理解TCP连接建立和释放机制。 2 实验内容 ?(1)IP协议分析 ?IP协议分析 (图一)IP数据报的格式

(图二)捕获的IP数据报 version:4,版本,占四位。 Header length:20 bytes,IP数据报首部为20字节,等于固定部分长度,说明没有可选字段。 Differentiated services field:ox00,所有服务类型都为0,说明这是一种缺省情况,IP数据报的发送者没有规定IP数据报的服务类型。 Total length:52,IP数据报总长度为52字节。 Identification:oxa47b,标识,占16位。 Flags: 标志,占3位。DF=1,MF=0, Fragment offset:0,说明该数据报没有分片。 Time to live:128,生存时间是128,每过一个路由器它就减1。 Protocol:TCP(ox06)此IP 数据报携带的数据使用TCP协议,协议字段

值为6。 Header checksum:oxdf8a,首部校验和,占16位。Source:192.168.2.10 源地址,占32位。Destination:202.102.233.164 目的地址,占32位。 ?(2)TCP协议分析: (图三)TCP报文段的首部格式

IP协议分析实验报告

计算机网络 实 验 报 告 实验名称: IP协议分析 实验分组号: 实验人:郑微微 班级: 12计算机科学系本四B班学号: 实验指导教师:阮锦新 实验场地:网络实验室706 实验时间: 2014年11月 17号 成绩:

一、实验目的 1、掌握IP协议分析的方法 2、掌握TCP/IP体系结构 3、加深网络层协议的理解 4、学会使用网络分析工具 二、实验要求 1、实验前下载安装Ethereal/Wireshark/Sniffer中的一款网络分析工具软件 2、了解网络分析工具软件的常见功能与常见操作 3、每位学生必须独立完成所有实验环节 三、实验环境 1、操作系统:Windows XP/Windows 7/Windows 2008 2、已安装网络分析工具软件 3、PC机能访问互联网 四、实验内容及原理 1、实验内容 (1)IP头的结构 (2)IP报文分析 2、实验原理 网络之间互连的协议(Internet Protocol,IP)就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。 IP报文由报头和数据两部分组成,如图1所示:

图1 IP报文格式 五、需求分析 IP协议是TCP/IP体系中两个主要的协议之一,而IP地址位于IP数据报的首部,在网络层及以上使用的是IP地址,因此在数据链路层是看不见数据报的IP地址,另外首部的前一部分是固定长度,共20字节。在TCP/IP的标准中,各种数据格式常以32位为单位来描述,通过分析IP数据报的格式就能够知道IP协议都具有哪些功能。 六、实验步骤 1、打开网络分析工具软件 2、抓取浏览器数据包 (1)启动网络分析工具软件,设置抓包过滤条件。 (2)启动浏览器,在地址栏输入要访问的IP地址。 (3)关闭浏览器,停止抓包。 (4)存储所捕获的数据包。 (5)分析数据包。 七、实验分析 1.启动网络分析工具软件,设置抓包过滤条件为“==”

网络协议分析软件的使用实验报告

实验报告 项目名称:网络协议分析工具的使用课程名称:计算机网络B 班级: 姓名: 学号: 教师: 信息工程学院测控系

一、实验目的 基于网络协议分析工具Wireshark(原为Ethereal),通过多种网络应用的实际操作,学习和掌握不同网络协议数据包的分析方法,提高TCP/IP协议的分析能力和应用技能。 二、实验前的准备 ● 二人一组,分组实验; ● 熟悉Ping、Tracert等命令,学习FTP、HTTP、SMTP和POP3协议; ● 安装软件工具Wireshark,并了解其功能、工作原理和使用方法; ● 安装任一种端口扫描工具; ● 阅读本实验的阅读文献; 三、实验内容、要求和步骤 3.1 学习Wireshark工具的基本操作 学习捕获选项的设置和使用,如考虑源主机和目的主机,正确设置Capture Filter;捕获后设置Display Filter。 3.2 PING命令的网络包捕获分析 PING命令是基于ICMP协议而工作的,发送4个包,正常返回4个包。以主机210.31.40.41为例,主要实验步骤为: (1)设置“捕获过滤”:在Capture Filter中填写host 210.31.38.94; (2)开始抓包; (3)在DOS下执行PING命令; (4)停止抓包。 (5)设置“显示过滤”: IP.Addr=210.31.38.94 (6)选择某数据包,重点分析其协议部分,特别是协议首部内容,点开所有带+号的内容。(7)针对重要内容截屏,并解析协议字段中的内容,一并写入WORD文档中。

分析:从这个数据包的分析结果来看我们可以得知: 数据包的到达时间为2013年11月28日14:43:15 帧的序号为20411 帧的长度为74bytes(592bits),同时抓取的长度也是74bytes,说明没有丢失数据 目的MAC地址为00:25:11::4b:7a:6e 源MAC地址为00:25:11:4b:7d:6e 使用的协议为Ipv4 网络层的首部长度为20bytes 目的Ip地址为222.31.38.94 源Ip地址为222.31.38.93 数据没有分片说明数据大小没有超过最大传输单元MUT,其中用到了ICMP协议,数据包的生存周期为128 头部校验和为0x01正确 ICMP的校验和为0x01序列号为2304 数据有32bytes 3.3 TRACERT命令数据捕获 观察路由跳步过程。分别自行选择校内外2个目标主机。比如, (1)校内:tracert 210.31.32.8 (2)校外:tracert http://biz.doczj.com/doc/f616966095.html,

网络协议实验报告6

组号:3F 学号:53131016 姓名:杨灵 实验7.1 FTP协议 【实验目的】 学习FTP协议的连接过程;理解FTP协议的工作原理。一人一组,一组提交报告。 【实验环境】 本实验采用网络结构一, 一定要设置DNS服务器,地址是:172.16.0.253 主机的IP地址使用172.16.0.0段。掩码255.255.255.0. IP地址分配方法: 172.16.0.组号、主机号 例如:第2组的B主机的IP地址设置为172.16.0.22 第5组的F主机的IP地址设置为 172.16.0.56 【实验内容】 本实验要求: FTP服务器已经启动,并提供一个公共帐户,用户名是:anonymous,口令:无。或用户名:group2_1,口令:group2_1 (可以上传数据)。练习一 FTP 本实验学生独立完成,目的是了解FTP协议的端口和连接过程。 实验步骤: 1、主机启动协议分析器,打开数据捕获窗口,设置过滤条件(提取FTP协议); 2、主机登录FTP服务器:在仿真端的命令行提示符下运行: >ftp 172.16.0.253 LOGIN:>group2_1 PASS:>group2_1 >dir >quit 3、查看主机捕获的数据,在会话分析中,查看TCP会话中的21端口和20端口的会话情况,记录21端口和20端口的会话过程; ●记录实验结果: ①粘贴捕获包的截图;

②是否可以捕获到用户名和密码? 答:可以,在USER和PASS会话中。 ③21端口和20端口分别传输什么内容? 答:一个是数据端口,一个是控制端口,控制端口一般为21,而数据端口不一定是20,这和FTP的使用模式有关,如果是主动模式,应该为20,如果为被动模式,由服务器端和客户端协商而定。练习二使用浏览器登入FTP 1、主机启动协议分析器,打开数据捕获窗口; 2、主机启动IE浏览器,在“地址”框中输入ftp://172.16.0.253 3、查看主机捕获的数据,在会话分析中,查看TCP会话中的端口情况。 4、结合练习1的会话过程,说明浏览器登入FTP的工作过程。 ●记录实验结果: ①粘贴捕获包的截图; ②对比上个实验,FTP服务器用哪个端口传输数据,数据连接是谁发起的连接? 答:ftp服务器用21端口传输数据,数据连接是客户端发起的的连接。 练习三在窗口模式下,上传/下传数据文件 熟悉FTP在窗口方式下的命令使用;在本地机的D:上建立一个文本文件,文件名为你的学号+姓名; 1、主机登录FTP服务器:在命令行提示符下运行: D:>ftp 172.16.0.253 >LOGIN:group2_1 >PASS: group2_1 >put 文件名(文件名为你的学号+姓名) >dir (查看FTP上是否已经上传) >get 文件名(FTP服务器) >quit 2、回到本地硬盘上查看是否已经下载到本地?(进入FTP时的目录下) ●记录实验结果: ①粘贴FTP上的文件列表;

网络协议实验报告

实验一: unsigned short checkSum(char*pBuffer,int nLen) { unsigned short nWord; unsigned int nSum=0; int i; for(i=0;i>16) { nSum=(nSum&0xFFFF)+(nSum>>16); } nSum=~nSum; return((unsigned short)nSum); } int timeout=1000; setsockopt(sock_raw,SOL_SOCKET,SO_RCVTIMEO,(char*)&timeout,sizeof(timeout)); setsockopt(sock_raw,SOL_SOCKET,SO_SNDTIMEO,(char*)&timeout,sizeof(timeout)); ICMPheader*pIcmpHeader=(ICMPheader*)sendBuffer; pIcmpHeader->byType=8; pIcmpHeader->byCode=0; pIcmpHeader->nId=(USHORT)::GetCurrentProcessId(); pIcmpHeader->nChecksum=0; pIcmpHeader->nSequence=htons(nSeq++); memset(sendBuffer+sizeof(ICMPheader),'*',32); pIcmpHeader->nChecksum=htons(checkSum(sendBuffer, sizeof(ICMPheader)+32)); int nRet=sendto(sock_raw,sendBuffer,sizeof(ICMPheader)+32,0, (SOCKADDR*)&dest_addr,sizeof(SOCKADDR_IN)); IPheader*ipHdr=(IPheader*)recvBuffer; ICMPheader*icmpHdrRet=(ICMPheader*)(recvBuffer+sizeof(IPheader)); if(icmpHdrRet->byCode==0&& icmpHdrRet->nId==pIcmpHeader->nId&& icmpHdrRet->nSequence==pIcmpHeader->nSequence) { nPacketReceived++; unsigned long dwRecvTime=::GetTickCount(); int nRoundTime=dwRecvTime-dwSendTime; nTotalRoundTime+=nRoundTime;

实验yi:网络协议分析工具Wireshark的使用

实验一: 一、实验目的 学习使用网络协议分析工具Wireshark的方法,并用它来分析一些协议。 二、实验原理和内容 1、tcp/ip协议族中网络层传输层应用层相关重要协议原理 2、网络协议分析工具Wireshark的工作原理和基本使用规则 三、实验环境以及设备 Pc机、双绞线 四、实验步骤(操作方法及思考题) 1.用Wireshark观察ARP协议以及ping命令的工作过程:(20分) (1)用“ipconfig”命令获得本机的MAC地址和缺省路由器的IP地址;(2)用“arp”命令清空本机的缓存; (3)运行Wireshark,开始捕获所有属于ARP协议或ICMP协议的,并且源或目的MAC地址是本机的包(提示:在设置过滤规则时需要使用(1)中获得的本机的MAC地址); (4)执行命令:“ping 缺省路由器的IP地址”; 写出(1),(2)中所执行的完整命令(包含命令行参数),(3)中需要设置的Wireshark的Capture Filter过滤规则,以及解释用Wireshark所观察到的执行(4)时网络上出现的现象。 -------------------------------------------------------------------------------- (1)ipconfig/all (2)arp –d (3)( arp or icmp ) and ether host 18-03-73-BC-70-51, ping 192.168.32.254 后的截包信息图片:

首先,通过ARP找到所ping机器的ip地址,本机器发送一个广播包,在子网中查询192.168.32.254的MAC地址,然后一个节点发送了响应该查询的ARP分组,告知及其所查询的MAC地址。接下来,本机器发送3个请求的ICMP报文,目的地段回复了三个响应请求的应答ICMP报文。在最后对请求主机对应的MAC地址进行核查。 2.用Wireshark观察tracert命令的工作过程:(20分) (1)运行Wireshark, 开始捕获tracert命令中用到的消息; (2)执行“tracert -d http://biz.doczj.com/doc/f616966095.html,” 根据Wireshark所观察到的现象思考并解释tracert的工作原理。 ----------------------------------------------------------- 实验室路由跟踪显示有6个路由器

网络协议分析实验报告样本

网络协议分析实验报告样本 网络协议分析实验报告本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 实验报告99实验名称网络协议分析姓名学号班级313计本班实验目的掌握常用的抓包软件,了解EtherV 2、ARP、P IP协议的结构。 实验内容 11、分析2EtherV2协议 22、分析P ARP协议 33、分析P IP协议实验步骤 11、在S DOS状态下,运行ipconfig,记录本机的IP地址和硬件地址,网关的IP地址。 如下图11所示::本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 图图 12、分析数据链路层协议( (1)、在:PC1的“运行”对话框中输入命令“Ping192.168.191.1,单击“Enter”按钮;图如下图2所示:图图2( (2)、在本机上运行wireshark截获报文,为了只截获和实验内容有关的报文,将Ethereal的的Captrue Filter设置为“No

Broadcastand noMulticast”;如下图3所示:本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 图图3 (33)停止截获报文::将结果保存为MAC--学号,并对截获的报文进行分析:11)列出截获的报文中的协议类型,观察这些协议之间的关系。 答::a a、UDP:用户数据包协议,它和P TCP一样位于传输层,和P IP协议配合使用,。 在传输数据时省去包头,但它不能提供数据包的重传,所以适合传输较短的文件。 b b、WSP:是无线局域网领域推出的新协议,用来方便安全地建立无线连接。 c c、ARP:地址解析协议,实现通过P IP地址得知其物理地址。 在P TCP/IP网络环境下,每个主机都分配了一个232位的P IP 地址,这种互联网地址是在网际范围标本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 识主机的一种逻辑地址。 为了让报文在物理网路上传送,必须知道对方目的主机的物理地址。 这样就存在把P IP地址变换成物理地址的地址转换问题。

网络协议分析最终版

中南林业科技大学 实验报告 课程名称:网络协议与分析 姓名:项学静学号:20104422 专业班级:2010级计算机科学与技术 系(院):计算机与信息工程学院 实验时间:2013年下学期 实验地点:电子信息楼602机房

实验一点到点协议PPP 一、实验目的 1.理解PPP协议的工作原理及作用。 2.练习PPP,CHAP的配置。 3.验证PPP,CHAP的工作原理。 二、实验环境 1.安装windows操作系统的PC计算机。 2.Boson NetSim模拟仿真软件。 三、实验步骤 1、绘制实验拓扑图 利用Boson Network Designer绘制实验网络拓扑图如图1-1。 本实验选择两台4500型号的路由器。同时,采用Serial串行方式连接两台路由器,并选择点到点类型。其中DCE端可以任意选择,对于DCE端路由器的接口(Serial 0/0)需要配置时钟信号(这里用R1的Serial 0/0作为DCE端)。 2、配置路由器基本参数

绘制完实验拓扑图后,可将其保存并装入Boson NetSim中开始试验配置。配置时点击Boson NetSim程序工具栏按钮eRouters,选择R1 并按下面的过程进行路由器1的基本参数配置: Router>enable Router#conf t Router(config)#host R1 R1(config)#enable secret c1 R1(config)#line vty 0 4 R1(config-line)#password c2 R1(config-line)#interface serial 0/0 R1(config-if)#ip address 192.168.0.1 255.255.255.0 R1(config-if)#clock rate 64000 R1(config-if)#no shutdown R1(config-if)#end R1#copy running-config startup-config 点击工具栏按钮eRouters,选择R2并按下面过程进行路由器的基本参数配置:Router>enable Router#conf t Router(config)#host R2

计算机网络协议实验报告

实验报告 项目名称:小型局域网的设计 课程名称:计算机网络B 班级:电G131 姓名:xxx xx 学号:51201320xx 5120132045 教师:张晓明 信息工程学院计算机系

一、实验目的 基于网络协议分析工具Ethereal,通过多种网络应用的实际操作,学习和掌握不同网络协议数据包的分析方法,提高 TCP/IP 协议的分析能力和应用技能。 二、实验前的准备 ●二人一组,分组实验; ●熟悉 Ping、Tracert等命令,学习FTP、HTTP、SMTP和POP3协议; ●安装软件工具Ethereal,并了解其功能、工作原理和使用方法; ●安装任一种端口扫描工具; ●阅读本实验的阅读文献; 三、实验内容、要求和步骤 3.1 学习Ethereal工具的基本操作 学习捕获选项的设置和使用,如考虑源主机和目的主机,正确设置Capture Filter;捕获后设置Display Filter。 3.2 PING命令的网络包捕获分析 PING命令是基于ICMP协议而工作的,发送4个包,正常返回4个包。以主机210.31.32.7 为例,主要实验步骤为: (1)设置“捕获过滤”:在Capture Filter中填写 host 210.31.32.7; (2)开始抓包; (3)在 DOS 下执行PING命令; (4)停止抓包。 (5)设置“显示过滤”:IP.Addr==210.31.32.7 (6)选择某数据包,重点分析其协议部分,特别是协议首部内容,点开所有带+号的内容。 (7)针对重要内容截屏,并解析协议字段中的内容,一并写入 WORD 文档中。

截获数据 Frame 3 (74 bytes on wire,74 bytes captured) Arrival Time: Nov 11,2014:15:49:35 Packet Length:74bytes Capture Length:74bytes Ethernet II,Src: f0:de:f1:ef:cf:3e, Dst: 08:81:f4:9e:47:f0 Internet Protocol,Src Addr:10.10.56.126(10.10.56.126),Dst Addr:210.31.32.7(210.31.32.7) 分析 第三帧,74字节在线,捕获74字节 到达时间:2014年11月11日15点49分35秒 包长度:74字节 捕获长度:74字节 以太网2,源物理地址:f0:de:f1:ef:cf:3e,目标物理地址:08:81:f4:9e:47:f0 源IP地址:10.10.56.126 目标IP地址:210.31.32.7 3.3 TRACERT 命令数据捕获 观察路由跳步过程。分别自行选择校内外2个目标主机。比如, (1)校内:tracert 210.31.32.8

网络协议实验报告

TCP/IP协议分析-阅读调式IP协议源代码 实验内容:阅读、调试IP协议源代码 姓名:陈春玮 学号:142050121 实验日期:2014.11.25 一、实验目的: TCP/IP协议簇各功能函数之间的调用过程是协议簇运行的基础,查看TCP/IP协议簇各函数源代码实现及调用关系有助于整体理解协议簇。 实验要求阅读并调通IP协议源代码各函数的相互调用,理解网络报文转发功能这一TCP/IP核心功能的实现方式。 二、实验内容 (一)IP进程实现ipproc.c structep*ipgetp()这个函数实现用循环法获取一个ip数据报。 if((pip->ip_verlen>>4)!=IP_VERSION)如果IP数据报的版本号不是4,则丢弃报文,接收下一个ip数据包; if(IP_CLASSD(pip->ip_dst)||IP_CLASSE(pip->ip_dst))如果ip数据首部目的地址是一个E类地址,丢弃报文,接收下一个ip数据包; if(ifnum!=NI_LOCAL) if(cksum(pip,IP_HLEN(pip)>>1)) 如果ip数据报不是来自回环接口,则计算首部校验和,如有误,则丢弃报文,接收下一个ip数据包。 prt=rtget(pip->ip_dst,(ifnum==NI_LOCAL));if(prt==NULL){if(gateway)为该报文获取路由,判断该报文是否来自外部接口并要转发到外部接口,若是,则判断该主机是不是网关,不是则丢弃报文,接收下一个ip数据包。 iph2net()将报文首部字节序转换为网络字节序。 Ipdbc()这个函数查看报文是否是一个定向广播的报文,传入ip数据包的输入接口号,以太网帧,该数据包的路由。 Ipredirect()查看是否需要对该报文的路由进行重定向处理,传入ip数据包的输入接口号,以太网帧,该数据包的路由。

网络协议分析实验报告

课程设计 课程设计题目网络协议分析实验报告学生姓名: 学号: 专业: 2014年 6 月 29日

实验1 基于ICMP的MTU测量方法 实验目的 1)掌握ICMP协议 2)掌握PING程序基本原理 3)掌握socket编程技术 4)掌握MTU测量算法 实验任务 编写一个基于ICMP协议测量网络MTU的程序,程序需要完成的功能: 1)使用目标IP地址或域名作为参数,测量本机到目标主机经过网络的MTU; 2)输出到目标主机经过网络的MTU。 实验环境 1)Linux系统; 2)gcc编译工具,gdb调试工具。 实验步骤 1.首先仔细研读ping.c例程,熟悉linux下socket原始套接字编程模式,为实验做好准备; 2.生成最大数据量的IP数据报(64K),数据部分为ICMP格式,ICMP报文为回送请求报 文,IP首部DF位置为1;由发送线程发送; 3.如果收到报文为目标不可达报文,减少数据长度,再次发送,直到收到回送应答报文。 至此,MTU测量完毕。

ICMP协议是一种面向无连接的协议,用于传输出错报告控制信息。它是一个非常重要的协议,它对于网络安全具有极其重要的意义。[1] 它是TCP/IP协议族的一个子协议,属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。ICMP报文在IP帧结构的首部协议类型字段(Protocol 8bit)的值=1.

ICMP原理 ICMP提供一致易懂的出错报告信息。发送的出错报文返回到发送原数据的设备,因为只有发送设备才是出错报文的逻辑接受者。发送设备随后可根据ICMP报文确定发生错误的类型,并确定如何才能更好地重发失败的数据包。但是ICMP唯一的功能是报告问题而不是纠正错误,纠正错误的任务由发送方完成。 我们在网络中经常会使用到ICMP协议,比如我们经常使用的用于检查网络通不通的Ping命令(Linux和Windows中均有),这个“Ping”的过程实际上就是ICMP协议工作的过程。还有其他的网络命令如跟踪路由的Tracert命令也是基于ICMP协议的。 ICMP(Internet Control Message,网际控制报文协议)是为网关和目标主机而提供的一种差错控制机制,使它们在遇到差错时能把错误报告给报文源发方.是IP层的一个协议。但是由于差错报告在发送给报文源发方时可能也要经过若干子网,因此牵涉到路由选择等问题,所以ICMP报文需通过IP协议来发送。ICMP数据报的数据发送前需要两级封装:首先添加ICMP 报头形成ICMP报文,再添加IP报头形成IP数据报 通信术语最大传输单元(Maximum Transmission Unit,MTU)是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位)。最大传输单元这个参数通常与通信接口有关(网络接口卡、串口等)。 实验2 基于UDP的traceroute程序 实验目的 1)掌握UDP协议 2)掌握UDP客户机/服务器编程模式 3)掌握socket编程技术 4)掌握traceroute算法

计算机网络实验利用wireshark分析ARP协议—实验六实验报告

信 息 网 络 技 术 实 验 报 告 实验名称利用wireshark分析ARP协议

实验编号 姓名 学号 成绩 常见网络协议分析实验一、实验室名称: 电子政务可视化再现实验室 二、实验项目名称: 利用wireshark分析ARP协议 三、实验原理:

Wireshark:Wireshark 是网络包分析工具。网络包分析工具的主要作用是尝试获取网络包,并尝试显示包的尽可能详细的情况。网络包分析工具是一种用来测量有什么东西从网线上进出的测量工具,Wireshark 是最好的开源网络分析软件。 当一台主机把以太网数据帧发送到位于同一局域网上的另一台主机时,是根据48bit 的以太网地址来确定目的接口的.设备驱动程序从不检查IP数据报中的目的IP地址。地址解析为这两种不同的地址形式提供映射:32bit的IP地址和数据链路层使用的任何类型的地址。 ARP根据IP地址获取物理地址的一个TCP/IP协议。ARP为IP地址到对应的硬件地址之间提供动态映射。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存。 四、实验目的: 目的是通过实验加深对数据包的认识,网络信息传输过程的理解,加深对协议的理解,并了解协议的结构与区别。 利用wireshark捕获发生在ping过程中的ARP报文,加强对ARP协议的理解,掌握ARP报文格式,掌握ARP请求报文和应答报文的区别。 五、实验内容: 利用wireshark分析ARP协议 六、实验器材(设备、元器件) 运行Windows的计算机,带有并正确安装网卡;wireshark软件;具备路由器、交换机等网络设备的网络连接。 七、实验步骤: 1、查看本机WLAN接口IP,得到。 2、利用arp –a命令在本地的ARP 缓存中查看IP-MAC对应表。

计算机网络实验利用wireshark分析ARP协议—实验六实验报告分析

信息网络技术实验报告

实验名称利用wireshark分析ARP协议 实验编号 6.1 姓名 学号 成绩 2.6常见网络协议分析实验 一、实验室名称: 电子政务可视化再现实验室 二、实验项目名称: 利用wireshark分析ARP协议

三、实验原理: Wireshark:Wireshark 是网络包分析工具。网络包分析工具的主要作用是尝试获取网络包,并尝试显示包的尽可能详细的情况。网络包分析工具是一种用来测量有什么东西从网线上进出的测量工具,Wireshark 是最好的开源网络分析软件。 当一台主机把以太网数据帧发送到位于同一局域网上的另一台主机时,是根据48bit 的以太网地址来确定目的接口的.设备驱动程序从不检查IP数据报中的目的IP地址。地址解析为这两种不同的地址形式提供映射:32bit的IP地址和数据链路层使用的任何类型的地址。 ARP根据IP地址获取物理地址的一个TCP/IP协议。ARP为IP地址到对应的硬件地址之间提供动态映射。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存。 四、实验目的: 目的是通过实验加深对数据包的认识,网络信息传输过程的理解,加深对协议的理解,并了解协议的结构与区别。 利用wireshark捕获发生在ping过程中的ARP报文,加强对ARP协议的理解,掌握ARP报文格式,掌握ARP请求报文和应答报文的区别。 五、实验内容: 利用wireshark分析ARP协议 六、实验器材(设备、元器件) 运行Windows的计算机,带有并正确安装网卡;wireshark软件;具备路由器、交换机等网络设备的网络连接。 七、实验步骤: 1、查看本机WLAN接口IP,得到192.168.1.112。 2、利用arp –a命令在本地的ARP 缓存中查看IP-MAC对应表。

实验1:网络数据包的捕获与协议分析

实验报告 ( 2014 / 2015 学年第二学期) 题目:网络数据包的捕获与协议分析 专业 学生姓名 班级学号 指导教师胡素君 指导单位计算机系统与网络教学中心 日期2015.5.10

实验一:网络数据包的捕获与协议分析 一、实验目的 1、掌握网络协议分析工具Wireshark的使用方法,并用它来分析一些协议; 2、截获数据包并对它们观察和分析,了解协议的运行机制。 二、实验原理和内容 1、tcp/ip协议族中网络层传输层应用层相关重要协议原理 2、网络协议分析工具Wireshark的工作原理和基本使用规则 三、实验环境以及设备 Pc机、双绞线、局域网 四、实验步骤 1.用Wireshark观察ARP协议以及ping命令的工作过程: (1)打开windows命令行,键入“ipconfig -all”命令获得本机的MAC地址和缺省路由器的IP地址;结果如下: (2)用“arp -d”命令清空本机的缓存;结果如下 (3)开始捕获所有属于ARP协议或ICMP协议的,并且源或目的MAC地址是本机的包。(4)执行命令:ping http://biz.doczj.com/doc/f616966095.html,,观察执行后的结果并记录。

此时,Wireshark所观察到的现象是:(截图表示) 2.设计一个用Wireshark捕获HTTP实现的完整过程,并对捕获的结果进行分析和统计。(截 图加分析) 3.设计一个用Wireshark捕获ICMP实现的完整过程,并对捕获的结果进行分析和统计。要求:给出捕获某一数据包后的屏幕截图。以16进制形式显示其包的内容,并分析该ICMP 报文。(截图加分析) 4. 设计一个用Wireshark捕获IP数据包的过程,并对捕获的结果进行分析和统计(截图加分析) 要求:给出捕获某一数据包后的屏幕截图。以16进制形式显示其包的内容,并分析在该数据包中的内容:版本首部长度、服务类型、总长度、标识、片偏移、寿命、协议、源Ip地址、目的地址 五、实验总结

卓顶精文最新网络协议实验报告6.doc

组号:3F学号:53131016姓名:杨灵 实验7.1FTP协议 【实验目的】 学习FTP协议的连接过程;理解FTP协议的工作原理。一人一组,一组提交报告。 【实验环境】 本实验采用网络结构一,一定要设置DNS服务器,地址是:172.16.0.253主机的IP地址使用172.16.0.0段。掩码255.255.255.0. IP地址分配方法: 172.16.0.组号、主机号 例如:第2组的B主机的IP地址设置为172.16.0.22 第5组的F主机的IP地址设置为172.16.0.56 【实验内容】 本实验要求: FTP服务器已经启动,并提供一个公共帐户,用户名是:anonPmous,口令:无。或用户名:group2_1,口令:group2_1(可以上传数据)。 练习一FTP 本实验学生独立完成,目的是了解FTP协议的端口和连接过程。 实验步骤: 1、主机启动协议分析器,打开数据捕获窗口,设置过滤条件(提取FTP协议); 2、主机登录FTP服务器:在仿真端的命令行提示符下运行: >ftp172.16.0.253 LOGIN:>group2_1 PASS:>group2_1 >dir >quit 3、查看主机捕获的数据,在会话分析中,查看TCP会话中的21端口和20端口的会话情况,记录21端口和20端口的会话过程; ●记录实验结果: ①粘贴捕获包的截图; ②是否可以捕获到用户名和密码? 答:可以,在USER和PASS会话中。 ③21端口和20端口分别传输什么内容? 答:一个是数据端口,一个是控制端口,控制端口一般为21,而数据端口不一定是20,这和FTP的应用模式有关,如果是主动模式,应该为20,如果为被动模式,由服务器端和客户端协商而定。练习二使用浏览器登入FTP 1、主机启动协议分析器,打开数据捕获窗口; 2、主机启动IE浏览器,在“地址”框中输入ftp://172.16.0.253 3、查看主机捕获的数据,在会话分析中,查看TCP会话中的端口情况。 4、结合练习1的会话过程,说明浏览器登入FTP的工作过程。 ●记录实验结果: ①粘贴捕获包的截图;

相关主题