常见网络协议

news2024/11/13 9:24:39

1.DNS协议  (域名系统)

DNS协议使用的端口号是53

位于OSI模型中的应用层

DNS系统的作用:将域名(网址)解析为IP地址。

DNS的基本原理是:将域名映射到IP地址

DNS工作流程

当用户给定一个域名,则某个指定的域名服务器会进行解析,若解析成功则,返回指定IP地址,否则由顶层域名服务器负责解析,顶级服务器会指定某个二级服务器,依次类推,直到得到对应的IP地址。

对百度进行访问

用抓包工具进行抓包

得到域名的IP地址

2.DHCP协议 (动态主机配置协议)

用于网络自动分配地址

DHCP服务的端口号是68和67

DHCP属于应用层协议

DHCP协议采用UDP作为传输协议,主机发送请求消息到DHCP服务器的68号端口,DHCP服务器回应应答消息给主机的67号端口

DHCP工作流程

 

3.ARP协议 (地址解析协议)

根据IP地址获取物理地址的一个TCP/IP协议

arp协议在TCP/IP模型中属于IP层(网络层),在OSI模型中属于链路层

win10 cmd中查看arp缓存表:arp -a

ARP工作流程

1.当发送方主机需要发送数据给目标主机时,会首先检查自己的ARP缓存中是否有目标主机的 MAC 地址。如果有,则直接使用该MAC地址进行通信;

2.如果ARP缓存中没有目标主机的MAC地址,发送方主机会发送个ARP 请求广播,询问网络中的所有主机:“谁知道目标主机的MAC地址?”;

3.网络中的所有主机都会接收到这个ARP请求广播,但只有目标主机会回复一个 ARP 响应,告诉发送方自己的 MAC 地址

4.发送方主机接收到目标主机的ARP 响应后,将目标主机的 MAC地址存入ARP缓存中,并使用该 MAC地址进行通信

4.Telnet协议 (远程终端协议)

明文传输协议

远程控制协议telnet端口号是23

Telnet是应用层协议

Telnet远程登录服务过程

1.本地与远程主机建立连接。该过程实际上是建立一个TCP连接,用户必须知道远程主机的IP地址或域名

2.将本地终端上输入的用户名和口令及以后输入的任何命令或字符以NVT(Net Virtual Terminal)格式传送到远程主机。该过程实际上是从本地主机向远程主机发送一个IP数据包

3.将远程主机输出的NVT格式的数据转化为本地所接受的格式送回本地终端,包括输入命令回显和命令执行结果

4.本地终端对远程主机进行撤销连接该过程是撤销一个TCP连接。

5.ftp协议 (文件传输协议)

FTP(文件传输)协议常用端口号:20用于数据连接,21用于控制连接

在TCP/IP协议族中属于应用层协议运行于TCP协议之上是一种可靠的传输协议

FTP传输文件的过程

6.ssh协议 (安全外壳协议)

SSH协议默认使用22端口

SSH协议是应用层协议,它的传输层协议是TCP

ssh建立连接的过程

1. TCP三次握手;
2. SSH协议版本协商;
3. 服务器端将公钥发送给客户端;
4. 加密算法协商;
5. 客户端使用公钥对服务器端的密码加密并发送给服务器端;
6. 服务器端收到后,用自己的私钥解密,并得到用户名和密码,验证成功则允许登录,否则需要客户端再次输入密码进行验证。

7.ICMP协议(Internet控制报文协议)ping

icmp是网络层协议 ,没有端口

ping百度并用抓包工具抓包

8.HTTP协议 (超文本传输协议)

HTTP协议端口号是80

HTTP协议属于应用层协议

 HTTP请求信息由3部分组成:

1.请求方法URI协议/版本

2.请求头(Request Header)

3.请求正文

请求方法(所有方法全为大写)有多种,各个方法的解释如下:

GET     请求获取Request-URI所标识的资源
POST    在Request-URI所标识的资源后附加新的数据
HEAD    请求获取由Request-URI所标识的资源的响应消息报头
PUT     请求服务器存储一个资源,并用Request-URI作为其标识
DELETE  请求服务器删除Request-URI所标识的资源
TRACE   请求服务器回送收到的请求信息,主要用于测试或诊断
CONNECT 保留将来使用
OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求

9.HTTPS协议 (超文本传输安全协议)

HTTPS(Hypertext Transfer Protocol Secure)协议作用在 OSI 七层网络模型的应用层(Application Layer)和传输层(Transport Layer)。

https协议默认的端口号是443

原理

1.客户端将它所支持的算法列表和一个用作产生密钥的随机数发送给服务器

2.服务器从算法列表中选择一种加密算法,并将它和一份包含服务器公用密钥的证书发送给客户端,该证书还包含了用于认证目的的服务器标识,服务器同时还提供了一个用作产生密钥的随机数

3.客户端对服务器的证书进行验证(有关验证证书,可以参考数字签名),并抽取服务器的公用密钥,然后,再产生一个称作 pre_master_secret 的随机密码串,并使用服务器的公用密钥对其进行加密并将加密后的信息发送给服务器

4.客户端与服务器端根据 pre_master_secret 以及客户端与服务器的随机数值独立计算出加密和 MAC密钥          

5.客户端将所有握手消息的 MAC 值发送给服务器

6.服务器将所有握手消息的 MAC 值发送给客户端

10.tftp协议(简单文件传输协议)

端口号为69,tftp是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议

TFTP协议与FTP协议的不同点

1)TFTP协议不需要验证客户端的权限,FTP需要进行客户端验证;

2)TFTP协议一般多用于局域网以及远程UNIX计算机中,而常见的FTP协议则多用于互联网中;

3)FTP客户与服务器间的通信使用TCP,而TFTP客户与服务器间的通信使用的是UDP;

4)TFTP只支持文件传输。也就是说,TFTP不支持交互,而且没有一个庞大的命令集。最为重要的是,TFTP不允许用户列出目录内容或者与服务器协商来决定哪些是可得到的文件。

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

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

相关文章

实验笔记之——服务器链接

最近需要做NeRF相关的开发,需要用到GPU,本博文记录本人配置服务器远程链接的过程,本博文仅供本人学习记录用~ 连上服务器 首先先确保环境是HKU的网络环境(HKU AnyConnect也可)。伙伴已经帮忙创建好用户(第一次登录会提示重新设置密码)。用cmd ssh链接ssh -p 60001 <u…

综合跨平台全端ui自动化测试框架Airtest——AirtestIDE录制微信小程序脚本教学

前言 有在自动化测试领域的小伙伴应该都知道&#xff0c;app和小程序自动化这一类的自动化测试在实际操作中有时候很棘手让人心烦&#xff0c;动不动就是用appium写代码脚本维护什么的&#xff0c;不仅步骤繁琐&#xff0c;环境配置方面也是繁琐无比&#xff0c;动不动就与客户…

【操作系统xv6】学习记录5--实验1 Lab: Xv6 and Unix utilities

ref:https://pdos.csail.mit.edu/6.828/2020/xv6.html 实验&#xff1a;Lab: Xv6 and Unix utilities 环境搭建 实验环境搭建&#xff1a;https://blog.csdn.net/qq_45512097/article/details/126741793 搭建了1天&#xff0c;大家自求多福吧&#xff0c;哎。~搞环境真是折磨…

前端push.js桌面通知库

push.js 官网&#xff1a;https://pushjs.org/ 安装 1,npm 安装方式 npm install push.js --save 2,script引入方式 <script src"https://cdnjs.cloudflare.com/ajax/libs/push.js/0.0.11/push.min.js"></script> 使用 1&#xff0c;获取用户许可…

UnityRenderStreaming使用记录(二)

记录一下发现的问题 1、网页经常出现一直转但是不出现播放按钮的问题 检查发现有几个js文件从外网加载&#xff0c;速度太慢导致的&#xff0c;下载到本地&#xff0c;重新打包webserver.exe就可以了 比如Receiver Sampled的网页在UnityRenderStreaming\WebApp\client\public…

elect函数可以设置等待时间,

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;贝叶斯滤波与Kalman估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能&#xff0c…

Mybatis-Plus乐观锁配置使用流程【OptimisticLockerInnerInterceptor】

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家:人工智能学习网站 1.乐观锁实现 1.配置插件 1.XML方式 <bean class"com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerI…

el-table表格动态添加列。多组数据拼接和多层级数据的处理

提示&#xff1a;el-table表格动态添加列 文章目录 前言一、多组数据拼接二、多层级处理三、实际应用中&#xff0c;为避免闪屏&#xff0c;可以表格数据统一渲染总结 前言 需求&#xff1a;富文本编辑器 一、多组数据拼接 <template><div class"test">…

【langchain】入门初探实战笔记(Chain, Retrieve, Memory, Agent)

1. 简介 1.1 大语言模型技术栈 大语言模型技术栈由四个主要部分组成&#xff1a; 数据预处理流程&#xff08;data preprocessing pipeline&#xff09;嵌入端点&#xff08;embeddings endpoint &#xff09;向量存储&#xff08;vector store&#xff09;LLM 终端&#xff…

mac环境下安装部署mysql5.7

下载安装包 进入官网下载MySQL5.7的安装包 https://www.mysql.com/downloads/ 安装包下载完成后双击pkg文件进行安装&#xff0c;无脑点下一步即可&#xff0c;注意安装完成后记得保存最后弹出框的密码 进入系统偏好设置&#xff0c;找到mysql&#xff0c;开启mysql服务…

人工智能教程(四):概率论入门

目录 前言 TensorFlow 入门 SymPy 入门 概率论入门 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。 点击跳转到网站 在本系列的 上一篇文章 中&#xff0c;我们进一步讨论了矩阵和线性代数&#…

macbook录屏快捷键大全,教你快速录制视频

“有人知道macbook电脑有录屏快捷键吗&#xff0c;现在录屏的速度太慢了&#xff0c;每次打开都要浪费不少时间&#xff0c;要是有录屏快捷键&#xff0c;应该会快很多&#xff0c;有哪位大佬知道吗&#xff1f;教教我&#xff01;” 无论是在工作还是生活中&#xff0c;电脑已…

安卓Android Studio读写FM1208CPU卡源码

本示例使用的发卡器&#xff1a;https://item.taobao.com/item.htm?spma1z10.5-c-s.w4002-21818769070.11.6c46789elLwMzv&id615391857885 <?xml version"1.0" encoding"utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout x…

redis复习笔记02(小滴课堂)

分布式缓存Redis6常见核心配置讲解 查看配置文件&#xff1a; 创建配置文件&#xff1a; 配置完我们去验证一下&#xff1a; 启动成功就没有问题了。 可以看到redis日志。 然后我们就可以连接我们的redis了&#xff1a; 设置了密码就需要密码登录了。 如果登录了错误的密码也无…

C/C++汇编学习(二)——学习使用IDA pro

学习使用IDA Pro是一项很有价值的技能&#xff0c;特别是对于那些对逆向工程和软件安全分析感兴趣的人。以下是一些基本步骤和概念&#xff0c;帮助你熟悉IDA Pro的界面和操作。 1. 熟悉IDA Pro界面和基本操作 主界面布局 IDA Pro的主界面包含多个组件&#xff0c;每个组件都…

静态网页设计——个人简介网站

前言 使用经典前端三件套HTMLCSSJavascript编写了一个关于个人简介的静态网页&#xff0c;可以根据自己的需要&#xff0c;十分简单的进行修改。 首页 首页由上方的菜单栏以及菜单栏下面的轮播图组成&#xff0c;再往下走&#xff0c;是关于自己的兴趣爱好的部分&#xff0c…

UG/NX许可证使用效率提升新技术

UG/NX许可证使用效率提升新技术 UG&#xff08;Unigraphics NX&#xff09;是Siemens PLM Software公司出品的一个产品工程解决方案&#xff0c;它为用户的产品设计及加工过程提供了数字化造型和验证手段。近年来随着国家对知识产品保护的不断加强&#xff0c;以前使用盗版软件…

vue3+Ts+Hook的方式实现商城核心功能sku选择器

前言 Hooks是React等函数式编程框架中非常受欢迎的工具&#xff0c;随着VUE3 Composition API 函数式编程风格的推出&#xff0c;现在也受到越来越多VUE3开发者的青睐&#xff0c;它让开发者的代码具有更高的复用度且更加清晰、易于维护。 本文将通过CRMEB商城商品详情sku选择…

Bee的批量插入与事务使用

* Bee 在2.2之前,调用批量插入在每个批都会提交commit,但在2.2改为只调用一次且在事务中,在批量插入的方法内容不再提交,而由事务控制. * * 2.2之前,批量插入使用每一个批次提交一次事务; * 这样,当违反主键约束等就忽略的大批量插入效率是很高的; * 但当事务中有批量插…

Golang Leetcode19 删除链表的倒数第N个节点 递归 双指针法+迭代

删除链表的倒数第N个节点 leetcode19 递归 由于本体是倒数第几个节点&#xff0c;非常适合递归 从终到始 的运行方式 func removeNthFromEnd(head *ListNode, n int) *ListNode {// 创建一个虚拟头节点&#xff0c;简化边界条件处理dummy : &ListNode{Next: head}//检查…