当前位置: 首页 > news >正文

Wireshark抓包常用指令

1.常用过滤规则

指定源地址:

ip.src == 10.0.1.123
ip.src == 10.0.1.123 && udp
http
数据链路层:筛选mac地址为04:f9:38:ad:13:26的数据包----eth.src == 04:f9:38:ad:13:26筛选源mac地址为04:f9:38:ad:13:26的数据包----eth.src == 04:f9:38:ad:13:26网络层:筛选ip地址为192.168.1.1的数据包----ip.addr == 192.168.1.1筛选192.168.1.0网段的数据---- ip contains "192.168.1"筛选192.168.1.1和192.168.1.2之间的数据包----ip.addr == 192.168.1.1 && ip.addr == 192.168.1.2筛选从192.168.1.1到192.168.1.2的数据包----ip.src == 192.168.1.1 && ip.dst == 192.168.1.2传输层:筛选tcp协议的数据包----tcp筛选除tcp协议以外的数据包----!tcp筛选端口为80的数据包----tcp.port == 80筛选12345端口和80端口之间的数据包----tcp.port == 12345 && tcp.port == 80筛选从12345端口到80端口的数据包----tcp.srcport == 12345 && tcp.dstport == 80应用层:过滤请求数据包----http.request过滤响应数据包----http.response过滤指定域名----http.host == “xxx.xxx.xxx”筛选url中包含.php的http数据包----http.request.uri contains ".php"筛选内容包含username的http数据包----http contains "username"过滤请求头----http.request.method == GET过滤请求的url----http.request.url==”/xxx/xxxx”过滤包含HTTP错误状态码的响应数据包----http.request.code >= 400过滤服务器端错误状态码的响应数据包----http.response.code <=599。

2.UDP报文结构

在这里插入图片描述

3.TCP报文结构

在这里插入图片描述

4.关键点

这里讲一下关键的点

4.1 TCP/UDP headers checksum

前面几个图可以看到Checksum,校验和。
TCP的数据包的校验和计算的数据来源包括三部分:TCP伪首部和TCP首部和TCP数据。TCP计算校验和引入了伪首部,包括后面介绍的UDP。如下图所示,TCP伪首部包括:源地址(32 bit),目标地址(32 bit),Zeros(8 bit),Protocol(8 bit),TCP Length(16 bit)。
在这里插入图片描述

在这里插入图片描述
由上图可知,源地址是106.11.43.158(6a 0b 2b 9e), 目标地址192.168.1.105(c0 a8 01 69),TCP的协议号是6,TCP数据长度是IP数据总长度减去IP头部52-20=32(0x20)。接下来是TCP头部和数据部分抓包示例:
在这里插入图片描述
由上图可知,TCP的校验和是0x755E,计算过程如下:

  1. 取伪首部的数据

Source Address Destination Address Zeros Protocol TCP Length

6a 0b 2b 9e c0 a8 01 69 00 06 00 20

  1. 将伪首部数据合并为16位一组并相加

6a0b+2b9e+c0a8+0169+0006+0020=157E0

  1. 取TCP数据

01 bb de c0 d3 86 24 c6 0e 5f 8d 90 80 10 00 0e 75 5e 00 00 01 01 05 0a 0e 5f 8d 8f 0e 5f 8d 90

  1. 将校验和部分置为00 00

01 bb de c0 d3 86 24 c6 0e 5f 8d 90 80 10 00 0e 00 00 00 00 01 01 05 0a 0e 5f 8d 8f 0e 5f 8d 90

  1. 将TCP数据合并为16位一组并相加

01bb+dec0+d386+24c6+0e5f+8d90+8010+000e

+0000+0000+0101+050a+0e5f+8d8f+0e5f+8d90=432BC

  1. 将伪首部和TCP数据的相加结果相加

157E0 + 432BC = 58A9C

  1. 将上一步结果的高16位和低16位相加

8A9C + 5 = 8AA1

  1. 将0xFFFF减8AA1得到校验和

0xFFFF - 0x8AA1 = 755E

  1. 与抓包的校验和比较是一致的

4.2 使用python生成TCP\UDP报文,用于软件开发测试

#!/usr/bin/env pythonimport socketTCP_IP = '127.0.0.1'
TCP_PORT = 1337
BUFFER_SIZE = 1024
MESSAGE = 'Hello, World!'
encoded = str.encode(MESSAGE)     # b'Hello, World!'
decoded = encoded.decode()        # 'Hello, World!' s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((TCP_IP, TCP_PORT))
s.send(encoded)
data = s.recv(BUFFER_SIZE)
s.close()print ("received data:", data)

5.Wireshark抓取TCP数据包分析三次握手

第一次握手数据包

客户端发送一个数据包,SYN=1,ACK=0,序列号从0开始,表示客户端请求建立连接
在这里插入图片描述

第二次握手数据包

服务器端发会数据包,SYN=1,ACK=1,seq=0,ack=seq+1表示已接收的数据包数量

在这里插入图片描述

第三次握手数据包

客户端重新传回确认包,SYN=0,服务器端检查ACK=1,ack=seq+1=1表示当前段成功接收数据位数

在这里插入图片描述

TCP层FLAGS字段重要标识

在这里插入图片描述

6.基本的一些概念

在这里插入图片描述
在这里插入图片描述

参考博客

https://blog.csdn.net/qq_44281295/article/details/127110834
https://zhuanlan.zhihu.com/p/631821119
https://blog.csdn.net/to_be_better_wen/article/details/129191378

相关文章:

Wireshark抓包常用指令

1.常用过滤规则 指定源地址&#xff1a; ip.src 10.0.1.123ip.src 10.0.1.123 && udphttp数据链路层&#xff1a;筛选mac地址为04:f9:38:ad:13:26的数据包----eth.src 04:f9:38:ad:13:26筛选源mac地址为04:f9:38:ad:13:26的数据包----eth.src 04:f9:38:ad:13:26网…...

Docker Swarm

Docker Swarm提供 Docker 容器集群服务&#xff0c;是 Docker 官方对容器云生态进行支持的核心方案。将多个 Docker 主机封装为单个大型的虚拟 Docker 主机&#xff0c;快速打造一套容器云平台。 Swarm mode内置 kv 存储功能&#xff0c;提供了众多的新特性&#xff0c;比如&a…...

jupyter notebook安装和删除kernel的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…...

中级深入--day16

爬虫(Spider)&#xff0c;反爬虫(Anti-Spider)&#xff0c;反反爬虫(Anti-Anti-Spider) 之间恢宏壮阔的斗争... Day 1 小黄想要某站上所有的电影&#xff0c;写了标准的爬虫(基于HttpClient库)&#xff0c;不断地遍历某站的电影列表页面&#xff0c;根据 Html 分析电影名字存进…...

【洛谷 P1031】[NOIP2002 提高组] 均分纸牌 题解(贪心)

[NOIP2002 提高组] 均分纸牌 题目描述 有 N N N 堆纸牌&#xff0c;编号分别为 1 , 2 , … , N 1,2,\ldots,N 1,2,…,N。每堆上有若干张&#xff0c;但纸牌总数必为 N N N 的倍数。可以在任一堆上取若干张纸牌&#xff0c;然后移动。 移牌规则为&#xff1a;在编号为 1 …...

E5071C是德科技网络分析仪

描述 E5071C网络分析仪提供同类产品中最高的RF性能和最快的速度&#xff0c;具有宽频率范围和多功能。E5071C是制造和R&D工程师评估频率范围高达20 GHz的RF元件和电路的理想解决方案。特点: 宽动态范围:测试端口的动态范围> 123 dB(典型值)快速测量速度:41毫秒全2端口…...

ViTPose+:迈向通用身体姿态估计的视觉Transformer基础模型 | 京东探索研究院

身体姿态估计旨在识别出给定图像中人或者动物实例身体的关键点&#xff0c;除了典型的身体骨骼关键点&#xff0c;还可以包括手、脚、脸部等关键点&#xff0c;是计算机视觉领域的基本任务之一。目前&#xff0c;视觉transformer已经在识别、检测、分割等多个视觉任务上展现出来…...

Android 播放mp3文件

1&#xff0c;在res/raw中加入mp3文件 2&#xff0c;实现播放类 import android.content.Context; import android.media.AudioManager; import android.media.SoundPool; import android.util.Log;import java.util.HashMap; import java.util.Map;public class UtilSound {pu…...

在OpenStack私有云上安装配置虚拟机

文章目录 零、学习目标一、登录大数据实训云二、创建网络三、创建路由四、添加接口五、创建端口六、添加安全组规则七、创建实例&#xff08;一&#xff09;实例规划&#xff08;二&#xff09;创建实例 - ied&#xff08;三&#xff09;创建实例 - master、slave1与slave2&…...

pyCharm远程DEBUG

第一步&#xff0c;添加一个远程机器的解释器 ssh 远程机器解释器添加&#xff0c; 我本地ssh有配置目标机器。 如果没配置&#xff0c;那就选着new server configuration 新增一个。 interpreter 指定远程机器python&#xff0c; &#xff08;机器上有多个版本python里尤其要…...

微服务框架Go-kit

微服务框架Go-kit go kit简介第一个go kit应用go kit基本概念go kit Endpointsgo kit Endpoint 定义go kit Endpoint 函数签名go kit Endpoint 链式操作go kit Endpoint 请求和响应转换go kit Endpoint 中间件go kit Endpoint 错误处理go kit 传输层go kit HTTP 传输层go kit …...

《王道24数据结构》课后应用题——第三章 栈和队列

第三章 【3.1】 03、 假设以I和O分别表示入栈和出操作。栈的初态和终态均为空&#xff0c;入栈和出栈的操作序列可表示为仅由I和O组成的序列&#xff0c;可以操作的序列称为合法序列&#xff0c;否则称为非法序列。 如IOIIOIOO 和IIIOOIOO是合法的&#xff0c;而IOOIOIIO和II…...

查看linux开发板的CPU频率

1&#xff09;查看CPU可设置的频率列表 cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies 2&#xff09;查看CPU当前所使用的频率&#xff1a; cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq 3&#xff09;设置CPU频率&#xff08;最高…...

对象模型和this指针(个人学习笔记黑马学习)

1、成员变量和成员函数 #include <iostream> using namespace std; #include <string>//成员变量和成员函数分开存储class Person {int m_A;//非静态成员变量 属于类的对象上的static int m_B;//静态成员变量 不属于类的对象上void func() {} //非静态成员函数 不…...

SpringCloudAlibaba常用组件

SpringCloudAlibaba常用组件 微服务概念 1.1 单体、分布式、集群 单体 ⼀个系统业务量很⼩的时候所有的代码都放在⼀个项⽬中就好了&#xff0c;然后这个项⽬部署在⼀台服务器上就 好了。整个项⽬所有的服务都由这台服务器提供。这就是单机结构。 单体应⽤开发简单,部署测试…...

Shotcut for Mac:一款强大而易于使用的视频编辑器

随着数码相机的普及&#xff0c;视频编辑已成为我们日常生活的一部分。对于许多专业和非专业用户来说&#xff0c;找到一个易于使用且功能强大的视频编辑器是至关重要的。今天&#xff0c;我们将向您介绍Shotcut——一款专为Mac用户设计的强大视频编辑器。 什么是Shotcut&…...

【数学建模】2023数学建模国赛C题完整思路和代码解析

C题第一问代码和求解结果已完成&#xff0c;第一问数据量有点大&#xff0c;经过编程整理出来了单品销售额的汇总数据、将附件2中的单品编码替换为分类编码&#xff0c;整理出了蔬菜各品类随着时间变化的销售量&#xff0c;并做出了这些疏菜品类的皮尔森相关系数的热力图&#…...

论数据库的种类

摘要 数据库是现代信息管理和数据存储的重要工具&#xff0c;几乎在各个领域都有广泛应用。不同类型的数据库适用于不同的应用场景和需求。本文将介绍几种常见的数据库种类&#xff0c;并探讨它们的特点和适用范围。 正文 一、关系型数据库&#xff08;RDBMS&#xff09; 关…...

docker笔记4:高级复杂安装-mysql主从复制

1.主从搭建步骤 1.1新建主服务器容器实例3307 docker run -p 3307:3306 --name mysql-master \ -v /mydata/mysql-master/log:/var/log/mysql \ -v /mydata/mysql-master/data:/var/lib/mysql \ -v /mydata/mysql-master/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORDroot \ -d…...

MySQL卸载干净再重新安装【Windows】

家人们&#xff0c;谁懂啊&#xff1f; 上学期学的数据库&#xff0c;由于上学期不知道为什么抽风&#xff0c;过得十分的迷&#xff0c;上课跟老师步骤安装好了Mysql&#xff0c;但后面在使用的过程中出现了问题&#xff0c;而且还出现了忘记密码这么蠢的操作&#xff0c;后半…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql

智慧工地管理云平台系统&#xff0c;智慧工地全套源码&#xff0c;java版智慧工地源码&#xff0c;支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求&#xff0c;提供“平台网络终端”的整体解决方案&#xff0c;提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

如何在看板中有效管理突发紧急任务

在看板中有效管理突发紧急任务需要&#xff1a;设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP&#xff08;Work-in-Progress&#xff09;弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中&#xff0c;设立专门的紧急任务通道尤为重要&#xff0c;这能…...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户&#xff0c;但你不希望用 root 权限运行 ns-3&#xff08;这是对的&#xff0c;ns3 工具会拒绝 root&#xff09;&#xff0c;你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案&#xff1a;创建非 roo…...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

k8s业务程序联调工具-KtConnect

概述 原理 工具作用是建立了一个从本地到集群的单向VPN&#xff0c;根据VPN原理&#xff0c;打通两个内网必然需要借助一个公共中继节点&#xff0c;ktconnect工具巧妙的利用k8s原生的portforward能力&#xff0c;简化了建立连接的过程&#xff0c;apiserver间接起到了中继节…...

Spring数据访问模块设计

前面我们已经完成了IoC和web模块的设计&#xff0c;聪明的码友立马就知道了&#xff0c;该到数据访问模块了&#xff0c;要不就这俩玩个6啊&#xff0c;查库势在必行&#xff0c;至此&#xff0c;它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据&#xff08;数据库、No…...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode&#xff1a; 2.利用 authorizationCode 获取 accessToken&#xff1a;文档中心 3.获取手机&#xff1a;文档中心 4.获取昵称头像&#xff1a;文档中心 首先创建 request 若要获取手机号&#xff0c;scope必填 phone&#xff0c;permissions 必填 …...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题

在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件&#xff0c;这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下&#xff0c;实现高效测试与快速迭代&#xff1f;这一命题正考验着…...