常见网络协议

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.hqwc.cn/news/319026.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux磁盘管理与文件系统

目录 前言 一、磁盘基础 1、磁盘的物理结构 2、磁盘的数据结构 3、磁盘存储容量 4、硬盘接口类型 二、磁盘分区 1、磁盘分区的优缺点 2、磁盘两种分区方式 2.1 MBR分区 2.2 GPT分区(了解) 三、管理磁盘分区的工具 1、fdisk 2、blkid 3、free 4、mkfs 5、mkswa…

GitHub上的15000个Go模块存储库易受劫持攻击

内容概要: 目前研究发现,GitHub上超过15000个Go模块存储库容易受到一种名为“重新劫持”的攻击。 由于GitHub用户名的更改会造成9000多个存储库容易被重新劫持,同时因为帐户删除,会对6000多个存储库造成重新劫持的危机。目前统计…

Spark二、Spark技术栈之Spark Core

Spark Core spark核心:包括RDD、RDD算子、RDD的持久化/缓存、累加器和广播变量 学习链接:https://mp.weixin.qq.com/s/caCk3mM5iXy0FaXCLkDwYQ 一、 RDD 1.1 为什么要有RDD 在许多迭代式算法(比如机器学习、图算法等)和交互式数据挖掘中,…

系列五、搭建Naco(集群版)

一、搭建Naco(集群版) 1.1、前置说明 (1)64位Red Hat7 Linux 系统; (2)64位JDK1.8;备注:如果没有安装JDK,请参考【系列二、Linux中安装JDK】 (3&…

《绝地求生》改名卡快速获得方法 绝地求生改名卡怎么获得

《绝地求生》改名卡是很多小伙伴所在意的物品,购买通行证后需要提升一定的等级才能入手,而怎么升级最快最划算呢?今天闲游盒带来“米奇”分享的《绝地求生》改名卡快速获得方法,赶紧来试试吧。 吃鸡刚刚迎来了更新,通行…

Flink版本更新汇总(1.14-1.18)

0、汇总 1.14.0 1.有界流支持 Checkpoint; 2.批执行模式支持 DataStream 和 Table/SQL 混合应用; 3.新增 Hybrid Source 功能; 4.新增 缓冲区去膨胀 功能; 5.新增 细粒度资源管理 功能; 6.新增 DataStream 的 Pulsar …

MySQL取出N列里最大or最小的一个数据

如题,现在有3列,都是数字类型,要取出这3列里最大或最小的的一个数字 -- N列取最小 SELECT LEAST(temperature_a,temperature_b,temperature_c) min FROM infrared_heat-- N列取最大 SELECT GREATEST(temperature_a,temperature_b,temperat…

滑动窗口最大值(力扣239题)

单调递减队列: 在解决题目之前,我们先来了解一下单调递减队列,它其实就是在队列的基础上多加了一些限制,如下图: 要求队列中的元素必须按从大到小的顺序排列。 如果向单调递减队列中加入数字 1,可以直接加入…

C# Onnx yolov8 竹签计数、一次性筷子计数

目录 效果 模型信息 项目 代码 数据集 下载 C# Onnx yolov8 竹签计数、一次性筷子计数 效果 模型信息 Model Properties ------------------------- date:2024-01-03T08:55:22.768617 author:Ultralytics task:detect license&#x…

electron预加载脚本

webPreferences 指定预加载脚本,可以使用部分node脚本 webPreferences: {preload: path.join(__dirname, "preload.js"),},创建preload.js 中 测试文件读取功能 const fs require(fs) const text fs.readFileSync(package.json, utf-8)console.log(text)报错,为了…

单向可控硅电路图总结(2)

单向可控硅最筒单电路图(一) 触摸一下金属片开,SCR1导通,负载得电工作。触摸一下金属片关,SCR2导通,继电器J得电工作,K断开,负载失电,SCR2关断后,电容对继电器…

canvas绘制直角梯形(向右)

查看专栏目录 canvas示例教程100专栏,提供canvas的基础知识,高级动画,相关应用扩展等信息。canvas作为html的一部分,是图像图标地图可视化的一个重要的基础,学好了canvas,在其他的一些应用上将会起到非常重…