计算机网络 实验三 使用网络协议分析器捕捉和分析协议数据包

本文主要是介绍计算机网络 实验三 使用网络协议分析器捕捉和分析协议数据包,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

 

学院

 

计算机学院

 

年级、专业、班

软件工程

姓名

涂山

学号

170******

实验课程名称

                                计算机网络实验

成绩

 

实验项目名称

       使用网络协议分析器捕捉和分析协议数据包

指导老师

 

1)实验目的

熟悉ethereal的使用;验证各种协议数据包格式;学会捕捉并分析各种数据包。

2)实验环境

操作系统windows xp、以太网、WLAN;

3)实验内容

       1.安装ethereal软件

WireShark3.0.6版本

       2.捕捉数据包,验证数据帧、IP数据报、TCP数据段的报文格式。

目的地址为美国 google全球边缘网络

电脑打开了谷歌浏览器,源地址为本电脑IP地址,目的地址为美国Google全球边缘网络,与上面的信息想对应;帧、报文格式、IP数据包、TCP数据段的报文格式也一致。

     3.捕捉并分析ARP报文。

路由器:

源地址IntelCor_95:61:f9为本机MAC地址,目的地址为广播

本机请求ip地址,此时还没获得,因此是0.0.0.0

接下来——

通过广播形式,寻找默认网关(路由器)的IP地址,进而获得默认网关的MAC地址

最后——

收到回复

信息告知:192.168.1.1(路由器)的MAC地址为78:a3:51:3c:47:d2

Gzhu无线WiFi:

源地址HuaweiTe_f4:35:0f,目的地址Broadcast,通过广播的形式(ff:ff:ff:ff:ff:ff),发送上网请求,分配上网的IP地址给HuaweiTe_f4:35:0f。

源地址f2:f6:39:ba:df:7d为本机的MAC地址,目的地址HuaweiTe_f4:35:0f为运营商提供的上网服务设备地址,由于连接的是校园网,目的地址可能是一台交换机,作为默认网关。

首先由交换机广播请求IP地址,然后把IP地址分配给本机请求。

本机MAC地址跟获得到的IP地址;默认网关的MAC地址

总结:由本机广播发出上网请求,交换机(默认网关)收到请求,进而给本机分配上网的IP地址。

     4.捕捉ping过程中的ICMP报文, 分析结果各参数的意义。

一一对应

下面是一个请求报文跟其对应的回复报文

1是发送请求的源地址(本机)跟ping的目的地址(百度)

2,3请求报文跟回复报文一一对应

4是字节的长度

5是响应时间,跟cmd里面一致

     5.捕捉tracert过程中的ICMP报文,分析跟踪的路由器IP是哪个接口的。

每个报文都发了三次,响应时间对应8ms、9ms、24ms和21、19、19ms

不同之处在于TTL不一样,前面一轮TTL为1,后面TTL为2

其中分别对应的回复消息是:

TTL=1,超时

TTL=2,跟踪完成

可见经过一个路由即可到达,符合cmd的结果。

Tracert时,源主机向目的主机发送数据报,第一个数据报生存时间TTL为1,经过一个路由器就加一消亡,因此第一次经过第一个路由器的时候,路由器收下这个数据报,接着把TTL减1,TTL变成0,第一个路由器把这个数据报丢弃,并向源主机发送一个超时报文;接着源主机发送第二个数据报,TTL设置为2,经过第一个路由器,TTL减1,然后往下一个路由器发,TTL等0的时候,往回(源主机)发超时信息,一直持续下去;而当TTL到达目的主机时等于1,主机不再发送数据报,目的主机向源主机发送ICMP终点不可到达的差错报告报文。(在抓包过程中并没有destination unreachable,而是直接reply一段信息,目前猜测作用跟课本一致)

路由器的端口为137

     6.捕捉并分析TCP三次握手建立连接的过程。

打开wireshark,启动捕获,打开网址,搜索b站(www.bilibili.com)

设置过滤条件ip.addr== 139.159.246.60 and tcp

139.159.246.60 为b站IP地址

筛选出来的三次握手如下:

第一次握手:本机向目的地址发出连接请求,同步位SYN=1,初始序号seq=0(随机/默认)

第二次握手:目的主机收到请求连接的报文,同意连接,ACK(确认)等于第一次握手中的SYN的seq+1,则ACK=1,此时seq=0(随机/默认)

第三次握手:本机收到目的主机的同意连接的报文,给目的主机回复确认收到的信息。ACK置1,ACK等于第二次握手中的SYN,ACK的seq+1,则ACK=1,seq等于第一次的值加一,则seq=1.

     7.捕捉整个FTP工作工程的协议包

  对协议包进行分析说明,依据不同阶段的协议分析,画出FTP工作过程的示意图

 

 

PS:TCP服务器的建立,打开及防火墙的设置:

  在不下载TCP服务器(可用软件:quickeasy FTP server)的前提下,可以用电脑搭

  建简单的TCP服务器。

  注:选用一台电脑作为TCP服务器,客户端的在同一局域网内的任意电脑都可以。

第一步:控制面板打开——程序——程序和功能——启用或关闭Windows功能

第二步:打开Internet Information Services,过程等待几分钟

第三步:桌面——此电脑——右键管理——服务和应用程序

网站——右键添加FTP站点

点击完成即可成功创建

第四步:关闭防火墙,在同一局域网内的任意电脑的网址导航栏或者文件导航栏输入

    ftp://192.168.1.245,即可访问FTP服务器。如果想在不关闭防火墙的前提下访问,

    打开防火墙的高级设置,在入站规则中新建规则——自定义规则——所有程序——

    协议类型等选择任何——配置文件只选域——最后名称随意。即可完成创建。

注:新建的规则可能并不安全,因此在完成FTP抓包操作之后要及时关掉。

      a.. 地址解析ARP协议执行过程

客户端与TCP服务器进行通信时,地址解析ARP协议将客户端的IP地址解析成客户端的MAC地址:

第一步:根据客户端上的ARP缓存内容,IP确定用于访问TCP服务器的转发地址。然后客户端在自己的本地ARP缓存中检查TCP服务器的匹配MAC地址。

第二步:如果客户端在ARP缓存中没有找到映射,它将询问TCP服务器的硬件地址,从而将ARP请求帧广播到本地网络上的所有主机。

第三步:TCP服务器确定客户端的ARP请求中的IP地址与自己的IP地址匹配,将客户端的IP地址和MAC地址映射添加到本机ARP缓存中。

第四步:TCP服务器将包含客户端MAC地址的ARP回复信息发回客户端

第五步:客户端收到TCP发来的ARP回复信息,用TCP服务器的IP地址和MAC地址映射更新ARP缓存。TCP服务器的MAC地址一旦确定,客户端就能向TCP服务器发送IP通信。

 

      b.  FTP控制连接建立过程

   

     三次握手建立连接,端口53901为本机的一个随机端口,21为FTP的控制连接的端口

     源地址192.168.1.111为FTP客户端,目的地址192.168.1.245为FTP服务器端

      c .  FTP 用户登录身份验证过程

    220 服务就绪

    User 用户名——匿名访问(anonymus)

    331 输入密码(随意,可空格),需要Email,默认跳过

    User@ 查看代理(默认跳过)

    230  用户登陆因特网成功 

    CWD 把服务器上指定的路径变成当前目录

    250  文件行为完成

    

    

      PASV表示FTP采用被动模式,用户主机前端多了一道防火墙(在此之前需关

      闭防火墙或者在防火墙高级设置里面的入站规则创建一条新规则)

      过程:主机向服务器发出请求:请开启PASV被动模式,服务器回复:收到,已开启 

      PASV被动模式,并告诉主机他的一个随机数据传输端口是59400

d.  FTP 数据连接建立过程

    

    主机的数据连接端口是之前的随机端口号加一,变成53902,服务器的数据连端

    口是上一个FTP报文中说的59400

    TCP三次握手建立连接

      e.  FTP数据传输过程

   

    LIST 主机向服务器请求列举该目录下的所有文件

   125 服务器回复:打开数据连接开始传输

   

  

上传文件,226 结束数据传输,传输完成,返回当前目录,文件行为完成

LIST 返回上一级目录,125,打开数据连接,开始传输,传输完成。

      f.  FTP连接释放过程(包括数据连接和控制连接)

首先释放数据连接:

 

    网页打开ftp://192.168.1.245,退出的时候没有捕捉到数据连接和控制连接的断开,猜想是直接关闭网页实际上并没有断开与FTP服务器的控制连接,因此cmd执行ftp命令行,使用quit退出,得到结果。

    

221  退出网络

释放了控制连接

 

PS:实际上用cmd一步步执行ftp命令行的时候,一边执行一边过滤抓包的内容,比起直接打开网页搜索,步骤会更加详细清晰明了,也更容易理解和掌握。

     8.捕捉及研究WWW应用的协议报文,回答以下问题:

a.当访问某个主页时,从应用层到网络层,用到了哪些协议?

应用层:DNS、HTTP

运输层:TCP/UDP

网络层:IP

访问某个网页时,首先域名系统DNS进行域名解析成ip地址,HTTP超文本传输协议进行查看,TCP/UDP进行传输层的运输连接,最后网络层的寻址用IP协议。

b.对于用户请求的百度主页(www.baidu.com),客户端将接收到几个应答报文?具体是哪几个?假设从本地主机到该页面的往返时间是RTT,那么从请求该主页开始到浏览器上出现完整页面,一共经过多长时间?

点击菜单栏“统计”——“会话”——“IPv4”

客户端收到18个应答报文;

往返时间RTT=0.50ms

c.两个存放在同一个服务器中的截然不同的Web页(例如, http://www.gzhu.edu.cn/index.jsp,和http://www.gzhu.edu.cn/cn/research/index.jsp可以在同一个持久的连接上发送吗?

由于http://www.gzhu.edu.cn/index.jsp和http://www.gzhu.edu.cn/cn/research/index.jsp两个网站已经失效,实验不完整。

登陆www.gzhu.edu.cn首页,打开不同的页面,抓包过滤分析

 

TCP建立连接之后,可以在同一个持久的连接上发送。

d.假定一个超链接从一个万维网文档链接到另一个万维网文档,由于万维网文档上出现了差错而使超链接指向一个无效的计算机名,这时浏览器将向用户报告什么?

404 Not Found

e.当点击一个万维网文档时,若该文档除了有文本外,还有一个本地.gif图像和两个远地.gif图像,那么需要建立几次TCP连接和有几个UDP过程?

                                               4次TCP,0次UDP

        若使用HTTP/1.0,则需要建立UDP连接0次,TCP连接4次(文本 1 和 图像 3个各使用一个TCP连接)
若使用HTTP/1.1,则需要建立UDP连接0次,TCP连接1次(文本 1 和 图像 3个都使用这一个TCP连接)


水平有限,报告之中会出现诸多错误,经供参考~

这篇关于计算机网络 实验三 使用网络协议分析器捕捉和分析协议数据包的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/940926

相关文章

vue使用docxtemplater导出word

《vue使用docxtemplater导出word》docxtemplater是一种邮件合并工具,以编程方式使用并处理条件、循环,并且可以扩展以插入任何内容,下面我们来看看如何使用docxtempl... 目录docxtemplatervue使用docxtemplater导出word安装常用语法 封装导出方

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Elasticsearch 在 Java 中的使用教程

《Elasticsearch在Java中的使用教程》Elasticsearch是一个分布式搜索和分析引擎,基于ApacheLucene构建,能够实现实时数据的存储、搜索、和分析,它广泛应用于全文... 目录1. Elasticsearch 简介2. 环境准备2.1 安装 Elasticsearch2.2 J

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

Java中List的contains()方法的使用小结

《Java中List的contains()方法的使用小结》List的contains()方法用于检查列表中是否包含指定的元素,借助equals()方法进行判断,下面就来介绍Java中List的c... 目录详细展开1. 方法签名2. 工作原理3. 使用示例4. 注意事项总结结论:List 的 contain

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

Android中Dialog的使用详解

《Android中Dialog的使用详解》Dialog(对话框)是Android中常用的UI组件,用于临时显示重要信息或获取用户输入,本文给大家介绍Android中Dialog的使用,感兴趣的朋友一起... 目录android中Dialog的使用详解1. 基本Dialog类型1.1 AlertDialog(