计算机网络实验2:网络嗅探

文章目录

  • 1. 主要教学内容
  • 2. Wireshark介绍
  • 3. Wireshark下载
  • 4. 使用Wireshark捕获包
    • 4.1 选择网卡
    • 4.2 停止抓包
    • 4.3 保存数据
  • 5. Wireshark的过滤规则
  • 6. Wireshark实例

1. 主要教学内容

  • 实验内容:安装、学习使用网络包分析工具Wireshark。
  • 所需学时:1。
  • 重难点:Wireshark的界面及功能了解。
  • 周次:第一周。
  • 教材相关章节:1.3。

2. Wireshark介绍

Wireshark 是常用的网络包分析工具。网络包分析工具的主要作用是尝试捕获网络包, 并尽可能详细的显示包的情况。

Wireshark 是Etheral 更高级的版本,包含WinPcap。它具有方便易用的图形界面和众多分类信息及过滤选项,是一款免费、开源的网络协议检测软件 。Wireshatk通常运行在路由器或有路由功能的主机上,这样就能对大量的数据进行监控,几乎能得到以太网上传送的任何数据包。

Wireshark 不是人侵侦测软件。对于网络上的异常流量行为,Wireshark 不会产生警示或任何提示。通过仔细分析Wireshark 捕获的数据包能够帮助使用者对网络行为有更清楚的了解。Wireshark 没有数据包生成器,因而只能查看数据包而不能修改,它只会反映出被捕获的数据包的信息,并对其内容进行分析。

3. Wireshark下载

  • 到Wireshark官网:
  • 点击Get started

在这里插入图片描述

  • 对应系统版本进行下载即可:

在这里插入图片描述

  • 安装详细教程
  • 下载完成后打开界面:

在这里插入图片描述

4. 使用Wireshark捕获包

Wireshark的使用主要有三个步骤:

  • 选择所要捕捉的物理网卡
  • 选择过滤规则
  • 捕捉数据包

通过单击捕捉到的数据包, 在下方的窗口中查看数据包头以及数据字段等详细信息。使用者通过对相关协议知识的了解, 再加上实验观察到的现象, 对实验结果进行分析和论证,从而得出所有参数的含义。

一般来说,对于Windows系统,在命令行输入:

ipconfig

之后就会显示对应的物理网卡。又称网络适配器或网络接口卡(NIC),英文名为Network Interface Card。也有直接翻译为Network Card,简称NC。

详细操作,参考:Wireshark详细操作

4.1 选择网卡

打开 Wireshark 后,会直接进入“网卡选择界面”,Wi-Fi:en0是我连接无线的网卡,我们抓一下这个网卡的流量,双击网卡名,自动开始抓包。

在这里插入图片描述

4.2 停止抓包

点击左上角的“红色按钮”,可以停止抓包。

在这里插入图片描述

4.3 保存数据

可以直接点击工具栏的保存按钮,保存抓包的数据。

在这里插入图片描述

5. Wireshark的过滤规则

Wireshark的一个重要功能就是过滤器(Filter) 。由于Wireshark 所捕捉的数据较复杂,要迅速、准确地获取需要的信息,就要使用过滤 、工具。可以有两次过滤:第一次是捕捉过滤,用于筛选需要的捕捉结果;第二次是显示过滤,只将需要查看的结果显示。

Filter位于工具栏上,可以按照规则输入过滤条件,如:

在这里插入图片描述

其中ip.src_host==192.168.1.10表示过滤出源地址为192.168.1.10的数据包。

常见的过滤规则如下:

  1. 按协议类型过滤

Wireshark 支持的协议包括TCP、UDP、ARP、ICMP、HTTP、 SMTP、FTP、DNS、MSN、IP、SSL、OICQ、BOOTP等。

  • 例如只查看HTTP协议,则直接输人http
  1. 按照IP地址过滤

若仅显示与指定IP地址(例如192. 168.0. 123)通信的记录,则可输人ip.addr==192.168.0.123

如果限制为只要从192.168.0.123送来的记录,则输人ip.src==192.168.0.123

而得到目的IP地址为192.168.0.123的记录则应输人ip.dst==192.168.0.123

  1. 按照协议模式过滤

例如HTTP协议可以针对HTTP的请求方式进行过滤:

  • 只显示发送GET或POST请求的过滤规则:http.request.method=="GET"http.request.method=="POST"
  1. 按端口过滤

例如tcp.port eq 80。不管端口是源还是目标的都只显示满足tcp.port== 80条件的包。

  1. 按MAC地址过滤
eth.dst==A0:00:00:04:c5:84 // 过滤目的MAC
eth.src eq A0:00:00:04:c5:84 // 过滤源MAC
  1. 按包长度过滤

例如udp.length==26,这个长度是指udp本身固定长度8加上udp下面的数据包之和。

tcp.len>=7指的是IP数据包( tcp 下面数据),不包括tcp本身。ip.len==94指除了以太网头固定长度为14,其他都算是ip.len,即从IP本身到最后。frame.len==119指整个数据包长度,从eth开始到最后,即eth–> ip or arp --> tcp or udp --> data。

  1. 按参数过滤

例如按TCP参数过滤:

tcp.flags // 显示包含TCP标识的数据包
tcp.flags.syn==0x02 // 显示包含TCP SYN标识的数据包
  1. 按内容过滤

例如:

tcp[20] // 表示从20开始取1个字符
tcp[20:] // 表示从20开始取1个字符以上
tcp[20:8] // 表示从20开始取8个字符
  1. 采用逻辑运算过滤

过滤语句可利用&&或者and(表示“与”)、||或者or(表示“或”)、!或者not(表示 “ 非”)组合使用多个限制规则,例如(http&&ip.dst==192.168.0.123)||dns;再如要排除ARP包,则使用!arp或者not arp

6. Wireshark实例

Wireshark面板:

在这里插入图片描述

快捷工具栏:

在这里插入图片描述

这里以ARP协议为例,演示数据的分析过程。首先启动监听(没有设置捕获过滤器),等过一段时间后,停止抓包。然后在显示过滤器输人arp(注意是小写)作为过滤条件,按回车。得到ARP包如下:

在这里插入图片描述

Wireshark窗口的数据帧列表面板的每行都对应着网络上单独的一个数据包。默认情况下,每行会显示数据包的时间戳源地址目的地址所使用的协议、关于数据包的一些信息。通过单击此列表中的某一行,可以获悉更详细的信息。

这部分的信息分布与查看的协议有关,一般包含有物理层数据链路层网络层传输层等各层信息。

  • 物理层可以得到线路的字节数捕获到的字节数 ,还有抓包的时间戳距离第一次抓包的时间间隔等信息。

  • 数据链路层可以得到源网卡物理地址目的网卡物理地址以及帧类型

  • 网络层可以得到版本号源IP目的IP地址、报头长度包的总长度TTL网络协议等信息。

  • 传输层可以得到源端口目的端口以及序列号控制位等有效信息。

展开数据包细节中的第一行,该行主要包含一些关于帧的详细信息:

在这里插入图片描述

  • 帧的编号:1667( 捕获时的编号)。
  • 帧的大小:60B。再将4B的CRC计算在里面,就刚好满足最小64B的要求。
  • 接下来的信息还有帧被捕获的日期和时间帧距离前一个帧的捕获时间差帧距离第一个帧的捕获时间差等,以及表明帧装载的协议是ARP。

展开第2行,该行主要包含地址一类的信息:

在这里插入图片描述

展开第3行,主要包含协议的格式

在这里插入图片描述

地址解析协议有硬件类型(以太网)、协议类型(IP)、硬件大小(6)、协议大小(4)、发送方MAC地址、发送方IP地 址、目的MAC地址、目的IP地址等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/86545.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于概率神经网络的变压器故障诊断

1.案例背景 1.1 PNN概述 概率神经网络(probabilistic neural networks. PNN)是 D.F.Specht博士在1989年首先提出的,是一种基于Bayes分类规则与Parzen窗的概率密度函数估计方法发展而来的并行算法。它是一类结构简单、训练简洁,应用广泛的人工神经网络。在实际应用中,尤其是在解…

纯鸿蒙!华为HarmonyOS NEXT不再兼容安卓应用,无法安装Apk文件

8月7日消息,近日,华为举行2023年华为开发者大会(HDC.Together)上,除了发布HarmonyOS 4、全新升级的鸿蒙开发套件外,华为还带来了HarmonyOS NEXT开发者预览版。 据了解,HarmonyOS NEXT开发者预览…

豪越HYDO智能运维助力智慧医院信息化建设

随着国家政策的推动与支持,医疗行业信息化应用不断普及,大数据、AI、医疗物联网等技术的应用,快速推动了电子病历、智慧服务、智慧管理的智慧医院建设和医院信息标准化建设,通过不断探索创新“智慧医院”服务模式,实现…

FLatten Transformer 简化版Transformer

今天在找论文时,看到一篇比较新奇的论文,在这里跟大家分享一下,希望可以给一些人提供一些思路。虽然现在Transformer 比较火,在分割上面也应用的比较多,但是我一直不喜欢用,其中一个原因是结构太复杂了&…

Linux平台下搭建GB28181服务器(WVP+ZLMediakit)

文章目录 什么是GB28181平台依赖项搭建步骤配置Redis和MySQL配置ZLMediakit配置WVP 使用效果封装成Docker镜像 什么是GB28181 GB28181(国标28181),全称为《中华人民共和国公共安全视频监控联网系统技术要求》,是中国国家标准委员会发布的一个针对公共安…

LeetCode面向运气之Javascript—第121题-买卖股票的最佳时机-97.77%

LeetCode第121题-买卖股票的最佳时机 题目要求 给定一个数组prices ,它的第i个元素prices[i]表示一支给定股票第i天的价格。 你只能选择某一天买入这只股票,并选择在未来的某一个不同的日子卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回…

面试题:ArrayList扩容时扩容多少?

大家好,我是你们的小米!今天要和大家一起来探讨一个在Java面试中经常被问到的问题:“ArrayList扩容时扩容多少?”相信很多小伙伴都在面试中遇到过这个问题,那么接下来,我就为大家详细解析一下这个问题&…

OpenCV实例(八)车牌字符识别技术(三)汉字识别

车牌字符识别技术(三)汉字识别 1.代码实例2.遇到问题3.汉字识别代码实例 相较于数字和英文字符的识别,汽车牌照中的汉字字符识别的难度更大,主要原因有以下4个方面: (1)字符笔画因切分误差导致非笔画或笔画流失。 (2…

【C++】开源:CGAL计算几何库配置使用

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍CGAL计算几何库配置使用。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,…

MachineLearningWu_16/P72-P77_Diagnostic

x.1 导数,计算图,大型网络 计算图就是根据链式法则求取偏导,大型网络就是多层网络堆叠而成。 x.2 Diagnostic 在我们对深度学习有了一些认知后,最重要的就是模型的诊断,以带有L1正则化的线性回归为例,我…

Vue中使用Tailwind css

1.什么是Tailwind 就是一个CSS框架,和你知道的bootstrap,element ui,Antd,bulma。一样。将一些css样式封装好,用来加速我们开发的一个工具。 Tailwind解释 tailwind css 中文文档 2.Vue使用Tailwind配置 1. 新建vu…

探索FSM (有限状态机)应用

有限状态机(FSM) 是计算机科学中的一种数学模型,可用于表示和控制系统的行为。它由一组状态以及定义在这些状态上的转换函数组成。FSM 被广泛用于计算机程序中的状态机制。 有限状态机(FSM)应用场景 在各种自动化系统…

【iOS】RunLoop

前言-什么是RunLoop? 什么是RunLoop? 跑圈?字面上理解确实是这样的。 Apple官方文档这样解释RunLoop RunLoop是与线程息息相关的基本结构的一部分。RunLoop是一个调度任务和处理任务的事件循环。RunLoop的目的是为了在有工作的时候让线程忙起来&#…

SpringBoot案例-部门管理-新增

根据页面原型,明确需求 页面原型 需求 阅读接口文档 接口文档链接如下: 【腾讯文档】SpringBoot案例所需文档 https://docs.qq.com/doc/DUkRiTWVaUmFVck9N 思路分析 前端在输入要新增的部门名称后,会以JSON格式将数据传入至后端&#xf…

php使用get和post传递数据出现414 Request-URI Too Large的解决方案

递数据出现414 Request-URI Too Large的解决方案 一、Request-URI Too Large的原因二、GET与POST三、项目分析1.读取源数据2.将读取的到数据,进行传递3.ajax获取传递的数据并传递到后台4.传递数据5.解决方案 一、Request-URI Too Large的原因 “Request-URI Too La…

HTTP和HTTPS

目录 HTTP和HTTPS的基本概念(应用层协议) HTTP的版本 HTTP状态码 HTTP请求报文 GET和POST请求 GET和POST请求的区别 条件GET方法 HTTP与HTTPS有什么区别? HTTP的工作原理 HTTP的长链接 http1.1长链接判断一个请求已经结束了 HTTP管线化 HTT…

分布式学习最佳实践:从分布式系统的特征开始

正文   在延伸feature(分布式系统需要考虑的特性)的时候,我逐渐明白,这是因为要满足这些feature,才设计了很多协议与算法,也提出了一些理论。比如说,这是因为要解决去中心化副本的一致性问题&…

iOS 使用build setting中的配置项配置info.plist

如图所示,选中build setting,由于我们这里是想要获取版本号, 所以这里获取current project version 选中info,将bundle version 设置为$(CURRENT_PROJECT_VERSION),注意,要使用下划线链接&…

案例10 Maven入门案例

基于Maven构建快速构建项目,输出“Hello World!”。 1.选择Maven快速构建项目 ​2.设置Maven项目信息 ​3.设置Maven环境信息 ​4.项目结构 ​ 5.Maven操作 ​6.执行结果

GDB 函数调用栈管理

栈的调用关系:后进先出 1、bt:backtrace 查看栈回溯信息 #0号栈桢表示正在执行的函数,在栈的最顶部。 2、frame n 切换栈桢 3、info f n 查看栈桢信息 4、直接调用函数 格式 p 函数名(参数) 或者 call 函数名(参数)(gdb) p get_time_stam…