用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()

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/81947.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/81947.shtml
英文地址,請注明出處:http://en.pswp.cn/web/81947.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

運維 pgsql 安裝完后某次啟動不了

pgsql 安裝完后某次啟動不了 錯誤 data directory "/usr/local/postgresql/data" has invalid permissions 安裝成功后一直可以 后面同事敲了 chmod -R 777 /usr/local 導致不行 改到了 /usr/local/postgresql/data 權限 /usr/local/postgresql/data的權限有限…

查看·電腦安裝·的 .NET 版本

方法 一:使用命令提示符或 PowerShell 打開命令提示符或 PowerShell。 輸入以下命令:dotnet --version 按下回車鍵。 命令輸出將顯示已安裝的 .NET 版本。 方法二:使用 .NET Framework 控制面板 打開控制面板。 點擊“程序”。 點擊“程序…

Linux WiFi 模組使用及故障排查整理文檔

Linux WiFi 模組使用及故障排查整理文檔 1. STA 模式下 WiFi 延時不穩定問題解決方法: 2. Power Saving 機制說明3. AP 模式下 WiFi 設置4. RTL8821CS AP 模式下 Windows 客戶端異常斷開問題問題描述問題原因解決方案步驟 1:修改 dnsmasq 配置步驟 2&…

mac mini m4命令行管理員密碼設置

附上系統版本圖 初次使用命令行管理員,讓輸入密碼,無論是輸入登錄密碼還是賬號密碼,都是錯的,百思不得其解,去網上搜說就是登錄密碼啊 直到后來看到了蘋果官方的文檔 https://support.apple.com/zh-cn/102367 https…

棧內行為分析

棧內行為分析 一、源碼分析 我們以以下簡單的 C 程序為例&#xff0c;通過 GDB 動態調試分析函數調用過程中的棧內布局變化&#xff1a; #include <stdio.h> int add(){int a 10;int b 20;return (a b); }int main() {add();return 0; }編譯為 32 位程序&#xff1a…

老舊設備數據采集破局 AI圖像解析如何讓質檢LIMS系統煥發新生

在實驗室數字化進程中&#xff0c;大量服役超過 10 年的老舊設備成為數據采集的 “攔路虎”&#xff1a;指針式儀表盤需人工讀取、紙質原始記錄靠手工錄入、非標準接口設備數據無法自動獲取…… 某化工實驗室因 15 臺老舊設備數據采集耗時占比達 40%&#xff0c;檢測效率長期滯…

【征求意見】四川省大數據發展研究會關于對《數據資源建設費用測算標準》團體標準征求意見的通知

四川省大數據發展研究會 關于對《數據資源建設費用測算標準》團體標準征求意見的通知 各有關單位&#xff1a; 由四川省大數據發展研究會歸口、成都東契奇科技有限公司牽頭編制的《數據資源建設費用測算標準》團體標準已形成征求意見稿&#xff0c;現公開征求意見。請于2025年…

element上傳文件多選 實現文件排序

上傳文件多選排序 只上代碼 不多逼逼 這是el-elment 的文件上傳 <el-uploadaction"#"list-type"picture-card"ref"upload":accept"accept":on-change"onUploadChange":file-list"fileList":http-request&quo…

.NET 查找 DLL 的路徑順序

在 C# 中&#xff0c;[DllImport("SgCamWrapper.dll")] 這行代碼表明它會在運行時從當前可執行文件的搜索路徑中查找 SgCamWrapper.dll。具體搜索順序如下&#xff08;按優先級&#xff09;&#xff1a; ? .NET 查找 DLL 的路徑順序&#xff1a; 應用程序啟動目錄&a…

低代碼——表單生成器以form-generator為例

主要執行流程說明&#xff1a; 初始化階段 &#xff1a; 接收表單配置對象formConf深拷貝配置&#xff0c;初始化表單數據和驗證規則處理每個表單組件的默認值和特殊配置&#xff08;如文件上傳&#xff09; 渲染階段 &#xff1a; 通過render函數創建el-form根組件遞歸渲染表…

自定義載板RK3588HDMI輸入配置完整解決方案

Orange Pi 5 Plus HDMI輸入配置完整解決方案 &#x1f4cb; 項目概述 本文檔記錄了Orange Pi 5 Plus HDMI1接口配置問題的完整分析和解決過程。從初始的"disconnected"狀態問題&#xff0c;到最終實現HDMI輸入功能的全過程技術分析。 &#x1f3af; 問題描述 初始…

SAAS架構設計2-流程圖-用戶與租戶之間對應關系圖

在SAAS&#xff08;Software as a Service&#xff0c;軟件即服務&#xff09;結構中&#xff0c;用戶與租戶之間的關系可以通過一對一和多對多兩種方式來定義。這兩種關系模式各自有著不同的應用場景和特點。 用戶和租戶的關系&#xff08;一對一&#xff09; 一對一關系 在這…

Spring Boot微服務架構(八):開發之初就引入APM工具監控

使用 APM&#xff08;Application Performance Management&#xff09;工具監控 Spring Boot 應用&#xff0c;可以幫助開發者實時追蹤性能瓶頸、分析調用鏈路、監控資源使用情況&#xff0c;并快速定位故障。以下是詳細的步驟和常用工具的選擇指南&#xff1a; ??一、常用 A…

Python 如何讓自動駕駛的“眼睛”和“大腦”真正融合?——傳感器數據融合的關鍵技術解析

Python 如何讓自動駕駛的“眼睛”和“大腦”真正融合?——傳感器數據融合的關鍵技術解析 自動駕駛技術從來都不是“單兵作戰”。如果你細看一輛自動駕駛汽車,它其實是一個傳感器的集合體:攝像頭、激光雷達(LiDAR)、毫米波雷達、超聲波傳感器、GPS……這些傳感器各自發揮作…

《軟件工程》第 12 章 - 軟件測試

軟件測試是確保軟件質量的關鍵環節&#xff0c;它通過執行程序來發現錯誤&#xff0c;驗證軟件是否滿足需求。本章將依據目錄&#xff0c;結合 Java 代碼示例、可視化圖表&#xff0c;深入講解軟件測試的概念、過程、方法及實踐。 12.1 軟件測試的概念 12.1.1 軟件測試的任務 …

面試題 08.08. 有重復字符串的排列組合【 力扣(LeetCode) 】

文章目錄 零、原題鏈接一、題目描述二、測試用例三、解題思路四、參考代碼 零、原題鏈接 面試題 08.08. 有重復字符串的排列組合 一、題目描述 有重復字符串的排列組合。編寫一種方法&#xff0c;計算某字符串的所有排列組合。 二、測試用例 示例 1&#xff1a; 輸入&#…

【Linux】關于權限的理解

目錄 一、Linux用戶的分類 1.Linux下的兩種用戶 2.兩種用戶提示符的區別 3.用戶的切換方法 二、Linux的權限管理 1.文件訪問者分類 2.常見文件類型 3.文件訪問權限 4.權限檢查邏輯 5.文件權限的表示方式 三、與文件訪問權限相關的設置方法 1.前提&#xff1a; 2.如…

前端antd,后端fastapi,解決文件上傳

一、技術架構概述 前端框架&#xff1a;React Ant Design 5.x 使用antd的Upload組件&#xff08;支持拖拽/多文件/分片&#xff09; 后端框架&#xff1a;Python FastAPI 利用UploadFile類處理文件流 傳輸協議&#xff1a;HTTP FormData&#xff08;兼容性強&#xff09; 二…

?????? 模擬題及答案 ?????? 大模型Clouder認證:RAG應用構建及優化

考試注意事項: 一、單選題(21題) 檢索增強生成(RAG)的核心技術結合了什么? A. 圖像識別與自然語言處理 B. 信息檢索與文本生成 C. 語音識別與知識圖譜 D. 數據挖掘與機器學習 RAG技術中,“建立索引”步驟不包括以下哪項操作? A. 將文檔解析為純文本 B. 文本片段分割(…

為什么建立 TCP 連接時,初始序列號不固定?

主要原因有兩個方面&#xff1a; 很大程度上避免歷史報文被下一個相同四元組的 TCP 連接接收問題&#xff08;主要方面&#xff09;防止黑客偽造相同序列號的 TCP 報文被接收 接下來&#xff0c;詳細說說第一點 假設每次建立 TCP 連接時&#xff0c;客戶端和服務端的初始序列…