用wireshark抓了个TCP通讯的包
昨儿个整理了下怎么用wireshark抓包,链接在这里:捋捋wireshark
今天打算抓个TCP通讯的包试试,整体来说比较有收获,给大家汇报一下。
首先就是如何搞到可以用来演示TCP通讯的客户端、服务端,问了下deepseek,win 10上可以用powershell这样启动一个监听8080端口的服务端:
文字版的贴到这里:
$listener = New-Object System.Net.Sockets.TcpListener('0.0.0.0', 8080)
$listener.Start()
用netstat查看一下监听状态,命令 netstat -ano | findstr -I "listen" | findstr 8080,效果:
把这个powershell窗口关闭,再启动一个看一下8080,就不是监听状态了:
莫怪我为何要写这一段,因为我没怎么用过powershell。。。咱继续。。。我这里用一个内网ip为192.168.1.183的windows 10办公电脑启动服务端,从内网ip为192.168.3.240的办公的笔记本上启动客户端、启动wireshark抓包,然后把每一步操作都写下来。
从内网台式机上启动服务端:
现在我们启动了服务端,等待客户端连接(注意光标的位置,阻塞、等待客户端连接)。这些命令的文字版最后帖到文末哈,这里看图就行。
确认一下8080端口启动了,顺便看看监听8080端口的进程信息,漂亮:
从笔记本上启动wireshark,选择从无线网上抓包,设定只捕获过和192.168.1.183:8080的tcp通讯:tcp port 8080 and host 192.168.1.183,
如果觉得这里表述不够详细,看本文开头说的那个帖子,我这里已经监听上了:
从笔记本上用powershell启动客户端:
这个命令会得到一个连接到服务端的客户端对象$client,wireshark捕捉到了三个握手的数据包:
现在我们给服务端发一点消息:
那个flush命令发出后,wireshark就抓到了这俩数据包:
现在该从服务端操作了,这个命令已经不是阻塞状态了:
应该是三次握手就不阻塞了,当时没看,不要在意这些细节,咱们收一下客户端发来的消息:
顺便说一句,这里获取reader/writer实例的写法跟php里的很像,powershell真是兼容并包啊。。
我们从服务端给客户端一些答复:
去看笔记本电脑上的wireshark,新抓到2个数据包:
从客户端接收一下服务端发来的消息,并给对方回复:
去看wireshark,又抓到俩数据包:
去服务端接收一下客户端的消息,给出回复:
去看wireshark,又抓到2个包:
从客户端接收一下:
是时候结束会话了,客户端:
wireshark抓到了2个挥手的包:
服务端:
wireshark又抓到了2个挥手的包:
继续关闭吧,客户端:
服务端:
台式机的8080端口也不是被监听的状态了:
wireshark结束监听,保存包:
附文字命令,服务端:
$listener = New-Object System.Net.Sockets.TcpListener('0.0.0.0', 8080)
$listener.Start()
Write-Host "服务端已启动,等待客户端连接..."
$client = $listener.AcceptTcpClient()
$stream = $client.GetStream()
$reader = [System.IO.StreamReader]::new($stream)
$writer = [System.IO.StreamWriter]::new($stream)
$message = $reader.ReadLine()
Write-Host "收到客户端消息: $message"
$writer.WriteLine("已收到: $message;问:你这瓜保熟吗?")
$writer.Flush()
$message = $reader.ReadLine()
Write-Host "收到客户端消息: $message"
$writer.WriteLine("知道了,再探再报")
$writer.Flush()
$reader.Close()
$writer.Close()
$client.Close()
$listener.Stop()
客户端:
$client = New-Object System.Net.Sockets.TcpClient("192.168.1.183", 8080)
$stream = $client.GetStream()
$reader = New-Object System.IO.StreamReader($stream)
$writer = New-Object System.IO.StreamWriter($stream)
$writer.WriteLine("号外,阿三的阵风被小巴的歼十打下来了")
$writer.Flush()
$response = $reader.ReadLine()
Write-Host "收到服务端消息: $response"
$writer.WriteLine("是真的,网上视频都出来了")
$writer.Flush()
$response = $reader.ReadLine()
Write-Host "收到服务端消息: $response"
$reader.Close()
$writer.Close()
$client.Close()
相关文章:

用wireshark抓了个TCP通讯的包
昨儿个整理了下怎么用wireshark抓包,链接在这里:捋捋wireshark 今天打算抓个TCP通讯的包试试,整体来说比较有收获,给大家汇报一下。 首先就是如何搞到可以用来演示TCP通讯的客户端、服务端,问了下deepseek,…...

VR/AR 显示瓶颈将破!铁电液晶技术迎来关键突破
在 VR/AR 设备逐渐走进大众生活的今天,显示效果却始终是制约其发展的一大痛点。纱窗效应、画面拖影、眩晕感…… 传统液晶技术的瓶颈让用户体验大打折扣。不过,随着铁电液晶技术的重大突破,这一局面有望得到彻底改变。 一、传统液晶技术瓶颈…...
【前端】Vue中实现pdf逐页转图片,图片再逐张提取文字
给定场景:后端无法实现pdf转文字,由前端实现“pdf先转图片再转文字”。 方法: 假设我们在< template>中有一个元素存放我们处理过的canvas集合 <div id"canvasIDpdfs" />我们给定一个按钮,编写click函数&…...
焦虑而烦躁的上午
半年了,每逢周末或者节假日都被催着去医院。 今天早上依旧,还在睡梦之中,就被喊醒“赶紧得,抢上儿童医院的票了!” 无奈,从床上爬起来,草草用过早餐之后,奔赴儿童医院!…...

Python使用
Python学习,从安装,到简单应用 前言 Python作为胶水语言在web开发,数据分析,网络爬虫等方向有着广泛的应用 一、Python入门 相关基础语法直接使用相关测试代码 Python编译器版本使用3以后,安装参考其他教程…...

分类预测 | Matlab实现CNN-LSTM-Attention高光谱数据分类
分类预测 | Matlab实现CNN-LSTM-Attention高光谱数据分类 目录 分类预测 | Matlab实现CNN-LSTM-Attention高光谱数据分类分类效果功能概述程序设计参考资料 分类效果 功能概述 代码功能 该MATLAB代码实现了一个结合CNN、LSTM和注意力机制的高光谱数据分类模型,核心…...

【解决方案-RAGFlow】RAGFlow显示Task is queued、 Microsoft Visual C++ 14.0 or greater is required.
目录 一、长时间显示:Task is queued 二、GraphRAG消耗大量Token 三、error: Microsoft Visual C 14.0 or greater is required. Get it with “Microsoft C Build Tools“ 四、ModuleNotFoundError: No module named infinity.common; infinity is not a package 五…...

爬虫到智能数据分析:Bright Data × Kimi 智能洞察亚马逊电商产品销售潜力
前言 电商数据分析在现代商业中具有重要的战略价值,通过对消费者行为、销售趋势、商品价格、库存等数据的深入分析,企业能够获得对市场动态的精准洞察,优化运营决策,预测市场趋势、优化广告投放、提升供应链效率,并通…...

高级前端工程师必备的 JS 设计模式入门教程,常用设计模式案例分享
目录 高级前端工程师必备的 JS 设计模式入门教程,常用设计模式案例分享 一、什么是设计模式?为什么前端也要学? 1、设计模式是什么 2、设计模式的产出 二、设计模式在 JS 里的分类 三、常用设计模式实战讲解 1、单例模式(S…...
unix/linux source 命令,其发展历程详细时间线、由来、历史背景
追本溯源,探究技术的历史背景和发展脉络,能够帮助我们更深刻地理解其设计哲学和存在的意义。source 命令(或者说它的前身和等效形式)的历史,与 Unix Shell 本身的发展紧密相连。 让我们一起踏上这段追溯之旅,探索 source 命令的由来和发展历程。 早期 Unix Shell 与命令…...

2023年电赛C题——电感电容测量装置
一、赛题 二、题目分析——损耗角正切值 对于一个正常的正弦波信号,如果通过的是一个电阻或一条导线,那么它的电流信号和电压信号是一致的(有电压才有电流),没有相位差。 但是如果正弦波经过了一个电感或电容…...

pycharm打印时不换行,方便对比观察
原来: 优化: import torch torch.set_printoptions(linewidth200) 优化结果:...

因泰立科技:镭眸T51激光雷达,打造智能门控新生态
在高端门控行业,安全与效率是永恒的追求。如今,随着科技的飞速发展,激光雷达与TOF相机技术的融合,为门控系统带来了前所未有的智能感知能力,开启了精准守护的新时代。因泰立科技的镭眸T51激光雷达,作为这一…...

Microsoft Fabric - 尝试一下Data Factory一些新的特性(2025年5月)
1.简单介绍 Microsoft Fabric是微软提供的一个数据管理和分析的统一平台,感觉最近的新特性也挺多的。 Data Factory是Microsoft Fabric的一个功能模块,也是一个cloud service。Data Factory可以和多种数据源进行连接,同时提供了data movemen…...
NodeJS全栈开发面试题讲解——P10微服务架构(Node.js + 多服务协作)
✅ 10.1 单体架构和微服务的主要区别是什么? 维度单体架构微服务架构模块组织所有功能打包在一个代码仓库中拆分为多个独立服务部署方式部署一次包含全部逻辑各服务独立部署、独立扩缩容开发协作多人协作易冲突团队按服务划分,职责清晰可维护性功能多时…...

【前端】javascript和Vue面试八股
面试暂时没有遇到过考这么深的,一般还是问一些生命周期和性能相关。 Q:什么情况下“ a 1 && a 2 && a 3 ”同时成立 A:对象的valueOf与toString方法:当一个对象与一个原始值(如数字)进…...

WEB3——区块链留言板(留言上链),查看web3日志-入门项目推荐
区块链留言板(留言上链) 目标:构建一个用户可以“写入留言、读取历史留言”的 DApp。 内容: Solidity 编写留言合约,存储留言内容和发送者地址。 提供 API: GET /messages:获取留言列表 POST…...
开源库免费API服务平台 ALLBEAPI
开源库API化平台 ALLBEAPI 🌊 GitHub仓库地址:https://github.com/TingjiaInFuture/allbeapi 为优秀开源库提供免费 API 服务,让开发者无需安装和部署即可直接调用。 🌐 API 接入地址 基础 URL: https://res.allbeapi.top 所…...

【配置vscode默认终端为git bash】
配置vscode默认终端为git bash 点击左下角小齿轮,点击设置,搜索terminal.integrated.profiles.windows,点击在setting.json中编辑 第一部分是当前的所有的终端,第二部分是配置默认的终端"terminal.integrated.defaultProfi…...
Cloudflare
Cloudflare 是一个网络基础设施和网站安全服务提供商,它的主要作用是让网站 更快、更安全、更可靠。简单来说,它是一个“护盾 加速器”。 🧩 Cloudflare 的主要功能: 1. 🚀 加速网站访问(CDN)…...

Cypress + TypeScript + Vue3
🚀 从零构建 Cypress + TypeScript + Vue3 组件测试环境【详细实战教程】 组件测试是前端开发中不可忽视的一环,它能够帮助我们在开发阶段就发现 UI 与交互逻辑问题。本文将带你手把手搭建基于 Cypress + TypeScript + Vue3 的组件测试环境,包含完整目录结构、配置文件、组…...
Oracle DG库控制文件IO错误导致宕机的应急处理
Oracle DG库控制文件IO错误导致宕机的应急处理 事故现场偷天换日棋差一招事故现场 一套Oracle 19c DG环境的备库宕机。 根据告警时间检查实例宕机时间点附近的alert日志有如下重要信息: 2025-05-25T23:34:10.705385+08:00 KCF: read, write or open error, block=0x3377ee …...
技术深度解析:《鸿蒙5.0+:全场景能效的产业革命》
引言:万物智联时代的功耗新范式 产业痛点: 全球IoT设备年耗电量突破200TWh,传统系统架构难以支撑千亿级终端低功耗需求。鸿蒙5.0战略定位: 通过全场景能效架构(端侧极致优化跨端智能…...
Spring Boot启动慢?Redis缓存击穿?Kafka消费堆积?——Java后端常见问题排查实战
Spring Boot启动慢?Redis缓存击穿?Kafka消费堆积?——Java后端常见问题排查实战 引言 Java后端系统因其丰富的技术栈和复杂的业务逻辑,常常面临启动延迟、性能瓶颈、异常错误等多种挑战。从核心语言、Web框架到分布式微服务及缓…...

深入解析 IP 代理:原理、应用场景与优化策略
在当今数字化时代,网络通信的安全性与隐私保护成为人们日益关注的焦点,而 IP 代理作为网络技术领域的一个重要概念,正扮演着愈发关键的角色。本文将深入剖析 IP 代理的原理、广泛的应用场景以及如何对其进行优化,以期为读者提供有…...

58、辣椒种植学习
辣椒(学名:Capsicum annuum)属于茄科辣椒属,是一种重要的蔬菜兼调味作物,具有较高的经济价值和营养价值。其果实富含维生素C、辣椒素等成分,既可鲜食,也可加工成干辣椒、辣椒粉、辣椒酱等产品&a…...

【SpringBoot】零基础全面解析SpringBoot配置文件
本篇博客给大家带来的是SpringBoot配置文件的知识点, 有properties 配置文件 和 yml 配置文件, 目前主流的是yml,所以本文以 重点讲解 yml 配置文件. 🐎文章专栏: JavaEE进阶 👉gitte链接: 薯条不要番茄酱 🚀若有问题 评论区见 ❤ 欢迎大家点…...

python:PyMOL 能处理 *.pdb 文件吗?
PyMOL 完全可以打开并处理 PDB(Protein Data Bank)文件,这是 PyMOL 最主要的功能之一。PDB 格式是结构生物学领域的标准文件格式,专门用于存储生物大分子(如蛋白质、核酸)的三维结构数据。 在 PyMOL 中打开…...

GNSS终端授时之四:高精度的PTP授时
我们在GNSS终端的授时之三:NTP网络授时中介绍了NTP网络授时的基本原理。我们知道了NTP授时的精度跟网络环境相关,即使在局域网中NTP授时的精度也只能到ms级别。如果广域网,经过多级交换机,路由器,由于传输路径和延时的…...
Vim文本编辑器快捷键用法以及简单介绍
目录 vim文本编辑器 简介: 语法: vim模式介绍: 模式切换: 用法: 编辑模式: 一般模式: 命令模式: vim文本编辑器 简介: 在命令行界面下,最常用的文本…...