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

news2024/12/25 10:32:27

文章目录

  • 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.coloradmin.cn/o/860007.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

信息安全:访问控制技术原理与应用.

信息安全:访问控制技术原理与应用. 访问控制是网络信息系统的基本安全机制。访问控制是指对资源对象的访问者授权、控制的方法及运行机制。访问者又称为主体,可以是用户、进程、应用程序等;而资源对象又称为客体,即被访问的对象&…

搞定libstdc++.so.6 version GLIBCXX_3.4.21 not found

一、问题: 今天在安装whisper的时候,突然间报了这样一个错误: OSError: Could not load shared object file: libllvmlite.so Errors were: [OSError("/lib64/libstdc.so.6: version GLIBCXX_3.4.21 not found (required by /opt/con…

【直接收藏】前端 VUE 高阶面试题(一)

1.说说vue动态权限绑定渲染列表&#xff08;权限列表渲染&#xff09; 首先请求服务器,获取当前用户的权限数据,比如请求 this.$http.get("rights/list"); 获取到权限数据之后,在列表中使用v-if v-if-else的组合来展示不同的内容 <template><div><…

cpu的架构

明天继续搞一下cache,还有后面的, 下面是cpu框架图 开始解释cpu 1.控制器 控制器又称为控制单元&#xff08;Control Unit&#xff0c;简称CU&#xff09;,下面是控制器的组成 1.指令寄存器IR:是用来存放当前正在执行的的一条指令。当一条指令需要被执行时&#xff0c;先按…

nginx基于主机和用户访问控制以及缓存简单例子

一.基于主机访问控制 1.修改nginx.conf文件 2.到其他主机上测试 &#xff08;1&#xff09;191主机 &#xff08;2&#xff09;180主机 二.基于用户访问控制 1.修改nginx.conf文件 2.使用hpasswd为用户创建密码文件&#xff0c;并指定到刚才指定的密码文件webck 3.测试…

腾讯云轻量应用服务器和云服务器有什么区别?

腾讯云轻量服务器和云服务器有什么区别&#xff1f;为什么轻量应用服务器价格便宜&#xff1f;是因为轻量服务器CPU内存性能比云服务器CVM性能差吗&#xff1f;轻量应用服务器适合中小企业或个人开发者搭建企业官网、博客论坛、微信小程序或开发测试环境&#xff0c;云服务器CV…

算法套路二十——单调栈

算法套路二十——单调栈 单调栈是一种特殊的数据结构&#xff0c;用于解决与元素的相对大小有关的问题。它是一个栈&#xff0c;但其中的元素以单调递增或单调递减的顺序排列&#xff0c;用于处理与相对大小有关的问题。 算法示例&#xff1a;下一个更大元素 给定一个数组 nu…

C语言指针之 进阶

前言 今天来较为深入的介绍一下指针&#xff0c;希望大家能有所收获&#xff5e; 那么&#xff0c;先进行一些简单的基础知识复习吧。 字符指针 格式&#xff1a;char * 补充&#xff1a; 表达式“abcdef”的值是首字符a的地址 所以当像下面这么使用时&#xff0c;它的含…

2023软件测试岗必问的100个面试题【含答案】

一、测试理论 1.什么是软件测试&#xff1f; 答&#xff1a;软件测试是通过执行预定的步骤和使用指定的数据&#xff0c;以确定软件系统在特定条件下是否满足预期的行为。 2.测试驱动开发&#xff08;TDD&#xff09;是什么&#xff1f; 答&#xff1a;测试驱动开发是一种开…

LeetCode150道面试经典题--最后一个单词的长度(简单)

1.题目 给你一个字符串 s&#xff0c;由若干单词组成&#xff0c;单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 2.示例 3.思路 通过对字符串的反转&#xff0c;转为数组开始遍历&#xff0c…

【Git】版本控制器详解之git的概念和基本使用

版本控制器git 初始Gitgit的安装git的基本使用初始化本地仓库配置本地仓库三区协作添加---add修改文件--status|diff版本回退--reset撤销修改删除文件 初始Git 为了能够更⽅便我们管理不同版本的⽂件&#xff0c;便有了版本控制器。所谓的版本控制器&#xff0c;就是⼀个可以记…

二分查找(详解)

目录 介绍 思路 循环实现 详解 递归实现1 详解 注意 递归实现2 两个递归代码之间的区别 总结 介绍 二分查找法&#xff0c;也称为折半查找法&#xff0c;是一种在有序数组中查找特定元素的高效算法。其基本思路是将目标元素与数组中间的元素进行比较&#xff0c…

跳跃游戏 II——力扣45

文章目录 题目描述解法一 贪心题目描述 解法一 贪心 int jump(vector<int>& nums){in

【剑指offer】栈与队列4题 全刷(详解)

目录 目录 目录 [简单]剑指 Offer 09. 用两个栈实现队列 题目 方法 [简单]剑指 Offer 30. 包含min函数的栈 题目 方法1&#xff1a;笨办法 方法2&#xff1a;辅助栈 [困难]剑指 Offer 59 - I. 滑动窗口的最大值 题目 方法&#xff1a;单调队列 [中等]剑指 Offer 5…

固态硬盘对游戏性能的影响及优势解析

固态硬盘的作用在于提高电脑的读取速度&#xff0c;这对于游戏性能的提升有着重要的影响。在一台电脑中&#xff0c;CPU和显卡是核心硬件&#xff0c;而游戏的流畅度则主要取决于显卡的性能&#xff0c;显卡的性能直接影响游戏的帧数高低。如果我们的电脑配置与朋友的电脑相似&…

异常支出的真实成本意想不到!管理采购异常支出有实招

采购中的异常支出是指合同外支出&#xff0c;或在预先制定的采购政策之外从非首选供应商处购买的支出。不同组织中异常支出的差异会很大&#xff0c;异常支出的比例取决于管理下的支出、采购政策实施的成功程度和采购成熟度。 异常支出会给企业带来多少损失&#xff1f; 曾有…

springboot+mybatis实现简单的增、删、查、改

这篇文章主要针对java初学者&#xff0c;详细介绍怎么创建一个基本的springboot项目来对数据库进行crud操作。 目录 第一步&#xff1a;准备数据库 第二步&#xff1a;创建springboot项目 方法1&#xff1a;通过spring官网的spring initilizer创建springboot项目 方法2&am…

qt creater运行按钮灰色,问题记录

第一次安装还没运行就出了三个错误&#xff1a; 1.F:\wei\Qt\Tools\CMake_64\share\cmake-3.24\Modules\CMakeTestCXXCompiler.cmake:62: error: The C compiler "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/BIN/amd64/cl.exe" is not able to compil…

列队 Queue 接口概述

在Java中&#xff0c;Queue&#xff08;队列&#xff09;是一种基本的数据结构&#xff0c;用于按照先进先出&#xff08;FIFO&#xff09;的顺序存储元素。Java提供了多种实现Queue接口的类&#xff0c;以下是几种常见的实现方式&#xff1a; LinkedList&#xff1a;LinkedLis…

linux环形缓冲区kfifo实践4:异步通知fasync

基础知识 异步通知在内核中使用struct fasync_struct数据结构来描述。 <include/linux/fs.h> struct fasync_struct {spinlock_t fa_lock;int magic;int fa_fd;struct fasync_struct *fa_next; /* singly linked list */struct file *fa_file;struct rcu_head fa…