IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 【计算机网络】利用WireShark分析TCP/UDP协议 -> 正文阅读

[网络协议]【计算机网络】利用WireShark分析TCP/UDP协议

前期准备:

  • IntelliJ IDEA 2021.1.3 (Ultimate Edition) Build #IU-211.7628.21, built on June 30, 2021
  • JDK 1.8或以上版本
  • WireShark网络协议解析器 Version 2.4.13 (v2.4.13-0-gf2c6a94a3f)
  • 查询本地回环的工具RawCap

分析过程:

1、对TCP协议进行分析

(1)利用java编写TCP服务端和客户端(略)
(2)打开抓包软件

???????Wireshark虽然可以抓任何协议的包,但当你测试一个本机的socket程序,发送/接收到本地端口的时候,却无法抓取本地回环数据。这个时候需要借助一个工具RawCap进行本地环路的抓包
在这里插入图片描述

注意,抓包软件和RawCap.exe要放在一个目录下

打开cmd,进入到抓包工具所在目录,输入

RawCap.exe 本地IP  TCPfile.pcap

即可运行RawCap抓包程序,此时不要按Ctrl+C或终止程序,之后进行后续操作
在这里插入图片描述

(3)进行调试,打开客户端和服务端,客户端发送消息,服务端就会接收到消息

服务端:接收到客户端发来的消息并响应
在这里插入图片描述
客户端:发送消息后收到响应
在这里插入图片描述

(4)上述步骤完成后,切换到cmd界面,此时我们看到packets的数量发生变化,此时我们按Ctrl+C终止程序(不要点右上角×号),在工具目录下就会生成一个TCPdump.pcap文件,我们用WireShark打开这个文件

在这里插入图片描述
打开之后如图所示
这就是所有在127.0.0.1的通讯数据
在这里插入图片描述

(5)但这里我们要找TCP协议的通讯,所以使用过滤器 tcp.stream eq 8,之后显示TCP通讯的数据,或者随便找一个TCP流,右键“追踪流”–“追踪TCP流”,一个流一个流的查找即可,这里显示过滤后和追踪的结果

过滤后结果
在这里插入图片描述
追踪后结果

注:若数据流有中文,则将“显示和保存数据为”那一栏改为utf-8,不然无法显示中文数据,在这里我们看到客户端发送的消息是蓝色背景,服务端发送的消息是红色背景,点击可查看对应信息的数据流情况。
在这里插入图片描述

(6)对数据流进行分析

看前三条数据流,代表着TCP的三次握手
在这里插入图片描述

TCP三次握手:
(1)第一次握手:建立连接时,客户端A发送SYN包(SYN=j)到服务器B,并进入SYN_SEND状态,等待服务器B确认。
(2)第二次握手:服务器B收到SYN包,必须确认客户A的SYN(ACK=j+1),同时自己也发送一个SYN包(SYN=k),即SYN+ACK包,此时服务器B进入SYN_RECV状态。
(3)第三次握手:客户端A收到服务器B的SYN+ACK包,向服务器B发送确认包ACK(ACK=k+1),此包发送完毕,客户端A和服务器B进入ESTABLISHED状态,完成三次握手。

直接双击一条服务器端的数据流进行分析
分析情况见下图
在这里插入图片描述

可以看到使用ipv4协议,版本号为4
TTL为128,通讯协议为TCP
IP头长度为20
源地址和目的地址ip:127.0.0.1
信息总长度40,源端口5000(服务端),目的地端口49848(客户端)

再点击一条客户端的数据流进行分析
在这里插入图片描述

可以看到使用ipv4协议,版本号为4
TTL为128,通讯协议为TCP
IP头长度为20
源地址和目的地址ip:127.0.0.1
信息总长度70,源端口49898(客户端),目的地端口5000(服务端)


2、对UDP协议进行分析

(1)(2)步与上面差不多大致相同,输出的文件改成UDPdump.pcap即可
(3)进行调试,打开客户端和服务端,客户端发送消息,服务端就会接收到消息

客户端:发送消息后收到响应,统计发送的次数
在这里插入图片描述
在这里插入图片描述
服务端:接收到客户端发来的消息,并显示发送的数据
在这里插入图片描述

(4)上述步骤完成后,同样切换到cmd界面,此时我们看到packets的数量发生变化,此时我们按Ctrl+C终止程序(不要点右上角×号),在工具目录下就会生成一个UDPdump.pcap文件,我们用WireShark打开

在这里插入图片描述

(5)但这里我们要找UDP协议的通讯,所以使用过滤器 udp.stream eq 0,之后显示UDP通讯的数据,或者随便找一个TCP流,右键“追踪流”–“追踪TCP流”,一个流一个流的查找即可,这里显示过滤后和追踪的结果

过滤后结果
在这里插入图片描述

追踪后结果
注:若数据流有中文,则将“显示和保存数据为”那一栏改为utf-8,不然无法显示中文数据,在这里我们看到客户端发送的消息是蓝色背景,服务端发送的消息是红色背景,点击可查看对应信息的数据流情况。
在这里插入图片描述

(6)对数据流进行分析

直接双击一条服务器端的数据流进行分析
分析情况见下图
在这里插入图片描述

可以看到使用ipv4协议,版本号为4
可以看到使用ipv4协议,版本号为4
TTL为128,通讯协议为UDP
IP头长度为20
源地址和目的地址ip:127.0.0.1
信息总长度49,源端口5000(服务端),目的地端口10000(客户端),数据长度21

再点击一条客户端的数据流进行分析
在这里插入图片描述

可以看到使用ipv4协议,版本号为4
TTL为128,通讯协议为UDP
IP头长度为20
源地址和目的地址ip:127.0.0.1
信息长度44,源端口10000(客户端),目的地端口5000(服务端),数据长度16

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-12-08 14:09:52  更:2021-12-08 14:11:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年7日历 -2024/7/8 12:18:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码