WireShark分析localhost包

news2024/11/26 20:24:44

文章目录

需要npcap。

```java 需要配置Npcap,如果没有需要卸载重新安装 Npcap 是专为 Windows 开发的一款网络抓包 SDK,该 SDK 提供了被应用程序调用的库文件和系统驱动程序。通过 Npcap,我们可以得到原始(raw)网络数据,即未经过 TCP/IP 协议栈的数据,也就是网卡收到的数据。同时呢,我们也可以通过 Npcap 设置接收过滤器,这样收到的数据就是我们感兴趣的数据,比如某个端口的数据。而且,Npcap 还提供发送原始(raw)网络数据的功能。 ```

配置wireshark

```java 确保选择的是 adapter for loopback traffic capture 可以监控本地的回环地址 ```

开始抓包

配置过滤器
配置的后置过滤器,也可以配置前置过滤器。

要分析远程的地址是哈?本地的过滤不一定是127.0.0.1,这是ipv4下面的地址。 下面这个是ipv6的地址

完成的一次修改数据

![](https://img-blog.csdnimg.cn/img_convert/4095de836a98c358059e20c5d878ce86.png)

第一个http get请求, 请求地址/dev-api/system/user/2 http/1.1 的协议

右击通过追踪流拿到http stream。

下面是前端返回的json数据格式,复制到json转换器中可以拿到后端传过来的

后端传过来的数据。

一个完成的http过程

![](https://img-blog.csdnimg.cn/img_convert/33f0b758c296b67d94d01d937a3570e9.png)
在你提供的抓包中,除了正常的三次握手和四次挥手之外,还有两个额外的 TCP 报文,它们的作用和详细解析如下:

### 额外的两个 TCP 报文

1. **数据包 3258**:

3258 25.960889 127.0.0.1 127.0.0.1 TCP 44 9212 → 7584 [ACK] Seq=1 Ack=398 Win=2160896 Len=0

- **源端口**: 9212
- **目标端口**: 7584
- **标志位**: [ACK]
- **确认号(Ack)**: 398
- **描述**: 这是一个确认包,表示目标端口(9212)确认收到了客户端(7584)发送的数据(如 HTTP 请求)。在这次握手中,目标端口发送的 ACK 包确认了客户端的请求。

2. **数据包 3260**:

3260 25.962348 127.0.0.1 127.0.0.1 TCP 44 7584 → 9212 [ACK] Seq=398 Ack=416 Win=2160896 Len=0

- **源端口**: 7584
- **目标端口**: 9212
- **标志位**: [ACK]
- **确认号(Ack)**: 416
- **描述**: 这是一个确认包,表示客户端(7584)确认收到了目标端口(9212)发送的 HTTP 响应。这个包是在服务器返回 HTTP 响应之后发出的,确认服务器的 FIN 包已经收到了。

### 作用解析

这两个额外的 TCP 报文都是 **确认包(ACK)**,它们的作用主要包括:

1. **数据包 3258**: 确认客户端发送的 HTTP 请求已被接收,通常在完成三次握手后,客户端会继续发送请求数据包(如 HTTP GET 请求),服务器通过发送 ACK 包来确认收到这些数据。

2. **数据包 3260**: 确认服务器的 HTTP 响应(包括 FIN 包)已经被客户端接收,这个确认包是连接关闭过程的一部分。

### 完整的 TCP 流量解析

1. **建立连接(三次握手)**:
- **SYN**: 客户端发起连接。
- **SYN, ACK**: 服务器响应连接请求。
- **ACK**: 客户端确认连接建立。

2. **数据传输**:
- 客户端发送 HTTP GET 请求。
- 服务器返回 HTTP 响应。

3. **断开连接(四次挥手)**:
- **FIN, ACK**: 服务器发起连接关闭。
- **ACK**: 客户端确认服务器的 FIN。
- **FIN, ACK**: 客户端发起连接关闭。
- **ACK**: 服务器确认客户端的 FIN。

### 结论

这两个额外的 ACK 包是 TCP 协议正常的一部分,用于确认数据的接收和保证数据完整性。它们确保了客户端和服务器之间的数据传输和连接关闭过程是可靠的。在 TCP 协议中,ACK 包用于确认接收到的数据,防止数据丢失。
`127.0.0.1` 和 `::1` 都是指向本地计算机的地址,但它们分别用于不同的 IP 协议版本。下面详细解释这两个地址的区别和用途:

### 1. `127.0.0.1`(IPv4 回环地址)

- **协议版本**: IPv4
- **格式**: 32 位地址
- **用途**: 表示本地计算机的回环地址,通常用于本地进程间的通信。所有发送到 `127.0.0.1` 的数据包都被路由回发送它的同一台计算机。
- **范围**: `127.0.0.1` 是回环地址范围的一部分,`127.0.0.1` 到 `127.255.255.255` 都是回环地址。通常情况下,`127.0.0.1` 是最常用的回环地址。

### 2. `::1`(IPv6 回环地址)

- **协议版本**: IPv6
- **格式**: 128 位地址
- **用途**: 同样用于本地计算机的回环地址,表示发送的数据包会返回到发送它的计算机。它是 IPv6 环回地址的标准表示形式。
- **范围**: `::1` 是 IPv6 地址范围中的回环地址,用于确保数据包不会离开主机,而是返回到主机。

### 主要区别

1. **协议版本**:
   - `127.0.0.1` 是 IPv4 地址。
   - `::1` 是 IPv6 地址。

2. **地址格式**:
   - `127.0.0.1` 是由四个用点分隔的十进制数字组成的 32 位地址。
   - `::1` 是一个由冒号分隔的 128 位地址,简化表示为 `::1`。

3. **使用环境**:
   - `127.0.0.1` 只适用于 IPv4 网络。
   - `::1` 只适用于 IPv6 网络。

4. **地址解析**:
   - `127.0.0.1` 只能被解析和识别为 IPv4 地址。
   - `::1` 只能被解析和识别为 IPv6 地址。

### 在实际应用中的区别

- **应用程序和服务**: 在配置应用程序或服务时,确保你使用了正确的 IP 协议版本。例如,配置监听的地址时,如果服务配置为 IPv4,应该使用 `127.0.0.1`。如果服务配置为 IPv6,则应该使用 `::1`。
- **抓包工具**:Wireshark 等抓包工具中,你需要确保过滤器匹配正确的协议版本。如果你捕获的是 IPv4 流量,使用 `127.0.0.1` 进行过滤;如果是 IPv6 流量,使用 `::1` 进行过滤。

### 示例

- **IPv4**:
  - 访问 `http://127.0.0.1` 会连接到本地计算机上运行的 Web 服务(如果该服务绑定到 IPv4 地址 `127.0.0.1`)。
  
- **IPv6**:
  - 访问 `http://[::1]` 会连接到本地计算机上运行的 Web 服务(如果该服务绑定到 IPv6 地址 `::1`)。

确保在抓包、配置网络服务或编写网络程序时使用正确的 IP 地址版本以避免不必要的配置错误。

拿到登录用户名和密码

![](https://img-blog.csdnimg.cn/img_convert/af876a5245d2b4d3a3a8e7a87d5d98be.png)


引用:
wireshark抓包–127.0.0.1/本地 - jiafeng - 博客园 (cnblogs.com)

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

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

相关文章

灵活的参数传递:使用*args和**kwargs让类实例像函数一样调用

在Python的世界里,我们经常会遇到需要让类实例表现得像函数的场景。这不仅可以增强代码的灵活性,还能提高其可读性和可维护性。 通过一些巧妙的技巧,我们可以模拟函数的行为,让类实例在调用时表现得如同内置函数一样自然。本文将…

【大模型专栏—入门篇】科研数据与显卡使用

大模型专栏介绍 😊你好,我是小航,一个正在变秃、变强的文艺倾年。 🔔本文为大模型专栏子篇,大模型专栏将持续更新,主要讲解大模型从入门到实战打怪升级。如有兴趣,欢迎您的阅读。 &#x1f4…

神经网络的可解释性理论及工具

1.可解释性分析简介 explainable AI:why,利用决策树 eg: interpretable AI:how 2.机器学习的可解释性 解释工具: 按输入对输出的贡献值。 然后把值sigmoid成0-1. 例子: 就是去计算,有你和没你…

统计上升四元组

🌈个人主页:Yui_ 🌈Linux专栏:Linux 🌈C语言笔记专栏:C语言笔记 🌈数据结构专栏:数据结构 🌈C专栏:C 文章目录 1. 题目描述2. 解释3. DP前缀和枚举 1. 题目描…

# CentOS7 设置mysql的 root 用户密码时,报错 ERROR 1819(HY000)...ERROR1193... 解决方法。

CentOS7 设置mysql的 root 用户密码时,报错 ERROR 1819(HY000)…ERROR1193… 解决方法。 一、错误描述: mysql ALTER USER rootlocalhost IDENTIFIED BY 123; ERROR 1819 (HY000) Your password does not satisfy the current policy requirementsERRO…

基于SC04B触摸芯片实现的触摸按键方案

基于SC04B触摸芯片实现的触摸按键方案 随着科技的不断进步,触摸按键技术已经广泛应用于各种电子设备中。SC04B作为一种常见的触摸感应芯片,以其高性能、低成本、高灵敏度和易于集成的特点,在触摸按键方案中备受青睐。 SC04B触摸芯片特点 SC…

数据结构--串的模式匹配算法

文章目录 串的模式匹配算法1.朴素算法(Brute-Force(BF)暴力算法)BF算法分析 2.KMP算法字符串的最长公共前后缀部分匹配表(前缀表)Next 串的模式匹配算法 查找子串(模式串)在主串中的位置的操作通常称为串的…

NET8 MAUIBlazor发布用于windows应用

1.打开 PowerShell 终端 , 命令行进入工程目录,以我的例子工程为例 DOS命令:cd 项目名 2.复制窗口里面的 Thumbprint 下的指纹码, 例如我这个是E18EF79CF31104139F16BD2089F4AB1898D381C2 3.配置项目生成设置, 双击项目名称或者直接编辑 ltyj.C2.Cilent.csproj 文件 添加下面…

C语言操作符详解(13)

文章目录 前言一、二进制和进制转换2进制转10进制10进制转2进制2进制转8进制2进制转16进制 二、原码、反码、补码三、移位操作符左移操作符右移操作符 四、位操作符&^~一道奇葩的面试题一道练习题再来一个练习题 五、逗号表达式六、结构成员访问操作符结构体结构的声明结构…

汇编调用C库函数—printf、scanf和Win32API

RadASM: ;右键 -> 生成依赖项 -> 生成自定义 -> masm .586 .model flat,stdcall option casemap:noneinclude msvcrt.inc include Kernel32.inc include User32.incincludelib msvcrt.lib includelib Kernel32.lib includelib User32.libscanf proto c :ptr,:vararg …

Java 的Swing 之JFrame快速入门

3、讲原件添加到当前窗口当中 //讲原件添加到当前窗口当中 this.add(btnlong); this.add(btnreset); this.add(usertext); this.add(passtext); this.add(username); this.add(password); this.setVisible(true); 4、对对应按钮设置动作监听 btnlong.addActionListene…

足球大小球及亚盘数据分析与机器学习实战详解:从数据清洗到模型优化

本文将深入探讨Java在数据分析和机器学习中的实际应用,涵盖数据预处理、模型训练和优化等方面的内容。通过详尽的代码示例,帮助读者掌握相关技术并应用于实际项目中。 数据分析、初盘数据、走地数据、分析管理系统、AI大模型预测系统、全自动化下单系统…

直播相关02-录制麦克风声音,QT 信号与槽,自定义信号和槽

一 信号与槽函数 #include "mainwindow.h" #include <QPushButton> #include <iostream> using namespace std;//我们的目的是在 window中加入一个button&#xff0c;当点击这个button后&#xff0c;关闭 MainWindow 。 MainWindow::MainWindow(QWidget …

【实施文档】软件项目实施方案(Doc原件2024实际项目)

软件实施方案 二、 项目介绍 三、 项目实施 四、 项目实施计划 五、 人员培训 六、 项目验收 七、 售后服务 八、 项目保障措施软件开发管理全套资料包清单&#xff1a; 工作安排任务书&#xff0c;可行性分析报告&#xff0c;立项申请审批表&#xff0c;产品需求规格说明书&am…

【文献阅读】Unsupervised Machine Learning for Bot Detection on Twitter

Abstract 引入新特征&#xff0c;并降低所提模型的复杂性&#xff0c;从而提高基于聚类算法的机器人识别准确性。 最小化数据集维度和选择重要特征来实现的。 实验证明该方法的特征可以与四种不同的聚类技术&#xff08;agglomerating、k-medoids、DBSCAN 和 K-means&#x…

Android Graphics 显示系统 - VirtualDisplay mirrorDisplay 简单示例

“ Life is like a box of chocolates, you never konw what youre going to get。最近我也得到了一块巧克力&#xff0c;迫不及待地想尝一下甜的惊喜 。” 前言 上一篇文章&#xff0c;我们分享了一个VirtualDisplay的简单实例&#xff0c;主要是为了引入创建虚拟屏幕都使用了…

C# 如何检查两个给定的线段是否相交(How to check if two given line segments intersect)

给定两条线段(p1, q1)和(p2, q2)&#xff0c;判断给定的线段是否相交。 在讨论解决方案之前&#xff0c;让我们先定义方向的概念。平面中有序点三元组的方向可以是 –逆时针 –顺时针 –共线 下图显示了&#xff08;a&#xff0c;b&#xff0c;c&#xff09; 的不同可能方…

多进程批量下载era5再分析数据

1.配置key https://cds.climate.copernicus.eu/api-how-to 获取key 修改配置文件&#xff0c;把url和key复制进行 vim $HOME/.cdsapirc2.下载 根据要求修改年和月份等变量 import cdsapi import calendar import concurrent.futures import osdef download_month_data(year,…

KEIL编译生成.bin文件的简单方法

fromelf --bin -o "$LL.bin" "#L" 如图 如果不行请尝试其他方法

大模型算法入行转行?我建议你这样做!

最近私信问我关于入行、转行方面的问题比较多&#xff0c;就专门写一篇讲讲我的理解。 首先说明一下个人的背景和现状&#xff0c;我本人是本科学历&#xff0c;有互联网大厂搜推方向经验&#xff0c;后来跳到中厂继续做推荐&#xff0c;去年开始做大模型。现在是个小组长&…