计算机网络实验 Labexercise1-1 Protocol Layers(Wireshark抓包与协议分析实验)


前言:本博客包含Windows10下安装wget、Wireshark。

一些有用的链接:

一些有用的提示:

开始实验进行抓包时,校园网环境下的同学不建议使用一些 [ 上网不涉密涉密不上网 ] 的校园网进行抓包,可能会导致抓不到包捏 (找了半天bug,气死我了)

1. 下载安装wget

参考资料:wget for windows 下载与安装

点击此链接,选择合适的版本下载.exe文件,然后把下好的.exe文件放在C:/windows/system32目录下即可。

在cmd终端输入wget --version,显示如下,则安装成功:

C:\Users\hp\Desktop>wget --version
GNU Wget 1.21.2 built on mingw32. +cares +digest +gpgme +https +ipv6 +iri +large-file +metalink -nls
+ntlm +opie +psl +ssl/openssl Wgetrc:
/win32dev/misc/wget/out64/etc/wgetrc (system)
Compile:
x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H
-DSYSTEM_WGETRC="/win32dev/misc/wget/out64/etc/wgetrc"
-DLOCALEDIR="/win32dev/misc/wget/out64/share/locale" -I.
-I../../src -I../lib -I../../lib
-I/win32dev/misc/wget/out64/include
-I/win32dev/misc/wget/out64/include
-I/win32dev/misc/wget/out64/include
-I/win32dev/misc/wget/out64/include -DCARES_STATICLIB
-I/win32dev/misc/wget/out64/include -DPCRE2_STATIC
-I/win32dev/misc/wget/out64/include -DHAVE_LIBSSL
-I/win32dev/misc/wget/out64/include
-I/win32dev/misc/wget/out64/include -DNDEBUG -ggdb
Link:
x86_64-w64-mingw32-gcc -I/win32dev/misc/wget/out64/include
-I/win32dev/misc/wget/out64/include
-I/win32dev/misc/wget/out64/include -DCARES_STATICLIB
-I/win32dev/misc/wget/out64/include -DPCRE2_STATIC
-I/win32dev/misc/wget/out64/include -DHAVE_LIBSSL
-I/win32dev/misc/wget/out64/include
-I/win32dev/misc/wget/out64/include -DNDEBUG -ggdb
-L/win32dev/misc/wget/out64/lib -L/win32dev/misc/wget/out64/lib
-lmetalink -lunistring -liconv -L/win32dev/misc/wget/out64/lib
-lcares -L/win32dev/misc/wget/out64/lib -lpcre2-8
-L/win32dev/misc/wget/out64/lib -lssl -lcrypto
-L/win32dev/misc/wget/out64/lib -lz -L/win32dev/misc/wget/out64/lib
-lpsl -lidn2 -lunistring -liconv -lws2_32 -lole32 -lcrypt32 -lexpat
-L/win32dev/misc/wget/out64/lib -lgpgme -lassuan -lgpg-error
ftp-opie.o mswindows.o openssl.o http-ntlm.o ../lib/libgnu.a
-lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32
/win32dev/misc/wget/out64/lib/libiconv.a
/win32dev/misc/wget/out64/lib/libunistring.a -lws2_32 Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://www.gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Originally written by Hrvoje Niksic <hniksic@xemacs.org>.
Please send bug reports and questions to <bug-wget@gnu.org>.

尝试使用wget时,可以在终端输入wget 网址把目标链接下载到当前目录下,也可以输入wegt -p 指定目录 网址把目标链接下载到指定目录下。

2. 下载安装Wireshark

参考资料:win10安装抓包工具wireshark

Wireshark的官网下载地址中,在Stable Release中选择符合你计算机型号的安装包,我Windows10 64位电脑选择的是 Windows Installer (64-bit),双击下载的.exe文件进行安装。

如果你仅仅只是为了完成课程实验,在安装的过程当中可以一路无脑next,在选择安装路径时可以更改为你想要的路径。

3.开始实验

Step 1-3

打开Wireshark,界面如下图所示,选择WLAN,点击捕获-选项。

在捕获选项界面,仅勾选WLAN,取消其他接口的混杂,在下方绿色的部分输入tcp port 80,使用“tcp端口80”筛选器启动捕获。

打开cmd终端,抓包一个网站,这里选择的是https://www.baidu.com/,网页获取完成后,立刻在Wireshark点击左上角的停止(红色正方形),显示如下图。



找到上方Protocol为HTTP,且Info是GET的,点击蓝色部分的Hypertext,可以看到整个窗口的最下方显示415 byte(s),这是HTTP的实际有效开销。

接下来分别查看以太网(Ethernet)、IP、TCP占用的字节,分别如下为14 types、20 types、20 types。





由此,可以回答实验报告中的第一个 turn in:

Step 3: Packet Structure

Turn-in: Hand in your packet drawing.

Step 4

Protocol Overhead指的是协议开销,由于协议本身的报头等内容也需要占用一定的空间,用来标识该种协议、报文内各个字段的含义等信息,这种内容就是协议开销了。

下载的包从一个Info中带有SYN,ACK信号的包开始,到下面第一个遇到的HTTP包后面的TCP包为止。

由此,可以回答实验报告中的第二个 turn in:

Your estimate of download protocol overhead as defined above. Tell us whether you find this overhead to be significant.



协议开销一共有 66+54+469+66=665字节

HTTP有效开销一共有415字节,415/665≈62.41%,协议开销占比较小。

Step 5

点击中间那一栏的以太网和IP,分别可以从Type和Protocol中找到第五步问题的答案。

由此,可以回答实验报告中的第三个 turn in:

  1. Which Ethernet header field is the demultiplexing key that tells it the next higher layer is IP? What value is used in this field to indicate “IP”?



    以太网报头字段是Type,对应的值是0x0800。
  2. Which IP header field is the demultiplexing key that tells it the next higher layer is TCP? What value is used in this field to indicate “TCP”?



    IP报头字段是Protocol,对应的值是6。

计算机网络实验 Labexercise1-1 Protocol Layers(Wireshark抓包与协议分析实验)的更多相关文章

  1. wireshark 抓包分析 TCPIP协议的握手

    wireshark 抓包分析 TCPIP协议的握手 原网址:http://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html 之前写过一篇 ...

  2. Wireshark抓包分析TCP协议

      版权声明:本文为作者原创文章,可以随意转载,但必须在明确位置表明出处!!! 之前有一篇文章介绍了http协议「初识http协议」, http协议协议是基于tcp协议的,所以作者觉得有必要针对tcp ...

  3. 【计算机网络】wireshark抓包分析1

    学习计算机网络很久了,但总是局限于书本知识,感觉get不到重点.经师兄建议用wireshark抓包分析看看. 我自己以前并没有做过抓包分析,所以这篇博文可能会有很多错误,只是我自己的一个记录,路过的亲 ...

  4. 用wireshark抓包分析TCP三次握手、四次挥手以及TCP实现可靠传输的机制

    关于TCP三次握手和四次挥手大家都在<计算机网络>课程里学过,还记得当时高超老师耐心地讲解.大学里我遇到的最好的老师大概就是这位了,虽然他只给我讲过<java程序设计>和< ...

  5. 通过Wireshark抓包分析谈谈DNS域名解析的那些事儿

    文/朱季谦 本文主要想通过动手实际分析一下是如何通过DNS服务器来解析域名获取对应IP地址的,毕竟,纸上得来终觉浅,绝知此事要躬行. 域名与IP地址 当在浏览器上敲下"www.baidu.c ...

  6. Wireshark抓包工具解析HTTPS包

    目录 一.遇到的问题 二.解决方案 1. 动态生成签名证书 2. Wireshark配置 3. 最终效果 一.遇到的问题 本学期的计算机网络课程需要使用到Wireshark抓包工具进行网络抓包实验,原 ...

  7. Wireshark抓包分析/TCP/Http/Https及代理IP的识别

    前言 坦白讲,没想好怎样的开头.辗转三年过去了.一切已经变化了许多,一切似乎从没有改变. 前段时间调研了一次代理相关的知识,简单整理一下分享之.如有错误,欢迎指正. 涉及 Proxy IP应用 原理/ ...

  8. wireshark怎么抓包、wireshark抓包详细图文教程

    wireshark怎么抓包.wireshark抓包详细图文教程 作者:佚名  来源:本站整理  发布时间:2013-05-02 19:56:27 本日:53 本周:675 本月:926 总数:3749 ...

  9. Wireshark抓包分析HTTPS与HTTP报文的差异

    一.什么是HTTPS: HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议 它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换 ...

随机推荐

  1. 泛型编程与 OI——modint

    博客链接. 在 OI 中,有大量的题目要求对一些数字取模,这便是本文写作的背景. 背景介绍 这些题目要么是因为答案太大,不方便输出结果,例如许多计数 dp:要么是因为答案是浮点数,出题人不愿意写一个确 ...

  2. Supervisor多进程管理 异常自动重启 可视化管理

    一.序言 Supervisor是多进程管理工具,在Docker中相关联的进程能够通过supervisor来管理. 微服务项目开发阶段,可用于微服务子项目的启动管理. 支持web可视化管理,能够极大方面 ...

  3. Python概述 —变量及运算符

    Python概述-变量及运算符 1.变量的构成 2.变量的类型 3.内存模型 4.变量命名规则 5. 算数与逻辑运算符 6.位运算符 #变量的构成 变量名:方便查找 变量值:实际要存储的内容 变量类型 ...

  4. Ubuntu service 命令

    启动指定服务 sudo service 服务名 start 停止指定服务 sudo service 服务名 stop 重启指定服务 sudo service 服务名 start 查看所有服务 sudo ...

  5. Jest_JavaScript测试框架

    Jest是一个JavaScript测试框架,由Facebook用来测试所有JavaScript代码,包括React应用程序. 不同级别的自动化测试:单元.集成.组件和功能. 单元测试可以看作是和在组件 ...

  6. SQL——with as 临时表

    一.WITH AS的含义    WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到.有的时候,是 ...

  7. Spring Druid多数据源配置

    SpringBoot 多数据源配置 如果需要在一个应用中使用多个数据源,应当如何实现呢,在Spring配置MyBatis中,我们可以看到以下的代码 <!-- mybatis 的SqlSessio ...

  8. 四路4 GSPS@ 12 bit,四路12 GSPS@16 位4T4R 射频芯片AD9988

    一.产品概述 AD9988 是一款高度集成的套件,是北京太速最新研发的,具有四个 16 位.12 GSPS 最大采样率.RF 数模转换器 (DAC) 内核,以及四个 12 位.4 GSPS 速率.RF ...

  9. Note/Solution -「洛谷 P6466」分散层叠算法

    \(\mathcal{Description}\)   Link.   给定 \(m\) 个长度为 \(n\) 的有严格升序且不包含重复元素的序列 \(a_1,a_2,\cdots,a_m\),\(q ...

  10. Python语法进阶(2)- 正则表达式

    1.初识正则表达式 1.1.什么是正则表达式 正则表达式是一个特殊的字符序列,便于检查一个字符串是否与某种模式匹配:应用于字符串,在字符串中通过复杂的过滤筛选等操作得到我们想要的数据: 正则表达式的特 ...