前期准备:

  • 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

【计算机网络】利用WireShark分析TCP/UDP协议相关推荐

  1. 计算机网络实验二抓包协议分析,计算机网络实验-使用Wireshark分析TCP和UDP协议...

    <计算机网络实验-使用Wireshark分析TCP和UDP协议>由会员分享,可在线阅读,更多相关<计算机网络实验-使用Wireshark分析TCP和UDP协议(6页珍藏版)>请 ...

  2. 【计算机网络】传输层 : 总结 ( TCP / UDP 协议 | 寻址与端口 | UDP 协议 | TCP 协议特点 | TCP 连接释放 | TCP 流量控制 | TCP 拥塞控制 ) ★★★

    文章目录 一.传输层 TCP / UDP 协议 ★ 二.寻址端口号 ★ 三.UDP 协议特点 四.UDP 协议首部格式 五.UDP 校验 六.TCP 协议 特点 ★ 七.TCP 报文段首部格式 八.T ...

  3. 如何利用wireshark对TCP消息进行分析

    原文:https://www.cnblogs.com/studyofadeerlet/p/7485298.html 如何利用wireshark对TCP消息进行分析 (1) 几个概念介绍 1 seq:数 ...

  4. wireshark分析tcp协议(二)四次挥手(异常情况)【理论 + 实操】

    上一章:wireshark分析tcp协议(一)三次握手[理论 + 实操] 在完成对三次握手的抓包后,间隔了一段时间,来进行四次挥手的抓包. 知识背景 问题一:为什么要四次挥手呢? 在上一章的三次挥手中 ...

  5. 利用TCP/UDP 协议制作一个飞秋聊天工具

    视频操作演示: 利用TCP/UDP 协议制作一个飞秋聊天工具演示视频 int udp_broadcast(char const*argv[]) {//1.创建对象udp_socket = socket ...

  6. 什么是TCP/UDP协议?(超简单,一看就会)

    TCP/UDP协议做了什么? TCP/UDP协议处于计算机网络的第四层"传输层",负责传输数据包. 数据包怎么传?(UDP协议) TCP/UDP协议处于计算机网络的第四层" ...

  7. 最全的TCP/UDP 协议知识点整理

    关于计算机网络的基础知识,我前面写的两篇文章是入门文章,可以帮你构建一个计算机网络的基础架构,有了这个基础架构,后面的学习会很简单.下面是两篇文章的连接~~ 计算机网络体系结构与参考模型(1) 计算机 ...

  8. 网络层协议与应用及传输层TCP/UDP协议

    网络层协议与应用及传输层TCP/UDP协议 目录 一.IP数据包格式 二.ICMP协议 三.ARP协议及ARP工作原理 四.TCP协议及常用端口号 五.UDP协议及常用端口号 一.IP数据包格式 网络 ...

  9. QQ--基于TCP/UDP协议的通讯原理

    QQ是一个基于TCP/UDP协议的通讯软件  发送消息的时候是UDP打洞,登陆的时候使用HTTP~因为登陆服务器其实就是一个HTTP服 务器,只不过不是常用的那些,那个服务器是腾讯自行开发的!   一 ...

最新文章

  1. 《Scala机器学习》一一第3章 使用Spark和MLlib
  2. MySQL 创建用户与修改密码
  3. linux支持表情的字体,让应用程序支持emoji字符
  4. how is view embedded via component usage being initialized
  5. 高级程序员和低级程序员的区别
  6. eclipsenbsp;mavennbsp;pluginamp;n…
  7. 3.3.1网络原理数据链路层之差错控制(检错编码和纠错编码)->(奇偶校验码、CRC循环冗余码、海明码)(转载)
  8. Springmvc+mybaits 分页处理+ajax翻页
  9. Java 程序员新机必备程序清单
  10. Linus Torvalds 传记
  11. 【windows】关于修改hosts文件的解释,hosts的作用,hosts文件的位置.....
  12. python--DataFrame随机抽样
  13. 有哪些技术可以自动拨打电话
  14. 芙拉机器人_【诉说实情】芙拉2020新品女士小号斜挎包心形印花怎么样?别花冤枉钱,内幕大揭秘 | 智能扫地机器人评测...
  15. 以太网通信(1)UDP —— 数据发送
  16. 2017大数据产业链的大变化:数据应用仍在奋斗 淘金路上见曙光
  17. 微信开放平台分账功能实战(Java版)
  18. 空调噪音测试软件,空调噪音如何测试 空调噪音测试方法【详细介绍】
  19. 手把手教会你在 windows10 下安装、配置 Java JDK 14
  20. RFID家具生产管理系统解决方案

热门文章

  1. 怎么查询MySQL的安装路径?
  2. linux 文件夹同步备份,SyncToy实现本地文件夹同步备份
  3. JVM_虚拟机执行子系统
  4. IPv6报头与IPv4报头的区别
  5. 英汉小词典 java_英汉小词典 java随机存取文件流应用 version1.0
  6. 【Pytorch深度学习实践】B站up刘二大人课程笔记——目录与索引(已完结)
  7. CMake设置Visual Studio工程的调试环境变量和工作目录cwd的方法
  8. 手动实现string类的方法实现
  9. HTML+CSS3(六)——行内元素和块级元素
  10. ubuntu 源更新