前言
常见端口及对应服务
端口号 | 服务 |
---|---|
20/21 | FTP(文件传输协议),20为数据端口,21为命令端口 |
22 | SSH |
23 | Telnet(远程登录)服务,是Internet上普遍采用的登录和仿真程序 |
25 | SMTP(简单邮件传输协议),主要用于发送邮件 |
53 | DNS(域名服务器),主要用于域名解析 |
67/68 | 分别为Bootstrap Protocol Server(引导程序协议服务器端)和Bootstrap Protocol Client(引导程序协议客户端)开放的端口 |
69 | TFTP服务,Cisco公司开发的一个简单文件传输协议,类似于FTP |
79 | Finger服务,主要用于查询远程主句在线用户、操作系统类型以及是否缓冲区溢出等用户的详细信息 |
80 | HTTP(超文本传输协议) |
99 | “Metagram Relay”(亚对策延时)服务 |
109、110 | 109为POP2(邮局协议2)服务开放,110为POP3(邮局协议3)服务开放,目前主要使用POP3 |
111 | SUN公司的RPC(远程过程调用)服务,主要用于分布式系统中不同计算机的内部进行通信 |
119 | 为“Network News Transfer Protocol”(网络新闻组传输协议)开放 |
135 | 使用RPC协议提供DCOM(分布式组件对象模型)服务 |
137 | “netBIOS Name Service”(NetBIOS名称服务),属于UDP端口 |
139 | 为“NetBIOS Session Service”提供,主要用于提供Windows文件和打印机共享以及Unix中的Samba服务 |
143 | 主要用于“Internet Message Access Protocol”V2(Internet消息访问协议,简称IMAP) |
161 | 用于“Simple Network Management Protocol”(简单网络管理协议,简称SNMP) |
443 | 主要用于HTTPS服务 |
554 | 用于“Real Time Streaming Protocol”(实时流协议,简称RTSP) |
1521 | Oracle默认端口 |
1755 | 默认用于“Microsoft Media Server”(微软媒体服务器,简称MMS) |
3306 | 默认为Mysql端口 |
4000 | 为QQ客户端开放的端口,QQ服务器端使用的是8000 |
5632 | 远程控制软件pcAnywhere |
8080 | 同80端口是被用于WWW代理服务 |
DNS
简介
DNS是一种可以将域名和IP地址相互做映射的层次结构的分布式数据库系统,DNS服务即域名解析服务。DNS是一种应用层协议,使用tcp和udp的53端口。
DNS层级架构
最大域是根域,用.表示接下来的是一级域即顶级域,然后就是二级域三级域等,最后是主机。其中根域和一级域是特殊的,不能由个人指定。
DNS查询
- 迭代查询
当DNS服务器接收到查询请求时,不论成功或失败,都会做出对应的响应(发生在DNS客户端与DNS服务器之间); - 递归查询
DNS服务器根据自己的高速缓存或区域的数据,以最佳结果响应;如果服务器无法解析,它可能返回一个指针;指针指向下级域名的DNS服务器,继续该过程,直到找到拥有所查询名字的DNS服务器,或知道出错、超时为止(发生在DNS服务器之间);
HTTP
介绍
HTTP全程超文本传输协议,用于万维网(WWW)服务器传输超文本到本地浏览器的传输协议。HTTP是一种应用层协议,是基于TCP/IP通信协议来传递数据的。
工作过程
在浏览器输入一个网址,此时浏览器就会给对应的服务器发送一个 HTTP 请求,对应的服务器收到这个请求之后,经过计算处理,就会返回一个 HTTP 响应。并且当我们访问一个网站时,可能涉及不止一次的 HTTP 请求和响应的交互过程。
HTTP与HTTPS的区别
HTTPS是HTTP的安全版。
HTTP协议传输的数据都是未加密的,因此HTTP协议传输隐私信息非常不安全,为保证隐私数据能加密传输,对HTTP协议传输的数据进行加密,从而诞生了HTTPS。
HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。
区别主要如下:
- HTTPS协议需要到ca申请证书;
- HTTP是超文本传输协议,明文传输,HTTPS则是具有安全性的ssl加密传输协议;
- HTTP和HTTPS使用的是完全不同的连接方式,用的端口也不一样,前者是80端口,后者是443端口;
- HTTP连接简单,是无状态的,HTTPS协议是有ssl+HTTP协议构建的可进行加密传输、身份认证的网络协议;
SSH
简介
SSH(Secure Shell Protocol) 是由IETF网络工作小组制定,在进行数据传输之前,SSH先对联级数据包通过加密技术进行加密处理,加密后在进行数据传输,确保了传递的数据安全。
原理
ssh服务是一个守护进程(demon),系统后台监听客户端的连接,ssh服务端的进程名为sshd,负责实时监听客户端的请求(IP 22端口),包括公共秘钥等交换等信息。
ssh服务端由两部分组成: openssh(提供ssh服务) ,openssl(提供加密的程序)。
ssh的客户端可以用 XSHELL,Securecrt, Mobaxterm等工具进行连接。
工作机制
服务器启动的时候自己产生一个密钥(768bit公钥),本地的ssh客户端发送连接请求到ssh服务器,服务器检查连接点客户端发送的数据和IP地址,确认合法后发送密钥(768bits)给客户端,此时客户端将本地私钥(256bit)和服务器的公钥(768bit)结合成密钥对key(1024bit),发回给服务器端,建立连接通过key-pair数据传输。
加密技术
加密技术:传输过程,数据加密。
- SSH1没有对客户端的秘钥进行校验,易被植入恶意代码。
- SSH2增加了一个确认联机正确性的Differ_Hellman机制,每次数据的传输,Server都会检查数据来源的正确性。
FTP
简介
一般来讲,人们将计算机联网的首要目的就是获取资料,而文件传输是一种非常重要的获取资料的方式。今天的互联网是由几千万台个人计算机、工作站、服务器、小型机、大型机、巨型机等具有不同型号、不同架构的物理设备共同组成的,而且即便是个人计算机,也可能会装有Windows、Linux、UNIX、Mac等不同的操作系统。为了能够在如此复杂多样的设备之间解决问题解决文件传输问题,文件传输协议(FTP)应运而生。
FTP是一种在互联网中进行文件传输的协议,基于客户端/服务器模式,默认使用20、21号端口,其中端口20(数据端口)用于进行数据传输,端口21(命令端口)用于接受客户端发出的相关FTP命令与参数。FTP服务器普遍部署于内网中,具有容易搭建、方便管理的特点。而且有些FTP客户端工具还可以支持文件的多点下载以及断点续传技术,因此FTP服务得到了广大用户的青睐。
## 原理
FTP服务器是按照FTP协议在互联网上提供文件存储和访问服务的主机,FTP客户端则是向服务器发送连接请求,以建立数据传输链路的主机。FTP协议有下面两种工作模式:
- 主动模式:FTP服务器主动向客户端发起连接请求。
- 被动模式:FTP服务器等待客户端发起连接请求(FTP的默认工作模式)。
NFS
简介
NFS(Network File System)即网络文件系统,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。最早由SUN公司开发,是类UNIX系统间实现磁盘共享的一种方法。
使用场景:web集群中NFS服务器主要用于存储用户上传的信息,方便集群中机器获取用户数据,如图片、附件、头像、视频、音频。
工作原理
NFS服务依赖于RPC(Remote Procedure Call)服务。nfsd默认端口2049,实际使用过程中因为需要提供不同的服务,因此NFS启动时还会随机调用系统的空闲端口。在centos5.x中默认调用1024以下端口,centos6.x后默认调用的端口号一般较大,30000以上。因为NFS随机端口的原因所以需要RPC服务来和client端确认传输端口等。
因为NFS服务启动时需要向RPC注册端口信息,所以RPC要在NFS服务启动之前启动。
在NFS server上创建用于共享的目录/data,client用mount将/data挂载到自己本地一个目录上,挂载目录可以和/data名称不同。将挂载信息写入本机开机启动文件里 如 /etc/rc.local。客户端无需启动NFS服务,但需要启动RPC服务。