网络协议分析(结合版)

news2024/11/22 19:41:19

初始协议

1.什么是协议?
数据从源地点传输到目的地点,网络上所有设备需要“讲”相同的“语言”。
描述网络通信中如何规范使用“语言” 的一组规则就是协议。
2.数据通信协议:
决定数据的格式和数据的传输的一组规则或者一组惯例

协议分层

ARP协议

IP地址解析为MAC地址
• 主机10.1.1.1想发送数据给主机10.1.1.2,检查缓存,发现没有10.1.1.2的MAC地址
• 主机10.1.1.1发送ARP广播
• 所有主机都接收到10.1.1.1的ARP广播,但只有10.1.1.2给它一个单播回复,并缓存10.1.1.1的MAC地址
• 主机10.1.1.1将10.1.1.2的MAC地址保存到缓存中,发送数据

RARP协议

MAC地址解析为IP地址
• 主机A需要一个IP地址,发送ARP广播
• 主机10.1.1.254是分配IP地址的Server,它将给A一个回复

代理ARP工作原理

IP地址解析为网关的接口MAC地址
• 主机10.1.1.1需要给不在同一网段的主机172.16.1.1发送数据,但是不知道它的MAC地址,因此发送ARP广播

代理ARP工作理2-2

IP地址解析为网关的接口MAC地址
• 网关10.1.1.254给10.1.1.1一个单播回复,将自己的接口MAC地
址告诉给10.1.1.1

ICMP协议

• ICMP消息通过IP数据报传送,被用来发送错误和控制信息。
• ICMP定义了很多信息类型,例如:
目的地不可达、TTL 超时、信息请求、信息应答、地址请求、地址应答

SMTP与POP3协议

SMTP
• Simple Mail Transfer Protocol-简单邮件传输协议
• 用于发送和接收邮件
• 端口号25
POP3
• Post Office Protocol v3-邮局协议版本3
• 用于客户端接收邮件
• 端口号110

Telnet协议

Telnet
• Terminal Network
• 用于文本方式远程管理计算机或路由器等网络设备
• 端口号为TCP的23
• 在主机上操作
开始-运行-cmd
telnet 10.1.1.1

FTP协议

FTP
• File Transfer Protocol-文件传输协议
• 用于传输文件
• 端口号为TCP的21和20

传输层的协议

TCP(Transmission Control Protocol)
• 传输控制协议
• 可靠的、面向连接的协议
• 传输效率低
UDP(User Datagram Protocol)
• 用户数据报协议
• 不可靠的、无连接的服务
• 传输效率高

 

HTTP协议解析

WEB浏览器与WEB服务器之间的一问一答的交互过程必须遵循一定的规则,这个规则就是
HTTP协议。
l HTTP指超文本传输协议,它是TCP/IP协议集中的一个 应用层 协议,用于定义WEB浏览器与
WEB服务器之间交换数据的过程以及数据本身的格式。
常见Web服务器组件
网站简单区分,可以分为静态网站和动态网站,动态网站可以使用脚本语言进行计算,
而一个动态网站,一般由操作系统搭载Web应用程序,然后联动数据库一起构成,一
般我们把搭载了Web应用的计算器,称之为Web服务器

HTTP请求报文

• Host
Host请求头主要用于指定被请求资源的Internet主机和端口号,它通常从HTTP URL中提取出来的。
Host:localhost
Host:localhost:8080
• User-Agent:
作用:告诉HTTP服务器, 客户端使用的操作系统、浏览器的名称和版本
• Accept:
作用:浏览器可以接受的媒体类型(MIME类型)
• Cookie:
作用: WEB服务器通过在HTTP响应消息中增加Set-Cookie响应头字段,将 Cookie信息发送给浏览器,
浏览器则通过在HTTP请求消息中增加 Cookie请求头字段将Cookie回传给WEB服务器。
• Referer:
作用: 提供了Request的上下文信息的服务器,告诉服务器我是从哪个链接过来的。
例如:
Host:translate.google.cn
Referer:http://google.cn/?hl=zh-cn&tab=wT
说明我是从http://google.cn/?hl=zh-cn&tab=wT来到translate.google.cn的
HTTP请求方法:
• 请求方法---GET
※ GET请求格式:
<访问路径>[?<arg1>=<value1>[&<arg2>=<value2>....]]
例子: http://site1.com/get.php
※ GET请求,可以不包含任何数据,只有请求头,没有请求数据。
※ GET请求也可以带需要传递的数据,在访问路径之后带问号(?)+参数=值的方式发送。
• 请求方法---POST
POST请求是包含数据的,请求数据的格式,可以在HTTP头 Content-Type 中定义。
格式一般会有:
※表单格式:application/x-www-form-urlencoded
※混合格式:multipart/form-data
※JSON格式:application/json
※XML格式:text/xml
※文本:text/plain
表单格式:
与get方式类似,是把所有提交数据放在数据区域。
混合格式:
※文件上传时,可以接受同时提交不同类型的数据
※类型后面一般会跟boundary来告知数据区域分隔符
※每个数据都可以单独说明数据类型
※获取文件时,可以使用相应参数,如
PHP代码如下:
$_FILES["file"]["name"] - 文件名
$_FILES["file"]["type"] - 类型
$_FILES["file"]["size"] - 文件大小
$_FILES["file"]["tmp_name"] - 临时文件路径

 

• 请求方法---HEAD
HEAD请求就是返回只有头部数据,数据部分不返回内容。返回的内容基本上与GET,POST
的返回头一致。
• 请求方法---OPTIONS
OPTIONS请求,默认情况下会返回服务器允许的请求类型:
Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type,
AcceptAccess-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONSAccess
Control-Allow-Credentials: true
• 请求方法---PUT/DELETE
PUT:在特定目录里上传指定文件,文件名在url中设置。
DELETE:删除特定目录里的文件,文件名在url中设置。

HTTP响应

• Location:
作用:Location响应报头用于重定向接受者到一个新的位置。
• Server:
作用:Server 响应报头域包含了服务器用来处理请求的软件信息及其版本。它
和 User-Agent 请求报头域是相对应的,前者发送服务器端软件的信息,后者
发送客户端软件(浏览器)和操作系统的信息。
• Content-Type:
作用:用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什
么编码读取这个文件。
• Set-Cookie:
设置和页面关联的Cookie。
HTTP状态码
• HTTP状态码的作用是:Web服务器用来告诉客户端,发生了什么事。
• HTTP状态码被分为五大类, 目前我们使用的HTTP协议版本1.1, 支持以下的状态码。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/606753.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

chatgpt赋能python:Python升降序排列数字

Python升降序排列数字 在Python编程中&#xff0c;排序是一个非常常见并且重要的操作。Python提供了多种排序算法以满足不同的需求。 排序算法 Python中内置的排序算法有两种&#xff1a;Timsort和Quicksort。其中Timsort是一种混合排序算法&#xff0c;结合了插入排序和归并…

使用OpenAI创建对话式聊天机器人

引言 在当今的技术世界中&#xff0c;人工智能&#xff08;AI&#xff09;的发展迅猛&#xff0c;为我们带来了许多令人兴奋的创新。其中&#xff0c;自然语言处理&#xff08;NLP&#xff09;领域的进展使得开发对话式聊天机器人成为可能。OpenAI是一家领先的人工智能研究实验…

【极海APM32F4xx Tiny】学习笔记04-移植FreeRTOS

4.移植FreeRTOS 程序移植的代码&#xff1a; 移植方法和stm32一样的哦 模板工程 https://download.csdn.net/download/u010261063/87615750 1. 在工程下建议FreeRTOS文件夹 在FreeRTOS文件夹下建立 src , port include 文件夹 &#xff08;src用于存放freertos源码&#xf…

2023/06/02 软件PM入门学习(一)

视频参考地址&#xff1a; B站闫波软件项目管理视频学习. 视频资源&#xff1a;video P1-P2 本文重点&#xff1a;&#xff08;软件&#xff09;项目管理定义、PMBOK十大领域及五大标准化过程 简书日更计划同步记录&#x1f3c3;… 项目管理 定义 一系列随着项目的进行而进行…

八大排序算法归纳

1、排序 排序&#xff1a;所谓排序就是使一连串记录&#xff0c;按照其中某个或某个关键字的大小&#xff0c;递增或递减的排列起来的操作。 稳定性&#xff1a;假定在待排序记录序列中存在有多个具有相同关键字的记录&#xff0c;若经过排序这些记录的相对次序保持不变&…

chatgpt赋能python:Python单元格间跳转超链接的重要性

Python单元格间跳转超链接的重要性 Python是一种高度流行的编程语言&#xff0c;它能够在各种领域得到广泛应用。作为一个Python工程师&#xff0c;单元格间跳转超链接是非常重要的。超链接是指一种指向另一个页面或目标的网页链接。在Python编程中&#xff0c;单元格间跳转超…

chatgpt赋能python:Python中的变量匹配技巧

Python中的变量匹配技巧 在Python编程中&#xff0c;匹配变量是一项非常重要的技巧。通过合理地匹配变量&#xff0c;我们可以快速地在代码中定位到具体的变量&#xff0c;提高代码的可读性和可维护性。 在本文中&#xff0c;我们将介绍Python中的一些变量匹配技巧&#xff0…

学成在线----day1

1、详细说说你的项目吧 从以下几个方面进行项目介绍&#xff1a; 1、项目的背景&#xff0c;包括&#xff1a;是自研还是外包、什么业务、服务的客户群是谁、谁去运营等问题。 2、项目的业务流程 3、项目的功能模块 4、项目的技术架构 5、个人工作职责 6、个人负责模块的详细…

【网路编程】UDP协议及UDP小练习之聊天室

目录 一、InetAddress类的使用 二、UDP协议之发送数据&#xff08;单播&#xff09; 三、UDP协议之接收数据 四、UDP小练习之聊天室 五、UDP之单播、组播、广播 &#xff08;一&#xff09;组播之发送数据、接收数据 &#xff08;二&#xff09;广播之发送数据、接收数据…

工业相机丢包排查步骤

机器视觉康耐视智能相机Insight-缺失外观检测 第一步:检查PC环境设置 l巨型帧/巨帧数据包是否已经设置成9KB,巨型帧在“本地连接->属性->配置->高级”的界面中 效果验证:如之前未配置9KB,请配置9KB后验证效果 l请确认现场电脑上是否有360安全卫士、360杀毒软件等…

软考A计划-电子商务设计师-电子商务系统规划

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分享&am…

皮卡丘暴力破解

1.基于表单的暴力破解 随便输个账号和密码&#xff0c;用bp抓包 点击Action发送到Intruder,选中要爆破的位置 加入字典&#xff08;字典需下载&#xff09; 点击“Start attack”&#xff0c;开始爆破 发现这行长度和其他不一样&#xff0c;admin即为用户名&#xff0c;123456即…

033:Mapbox GL变换地图底图语言

第033个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+mapbox中变换地图底图的语言。 直接复制下面的 vue+mapbox源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例源代码(共74行)安装插件相关API参考:专栏目标示例效果 配置方式 1)查看基础设置:…

华为芯片基地旁,龙华科技小镇大水坑片区城市更新单元旧改项目

项目位置&#xff1a;龙华观澜大水坑社区&#xff0c;位于梅观创新走廊九龙山产学研片区内 占地面积&#xff1a;总面积198万平方米&#xff0c;其中项目第一期60万平米开 发 商&#xff1a; 华润集团申报主体&#xff1a;华润置地项目&#xff1a;龙华科技小镇大水坑片区城市…

chatgpt赋能python:Python排序——让列表按大小排列

Python排序——让列表按大小排列 在Python编程的世界中&#xff0c;排序是一个非常重要的事情。不论是处理数据&#xff0c;还是进行各种算法实现&#xff0c;都需要将元素按照一定的方式排列。 而其中最常见的排序方式之一便是升序排序。升序排序顾名思义&#xff0c;就是将…

Leetcode 56 合并区间

Leetcode 56 合并区间 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode.cn/problems/merge-intervals/description 博主Github&#xff1a;https://github.com/GDUT-Rp/LeetCode 题目&#xff1a; 以数组 intervals 表示若干个区间…

chatgpt赋能python:Python升序排序sort:让你的数据更易管理

Python升序排序sort&#xff1a;让你的数据更易管理 如果你是一位熟练的Python开发人员&#xff0c;你肯定听说过Python内置的sort()函数。这个函数是用来对列表、元组和可迭代对象进行排序的。 在本篇文章中&#xff0c;我们将着重介绍升序排序&#xff0c;探讨sort()函数的…

文件上传、MD5加密与验证码的功能实现

UUID工具类 1.概述&#xff1a;UUID 是通用唯一识别码&#xff08;Universally Unique Identifier&#xff09;的缩写。UUID 让分布式系统中的所有元素&#xff0c;都能有唯一的辨识信息&#xff0c;而不需要通过中央控制端来做辨识信息的指定。 是一个软件建构的标准&#x…

权限管理与jwt鉴权

权限管理与jwt鉴权 学习目标&#xff1a; 理解权限管理的需求以及设计思路实现角色分配和权限分配 理解常见的认证机制 能够使用JWT完成微服务Token签发与验证 权限管理 需求分析 完成权限&#xff08;菜单&#xff0c;按钮&#xff08;权限点&#xff09;&#xff0c;A…

【5.26 代随_38day】 动态规划基础理论、斐波那契数、爬楼梯、使用最小花费爬楼梯

动态规划基础理论、斐波那契数、爬楼梯、使用最小花费爬楼梯 动态规划基础理论1.动态规划的五部曲 斐波那契数1.动态规划的方法代码 爬楼梯图解步骤代码 使用最小花费爬楼梯图解步骤代码 动态规划基础理论 视频连接&#xff1a;动态规划解题方法论大曝光 &#xff01;| 理论基…