网络协议分析(最全)

article/2025/10/16 8:33:44

网络协议分析

1.基于Fiddler的HTTP/HTTPS协议分析

关于Fiddler:
     Fiddler是一款由C#开发的免费http调试代理软件,有.net 2和.net 4两种版本。Fiddler能够记录所有的电脑和互联网之间的http通讯,Fiddler 可以也可以检查所有的http通讯,设置断点,以及Fiddle 所有的“进出”的数据。

优点:

a.Firebug虽然可以抓包,但是对于分析http请求的详细信息,不够强大。模拟http请求的功能也不够,且firebug常常是需要“无刷新修改”,如果刷新了页面,所有的修改都不会保存;
b.Wireshark是通用的抓包工具,但是比较庞大,对于只需要抓取http请求的应用来说,似乎有些大材小用。且Wireshark无法解密HTTPS故而选择使用fiddler来对HTTP协议进行分析;
c.Httpwatch也是比较常用的http抓包工具,但是只支持IE和firefox浏览器(其他浏览器可能会有相应的插件),对于想要调试chrome浏览器的http请求,似乎稍显无力,而Fiddler2 是一个使用本地 127.0.0.1:8888 的 HTTP 代理,任何能够设置 HTTP 代理为 127.0.0.1:8888 的浏览器和应用程序都可以使用 Fiddler。

这里为体现个人特色,选择在本地服务器运行观察抓包结果,如图:
图片描述

    实际上,Wireshark抓不到本地服务器发送报文,这也是Fiddler更利于开发调试的原因之一。
HTTP协议分析(1):由于之前本地测试过,所以第一次抓到的包返回的状态码是304,清除缓存后变为正常的200,图中我们可以看到返回的数据:“谭继臻FiddlerHTTP协议测试”,这里我们通过请求头报文可以看到请求站点(localhost:81),请求方式(XMLHttpReQuest)等信息。由于Fiddler只能抓到HTTP/HTTPS的包,关于HTTP协议的深入分析我们使用Wireshark进行。、

2.基于Wireshark的TCP/HTTP协议深入分析

关于Wireshark:
    Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
优点:

a.使用操作非常简单,对于初级和中级网络学习者来说是一款完美的抓包软件。
b.有很多小工具和小技巧可以帮助我们更快更好的了解网络,例如filter,expression,statistics等等。
c.界面设计很简洁,给使用者一种非常清新的感觉。
d.与Fiddler相比可抓取的包更广,更多,并且软件开源,用着放心。

实例分析TCP三次握手过程:

这里我们打开哔哩哔哩网站首页观察抓包情况(http://www.bilibili.com/);

  • 第一次握手数据包

    客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接。如下图:
第一次握手

  • 第二次握手的数据包

    服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即0+1=1, 如下图:
第二次握手

  • 第三次握手的数据包

    客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1,如下图:
第三次握手
    就这样通过了TCP三次握手,建立了连接,三次握手基本结束,开始真正的数据传送阶段:
建立了三次握手后,我们就开始利用这个链接来传送信息了。下面我们看看经过三次握手后的第四个TCP报文段。这是服务器返回来的报文段:
图片描述

    我们惊奇的发现服务器返回了ack=557,即请求第557Byte的数据,而这557Bytes是什么时候发出去的呢,我们想到了在第三次握手的时候,客户端发送的TCP是能够携带数据的。怎么验证是否携带了557Bytes数据呢,我们想到了HTTP协议封装的报文,我们来验证一下是否是557Bytes,打开HTTP协议如下:

图片描述

    我们看到,HTTP协议封装的报文,长度为Bytes in flight:556。表示已经发送了557Bytes,所以,服务器理应返回一个ack=554的确认,以表示接收到了556Bytes以前的数据,希望接受557bytes以及以后的数据。而上面的第四个报文也正是这么做的。
服务端返回了ack=557之后,服务端没有继续停下,而是继续向客户端发送了两个报文段。我们来看下第五、六个报文段:

图片描述
    第五个报文段发送了seq=557,ack=1203告诉服务端,请求你的1203数据,我这是第557个数据。发完后服务端又发送了第六个报文,如下:

图片描述

    服务端发送了seq=1113,ack=2400,这表示:我请求第2400Bytes,这是我的第1113Bytes,这个报文之后,服务端会继续给客户端传送数据,这里就不一一列出了。

断开连接:
断开连接时,要发送FIN=1,并且对方要回复ACK=1。我们来看下截取的报文段。

图片描述

    我们看到FIN=1。

图片描述

返回了ACK=1,结束连接。

    到这里HTTP协议就算分析结束了,我们可以看到HTTP传输数据确实是靠TCP协议来完成的,由于哔哩哔哩网站内容很多,所以看起来很乱…这点没有考虑周全。

3.使用Wireshark分析ARP协议

    在显示筛选编辑框中输入“arp”,回车,分组列表窗口将只显示ARP消息。点击第一行查看具体数据:

图片描述

可以看出硬件类型(hardware type)是以太网(1),协议类型(protocol type)为0x0800,表示使用ARP的协议类型为IPV4。硬件地址长度(hardware size)为6。协议地址长度(protocol size)为4。
发送方硬件地址(sender MAC address):bc:30:7d:97:c8:08
发送方协议地址(Sender IP address):192.168.1.5
目的硬件地址(target MAC address)为00:00:00:00:00:00,表示是广播地址。
目的协议地址(target IP address)为192.168.1.1,定义目的设备的协议地址。

4.使用Wireshark分析ICMP协议

    在cmder(也可以是一般的命令行窗口)中以www.damonare.cn(个人网站)为目标主机,在命令行窗口执行Ping命令,要求ping通10次;

图片描述

    停止截获报文,抓包结果:(只显示ping的数据包)
在显示筛选编辑框中输入“icmpv6”,回车,分组列表窗口将只显示icmp消息。点击第一行查看具体数据:

图片描述

5.使用Wireshark分析IP协议

在显示筛选编辑框中输入“ip”,回车,分组列表窗口将只显示IP消息。选取一个有IP协议的数据报:

图片描述


http://chatgpt.dhexx.cn/article/pacl1vJg.shtml

相关文章

网络协议分析工具

抓包工具的作用 网络协议抓包工具主要用于对网络协议的数据包进行捕获,捕获后亦可通过其对数据包的结构及其封装内容进行分析查看,以便了解数据包在网络传输时的状态,进而为学习数据包结构和故障排除积累素材。 作用 对网络协议的数据包进…

使用网络协议分析仪Wireshark

环境 操作系统:运行Win10操作系统的PC一台 网络平台:以太网 机器的IP地址:IPv4:xxxxxxxxxxxx 实验目的 1)能够正确安装配置网络协议分析仪Wireshark 2)熟悉使用Wireshark分析网络协议的基本方法 3)加深对协议格式、协议层次…

<计算机网络>网络分析仪分析协议

网络分析仪分析协议 1.捕获FTP数据包分析TCP/IP数据报格式。 据捕获到的FTP数据包中的数据,分析TCP/IP协议头及以太网帧头。 2.根据实验数据分析TCP/IP连接的三次握手及四次挥手的情况 使用软件 Wrieshark 1. Display Filter(显示过滤器), 用于过滤 2. P…

网络协议分析

根据期末考试考点,我把知识点做了一下梳理,仅供参考!!! 记录一下。 文章目录 网络协议分析第一章 TCP/IP概述1.1网络互连与TCP/IP1.1.1 用IP实现异构互联网络1.1.2 TCP/IP协议族的引入 1.2 网络协议分层1.2.1 通用的协…

计算机网络实验——使用网络协议分析仪Wireshark

计算机网络实验——使用网络协议分析仪Wireshark 一、实验名称 使用网络协议分析仪Wireshark 二、实验目的: 掌握安装和配置网络协议分析仪Wireshark的方法;熟悉使用Wireshark工具分析网络协议的基本方法,加深对协议格式、协议层次和协议交…

网络协议分析仪tcpdump和wireshark使用

网络协议分析仪 网络协议分析仪介绍命令行抓包工具:tcpdumptcpdump工具使用tcpdump表达式tcpdump应用示例 图形界面网络分析仪:wiresharkwireshark工具使用wireshark捕获数据分析wireshark窗口介绍wireshark过滤规则 网络协议分析仪介绍 网络协议分析仪…

总结各种物体检测算法

第一,覆盖所有基于区域的目标检测算法,包括:Fast RCNN, Faster-RCNN, Mask RCNN, R-FCN, FPN. 第二, 介绍SSD算法(single shoot detectors) 第三,介绍所有算法的表现和实现细节。 Part1 我们…

深度学习和目标检测系列教程 13-300:YOLO 物体检测算法

Author:Runsen YOLO,是目前速度更快的物体检测算法之一。虽然它不再是最准确的物体检测算法,但当您需要实时检测时,它是一个非常好的选择,而不会损失太多的准确性。 YOLO 框架 在本篇博客中,我将介绍 YO…

3D物体检测(一)

title: 3D物体检测(一) date: 2020-02-21 16:40:40 categories: 3D物体检测 tags:3D物体检测点云 总结一下在bilibili上看到的基于点云场景的三维物体检测算法及应用,有兴趣的也可以去看看这个视频。 这一部分主要总结一下,结合雷达点云数据和相机采集的二维图像数…

OpenCV-Python视频分析(移动物体检测,物体追踪)

1.概述 该文章介绍OpenCV-Python中关于视频分析的两个主要内容,分别为: 🐟背景差分法移动物体检测🐟Meanshift和Camshift算法物体追踪 PS:视频分析还要一个重要的内容:光流法运动轨迹绘制,在…

百度EasyDL物体检测在安卓上测试

EasyDL:EasyDL定制化模型 1.创建模型。 2.创建数据集,上传图片。 3.标注图片 。 4.训练数据 5.发布模型 6.APP部署测试 7.APP上测试

基于OpenCV实战:动态物体检测

点击上方“小白学视觉”,选择加"星标"或“置顶” 重磅干货,第一时间送达最近,闭路电视安全系统运行着多种算法来确保安全,例如面部识别,物体检测,盗窃检测,火灾警报等。我们在运动检测…

【opencv学习】【运动物体检测】

今天学习运动物体检测 一:帧差法 捕获摄像头的运动的手 import cv2 import numpy as np# 如果我们想捕获一些运动的物体,每一帧图像中,不动的部分称之为背景,运动的物体称之为前景 # 假如我们的视频捕捉窗口是不动的,…

K210物体检测(利用Maixpy、在线模型训练、串口通信)

无论从性能还是价格上,K210都给我带来了很多惊喜。搭载了Maixpy的K210开发非常便利,加上Maixhub的加持,使得K210的生态更加完善。Maixpy完全兼容openmv,在拥有openmv的基础上,短时间内就可以上手K210。 目录 前言一、烧…

小样本物体检测

Few-shot Object Detection via Feature Reweighting(MetaYOLO) 出发点:不同属性以不同的权重组合,可以定义一个类别,所以检测特征是否属于某一类,只要检测特征对属性的响应度就可以。特征 —> 属性 —…

自动驾驶:MOD 移动物体检测概述

MOD全称为Moving Object Detection,中文“移动物体检测”。主要的作用是泊车时,周围有人或物体经过探测区域被检测到给驾驶员声音和视觉提醒。 以NISSAN MOD为例说明下基于环视相机的MOD系统: nissan 官网:​​​​​​Moving O…

UGUI射线检测与普通物体检测

UGUI物体检测与普通物体检测有所不同(UGUI射线检测已经被封装好): 1.Graphic Raycaster 主要用于UI上的射线检测,挂有这个组件的物体,必须要挂上Canvas这个组件(当挂上Graphic Raycaster时Canvas也会自动挂上)。 Ig…

多物体检测 RCNN

基于R-CNN的物体检测 原文地址:http://blog.csdn.net/hjimce/article/details/50187029 作者:hjimce 一、相关理论 本篇博文主要讲解2014年CVPR上的经典paper:《Rich feature hierarchies for Accurate Object Detection and Segmentation》…

自动驾驶感知——激光雷达物体检测算法

文章目录 1. 基于激光雷达的物体检测1.1 物体检测的输入与输出1.2 点云数据库1.3 激光雷达物体检测算法1.3.1 点视图1.3.1.1 PointNet1.3.1.2 PointNet1.3.1.3 Point-RCNN1.3.1.4 3D-SSD1.3.1.5 总结和对比 1.3.2 俯视图1.3.2.1 VoxelNet1.3.2.2 SECOND1.3.2.3 PIXOR1.3.2.4 AF…

物体检测之YOLO系列

业界对于目标检测的热度只增不减,但目前的框架也难于逾越RCNN系列、SSD、YOLO系列这三座大山,很多新的方法也是在此基础上做一些改进,所以有必要做一些整理,方便自己后续查看,这里先对YOLO系列做一些整理。没看过文章的…