用 WireShark 抓住 TCP

news2024/9/22 1:31:51

 

Wireshark 是帮助我们分析网络请求的利器,建议每个同学都装一个。我们先用 Wireshark 抓取一个完整的连接建立、发送数据、断开连接的过程。

 

简单的介绍一下操作流程。

 

1、首先打开 Wireshark,在欢迎界面会列出当前机器上的所有网口、虚机网口等可以抓取的部件。

79ee4bb3269440aba6c627529ae625dc.png

 

 

2,接下来要用 Telnet 连接一个外网服务器,所以我选择第一个 WI-FI:en0,这样 Wireshark 就会捕获我连接的 wifi 上的网络传输。

 

3、想要抓一下最简单的 TCP 连接、发数据、断开的过程,所以要做一下抓取过滤。Wireshark 中的过滤器可以实现这样的需求。在下图红框部分可以选了一个过滤器。

c87de7c19e194f2f87ebfaa76cc2424e.png

 

4、因为当前没有直接可用的符合要求的过滤器,所以,需要自己写一个。点击前面的绿色书签图标,然后在弹出窗口中点击加号添加一个。

 

52f05c9a6ec74340abf8c52e1fe83991.png

 

内容如下,语法就不解释了,一看就知道。

 

tcp and host 1613ed7c21ad4452afd4cf803def0000.jpg

 

5、选择好刚添加的这个过滤器,双击wifi这个 interface 进入就开始捕获了。

 

6、这里用了 telnet 连接这台服务器的 6379 端口 telnet ip 6379,因为这台服务器上装着 redis,可以模拟发数据。

8f3b49fd32494c57b4d7ba0d44098f95.png

 

 

在控制台中连接到 6379 端口成功,然后在 Wireshark 上马上捕获到了。

 

3071e0bf88ac46a1aba887462181cfe5.png

 

这就是三次握手的过程。

 

7、然后直接关掉终端,这样会自动触发断开连接,并且发送最少的数据,方便我们观察。整个的过程都被 Wireshark 完整的捕捉到了。

 

02d5540e49d44d6e8621982ef32ada66.png

 

第一部分是连接建立的三次握手,第二部分是发了长度为 1个字节的数据,第三步是客户端主动发起的断开连接的四次挥手过程。

 

Wireshark 简单介绍

有图先看图

 

3d383095b03c4777954bc3aad2047f23.png

 

概览信息

 

也就是图中最上面的红色框部分。这一次的连接建立和中断一共产生了来回 8 次的请求,每次请求会在列表上列出时间、源端IP、目的端IP、以太网帧长度以及概览信息,包括数据传输方向(源端口->目标端口)、标记情况、序号、确认序号、窗口大小等等。

 

以太网帧

 

在每次请求信息中,还包括以太网帧,因为信息最终都会通过帧的形式发送出去。

 

IP数据报

 

还有 IP 数据报内容,其中包含了源端 IP 和 目的端 IP 等信息。

 

cb9d43ccdcfd4ecaaa59aff60d7a6842.png

 

TCP段

 

TCP 段当然是重点了,其中包含了 TCP 协议中的所有信息,包括端口号、

 

38f8583fd50a4b5b99192009e4857433.png

 

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

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

相关文章

气膜体育馆进校园:政策支持与市场前景—轻空间

过去20多年,气膜建筑、场馆相关项目在国内落地众多,展现出强大的市场潜力。2022年8月,《北京晚报》粗略统计,北京全市已建有气膜馆百余座,且数量还在不断增加。这一发展趋势不仅仅体现在北京,全国范围内也都…

微软GraphRAG +本地模型+Gradio 简单测试笔记

安装 pip install graphragmkdir -p ./ragtest/input#将文档拷贝至 ./ragtest/input/ 下python -m graphrag.index --init --root ./ragtest修改settings.yaml encoding_model: cl100k_base skip_workflows: [] llm:api_key: ${GRAPHRAG_API_KEY}type: openai_chat # or azu…

如何通过企业微信会话存档保护企业利益?

赵总: 张经理,最近行业内频发数据泄露事件,我们的客户资料和内部沟通记录安全吗? 张经理: 赵总,我们已经采取了一系列措施来加强数据安全。特别是针对企业微信的沟通记录,我们最近引入了安企神软件,它能很…

【BUG】已解决:AttributeError: ‘NoneType‘ object has no attribute ‘split‘

已解决:AttributeError: ‘NoneType‘ object has no attribute ‘split‘ 英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰,211科班出身,就职于医疗科技公司,热衷分享知识,…

通用图形处理器设计GPGPU基础与架构(四)

一、前言 本文将介绍GPGPU中线程束的调度方案、记分牌方案和线程块的分配与调度方案。 二、线程束调度 在计算机中有很多资源,既可以是虚拟的计算资源,如线程、进程或数据流,也可以是硬件资源,如处理器、网络连接或 ALU 单元。调…

大数据平台之Kafka

Apache Kafka 是一个分布式流处理平台,最初由 LinkedIn 开发,并在 2011 年开源成为 Apache 项目。Kafka 主要用于构建实时数据管道和流应用,具有高吞吐量、低延迟、容错性强等特点。以下是对 Kafka 的详细介绍: 核心概念 1. Prod…

爬虫瑞数5案例:某大学总医院

声明: 该文章为学习使用,严禁用于商业用途和非法用途,违者后果自负,由此产生的一切后果均与作者无关 一、瑞数简介 瑞数动态安全 Botgate(机器人防火墙)以“动态安全”技术为核心,通过动态封装、动态验证、动态混淆、动态令牌等技术对服务器网页底层代码持续动态变换,…

【 LCD1602显示屏】使用STC89C51控制1602显示、读写操作时序

文章目录 LCD1602显示概述:引脚说明控制指令接线 控制思路步骤 代码示例总结对databuffer dataShow;的理解 LCD1602显示 概述: LCD1602(Liquid Crystal Display)是一种工业字符型液晶,能够同时显示 1602 即 32 字符…

深入理解Android中的缓存与文件存储目录

🌟 引言 在Android应用开发中,合理管理应用的数据存储至关重要。应用可能需要保存各种类型的数据,从简单的配置信息到多媒体文件,甚至是缓存数据以提高性能和用户体验。Android提供了多个内置目录来满足这些需求,但它…

探索Facebook的最新更新:社交体验的新高度

Facebook作为全球领先的社交媒体平台,一直致力于不断创新和改进,以提供更优质的用户体验。近期,Facebook推出了一系列新的更新,旨在提升用户的社交互动体验和平台功能。本文将详细探讨这些最新更新,分析其对用户和社交…

模拟string(一)详解

目录 string()构造函数无参初始化错误写法代码 string(const char* str)构造函数有参初始化错误写法代码 string(const char* str "")合并无参和有参的构造函数代码错误写法代码 拷贝构造函数浅拷贝深拷贝方法一string(const string& s)方法二string& opera…

Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: HadoopHDFSMapReduceHiveFlumeSqoopZookeeperHBase 正在 章节内容 上一节我们完成了: HBase …

linux环境安装mongoDB

一、安装单体mogodb 目标:在Linux中部署一个单机的MongoDB,作为生产环境下使用。 提示:和Windows下操作差不多。 步骤如下: (1)先到官网下载压缩包 mongod-linux-x86_64-4.0.10.tgz 。 (2&…

设计模式:真正的建造者模式

又臭又长的set方法 经常进行Java项目开发使用各类starter的你一定见过这种代码: public class SwaggerConfig {Beanpublic Docket api() {return new Docket(DocumentationType.SWAGGER_2).select().apis(RequestHandlerSelectors.any()).paths(PathSelectors.any…

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《考虑光热集热单元的氢储能热电联供综合能源系统容量优化配置》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

【Access、Trunk和Hybrid】

概述 Access类型的端口只能属于1个VLAN,一般用于连接计算机的端口;Trunk类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口;Hybrid类型的端口可以允许多个VLAN通过&#xf…

Java中的迭代器(Iterator)

Java中的迭代器(Iterator) 1、 迭代器的基本方法2、 迭代器的使用示例3、注意事项4、克隆与序列化5、结论 💖The Begin💖点点关注,收藏不迷路💖 在Java中,迭代器(Iterator&#xff0…

1w字图文带你了解sqlmap,从0到1,WAF绕过,高级用法一文通透

前言 在信息安全领域,SQL注入攻击是一种极为常见且危害严重的安全漏洞。攻击者利用Web应用程序对SQL查询的不当处理,通过注入恶意SQL代码,从而绕过安全措施,非法访问或篡改数据库中的数据。随着网络安全威胁的日益严峻&#xff0…

在学习使用LabVIEW的过程中,需要注意哪些问题?

在学习使用LabVIEW的过程中,需要注意以下问题: 1. 基础知识 图形化编程思维: LabVIEW采用图形化编程方式,与传统的文本编程语言有很大不同,需要适应这种新的编程思维方式。数据流概念: 理解LabVIEW的核心数…

linux进程——概念理解与PCB

前言:本篇讲解Linux进程概念相关内容。 操作系统被称为计算机世界的哲学, 可以见得操作系统的知识并不好理解。 对于这篇进程概念的讲解, 博主认为, 如果没有一些前置知识的话,里面的有些概念并不好理解。 但是如果学习…