今日总结

今天主要还是继续完成实习的任务,完成了两个模型的数据配置和测试,明天继续

腾讯云智一面:单例,工厂模式,https如何实现加密等,如何监测tcp链接过程

设计模式优点缺点适用场景
单例模式 确保唯一实例、节省资源、全局访问、延迟加载 难以测试、违反单一职责原则、并发问题、不易扩展 需要全局唯一实例的场景,如日志、数据库连接池
工厂模式 解耦、易扩展、避免重复代码、简化对象创建、支持多态 增加类的数量、不灵活、无法动态选择、创建复杂 对象创建复杂或类型不固定,需要创建多种类型的对象

HTTPS(Hypertext Transfer Protocol Secure)是通过在HTTP协议上加入SSL/TLS协议来实现加密通信。它用于确保网络传输的安全性,防止数据泄露、篡改或伪造。

HTTPS加密过程:

  1. SSL/TLS握手过程

    • 客户端请求:客户端向服务器发起HTTPS请求,表示希望建立一个加密连接。
    • 服务器响应:服务器返回其SSL证书(包含公钥),客户端会验证证书是否由可信的证书机构签发。
    • 密钥交换:客户端生成一个对称密钥(称为“会话密钥”),并使用服务器的公钥加密后发送给服务器。
    • 建立安全连接:服务器使用私钥解密出会话密钥,从而建立加密通道。
  2. 加密与解密

    • 数据的传输采用对称加密(如AES),加密后的数据只有持有密钥的双方能够解密。
    • 传输过程中的数据会被加密,以避免中间人攻击。

实现步骤:

  1. 创建SSL证书:可以使用工具如OpenSSL生成SSL证书,并配置在服务器上。
  2. 配置服务器支持HTTPS:例如,Apache和Nginx需要配置SSL证书路径,并监听443端口。
  3. 客户端配置:确保浏览器或客户端支持SSL/TLS,并能验证服务器的证书 
  1. TCP三次握手过程

    • SYN:客户端向服务器发送SYN包(请求建立连接)。
    • SYN-ACK:服务器回应一个SYN-ACK包,确认收到请求。
    • ACK:客户端再次回应一个ACK包,连接建立完成。
  2. 使用Wireshark或Tcpdump

    • Wireshark:一个强大的网络分析工具,可以捕获和分析TCP连接的详细信息,包括三次握手、数据包内容、流量模式等。
    • Tcpdump:一个命令行工具,用于捕获和分析网络流量。你可以使用它来监控特定端口的TCP连接。

    示例:

    bash
    sudo tcpdump -i eth0 tcp port 80
    
  3. 检测TCP连接状态

    • 使用系统命令如netstatss等查看当前的TCP连接状态:
      bash
      netstat -an | grep 'TCP'
      
      或者
      bash
      ss -tuln
      
  4. 查看日志文件

    • 对于Web服务器(如Nginx、Apache),可以通过查看服务器日志来分析TCP连接的建立和关闭过程,日志中通常包含连接建立的时间戳和客户端的IP地址。
  5. 监控工具

    • 使用Zabbix、Prometheus、Nagios等监控工具来实时监测TCP连接,设置告警阈值来提醒连接数过多或异常连接。
posted @ 2024-11-19 22:51  小趴菜且能喝66  阅读(2)  评论(0编辑  收藏  举报