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不允许用户列出目录内容或者与服务器协商来决定哪些是可得到的文件。