NAT协议
NAT协议实现有三种实现方法,静态转换、动态转换、端口多路复用
-
静态转换用于公网IP数量和内网IP数量相同时,某个内网IP只能被转换为某个外网ip,是一对一对应的。可以实现外部网络对内部对应设备的访问
-
动态转换用于公网IP数量略低于内网IP数量时,内网IP会被随机转换为公网IP中的一个。个人感觉有点类似于代理池。
-
端口多路复用是应用最多的方式,内部网络的所有主机享用一个公网IP,从而可以最大限度地节约IP地址资源。
优点:
1、节省大量ip地址
2、地址重叠时,提供解决办法
3、网络发生变化时,避免重新编址
缺点:
1、无法进行端对端跟踪(比如内网对公网进行攻击时,暴露的是公网的IP)
2、很多应用层协议不能识别(比如ftp协议,导致有些应用无法正常使用)
VPN协议
VPN (Virtual Private Network,虚拟专用网络)即是指在公众网络上所建立的企业网络,并且此企业网络拥有与专用网络相同的安全、管理及功能等特点,它替代了传统的拨号访问,利用INTERNET公网资源作为企业专网的延续,节省昂贵的长途费用。
VPN层次分类
二层隧道VPN
1、L2TP
2、PPTP
3、L2F
三层隧道VPN
1、GEN
2、IPSEC
IPsec VPN
IPsec(IP安全)是一系列服务和协议的集合,IPsec通过AH
和ESP
两个安全协议保护数据的完整性、可用性、机密性
,使用IKE
协议来交换双方加密解密的秘钥
。其中AH是认证头协议,ESP是报文安全封装协议。
FTP协议
FTP的传输方式
FTP的传输类型分为ASCII码方式和二进制方式两种,对.txt、.htm等文件应采用ASCII码方式传输,对.exe或图片、视频、音频等文件应采用二进制方式传输。在默认情况下,FTP为ASCII码传输方式。
- ASCII传输方式:如果在远程机器上运行的不是UNIX,当文件传输时ftp通常会自动地调整文件的内容以便于把文件解释成另外那台计算机存储文本文件的格式。
- 二进制传输:在二进制传输中,保存文件的位序,以便原始和拷贝的是逐位一一对应的。即使目的地机器上包含位序列的文件是没意义的。例如,macintosh以二进制方式传送可执行文件到Windows系统,在对方系统上,此文件不能执行。
如果你在ASCII方式下传输二进制文件,即使不需要也仍会转译。这会使传输稍微变慢 ,也会损坏数据,使文件变得不能用。(在大多数计算机上,ASCII方式一般假设每一字符的第一有效位无意义,因为ASCII字符组合不使用它。如果你传输二进制文件,所有的位都是重要的。)如果你知道这两台机器是同样的,则二进制方式对文本文件和数据文件都是有效的。
FTP的传输方式
- Standard (也就是 PORT方式,主动方式,服务器主动连接客户端)
FTP客户端首先和FTP服务器的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。
- Passive (也就是PASV,被动方式,客户端主动连接服务器)
Passive模式在建立控制通道的时候和Standard模式类似,但建立连接后发送的不是Port命令,而是Pasv命令。FTP服务器收到Pasv命令后,随机打开一个高端端口(端口号大于1024),并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接。
FTP的使用方式
- 授权
# 格式
ftp://用户名:密码@FTP服务器IP或域名:FTP命令端口/路径/文件名
# 示例
ftp://foolish.6600.org
ftp://list:list@foolish.6600.org
ftp://list:list@foolish.6600.org:2003
ftp://list:list@foolish.6600.org:2003/soft/list.txt
- 基本使用
1.登录FTP服务器
方法一:ftp+ip,例如 ftp xx.xx.xx.xx
方法二:直接输入ftp,然后open+ip
先在ubuntu上安装一个ftp服务
sudo apt-get install vsftpd
sudo service vsftpd start
vim /etc/vsftpd.conf
# 启用可以修改文件的 FTP 命令
write_enable=YES
service vsftpd restart
然后在windows命令行里执行ftp 1.14.69.170
输入服务器本地用户账号密码即可登录
常用命令
# 查看文件
dir 查看文件列表
ls
cd 进入指定目录
# 文件下载
type 查看当前文件传输方式
ascii 修改传输方式为ascii
binary 修改传输方式为二进制
get get+文件名 下载文件,例如get test.txt
mget 下载多个文件,支持通配符,例如get .txt 下载所有后缀为txt的文件
上传文件
put:put [要上传的文件名] [newname]
send:send [要上传的文件名] [newname]
结束并退出ftp
quit:结束对话
close:结束对话并退出FTP
其他命令
pwd:查看FTP服务器上的当前工作目录
rename filename newfilename:重命名FTP服务器上的文件
delete filename:删除FTP服务器上的文件
help[cmd]:显示FTP命令的帮助信息,cmd是命令名,如果不带参数,则显示所有FTP命令