大厂面经之阿里巴巴国际集团安全部面试-安全工程师

6 篇文章 0 订阅 ¥19.90 ¥99.00

岗位工作内容:

API安全策略维护和定期巡检,网关设备的清洗能力,和业务方(技术)对接安全防务工作,需要英语能力。

1、自我介绍+过往的工作经验

先对自己进行一个简短的介绍。个人工作经历,简单代过做的重要项目。

重要项目介绍:背景+需求+项目整体架构+自己工作内容及成功。

2、tcp的三次握手

三次握手的流程图为:

三次握手的过程详解:

首先,我们假设有一台客户端A和一台服务器B,现在A想访问B,那么首先就需要和B建立连接。

首先的客户端是处于一个closed的状态,服务端由closed状态被动的变为listen的状态。

第一次握手:客户端发送SYN(SYN=1,客户端初始序列号seq=x)

客户端给服务端发送一个SYN 报文(也就是TCP封装格式中的标志位的SYN位置为1),并且指明客户端的初始序列seq为x。此时的客户端处于SYN_SENT状态

第二次握手:(服务端发送SYN=1+序列号确认有效位ACK=1+确认号ack=x+1和服务端初始序列号seq=y)

服务器端收到客户端的SYN报文之后,也会给客户端发送一个SYN报文,表示同意建立连接,并且序列号确认有效位也为ACK=1,确认号ack为x+1,然后还指定了自己的初始序列号seq为y,表明收到了客户端的SYN报文。此时,服务端处于SYN_RCVD状态

第三次握手:(客户端ACK=1+客户端序列号seq=x+1+确认号ack=y+1)

客户端收到服务端的SYN报文后,会发送一个ACK包。也会把服务端的序列号ack=y+1作为自己确认号ack的值,表明收到了服务端的SYN报文。此时,客户端处于established状态。

服务端收到ACK报文后,也处于established状态。自此,双方就都建立了连接,可以传送数据了。

三次握手是TCP协议用来建立可靠连接的过程,确保客户端和服务器之间的通信能够正常进行。以下是详细的三次握手过程:我选择的回答

  1. 第一次握手(SYN)客户端处于SYN_SENT状态

    • 客户端:首先向服务器发送一个SYN包,即同步序列编号(Synchronize Sequence Numbers)的数据包。
      • 在这个数据包中,客户端会选择一个初始序列号(sequence number),这个序列号是随机选择的一个32位的值,用来标识从客户端到服务器的数据流。
  2. 第二次握手(SYN-ACK):SYN(确认请求)+ACK(同意连接),服务端处于SYN_RCVD状态

    • 服务器:收到客户端发送的SYN包后,如果同意连接,则会发送一个确认的SYN和ACK包。
      • 在这个包中,服务器会确认客户端的SYN请求,同时也会选择一个自己的初始序列号(这个序列号是服务器到客户端数据流的标识)。
      • 这个ACK表示服务器已经收到了客户端的SYN请求,并同意建立连接,同时服务器的数据流也随之开始。
  3. 第三次握手(ACK)客户端处于established状态

    • 客户端:收到服务器发来的SYN-ACK包后,会向服务器发送一个ACK确认包。
      • 这个包中的ACK标志位被置为1,表示客户端确认收到了服务器的确认,并准备好开始发送数据。
      • 此时,TCP连接就建立起来了,客户端和服务器都进入了连接状态(ESTABLISHED)。

回答二:

具体的TCP三次握手过程如下:

  1. 客户端发送SYN包(SYN_SENT状态):客户端向服务器发起连接请求,发送一个TCP报文段,其中SYN标志位被置为1,同时选择一个初始的序列号seq=x(sequence number)。
  2. 服务器响应:如果服务器接受连接请求,则会回应一个ACK(确认)包和一个SYN包(SYN_RECV状态)。ACK包中确认号(acknowledgement number)为客户端发送的序列号加1(x+1),SYN包中会包含服务器选择的初始序列号seq=y。
  3. 客户端发送ACK包:最后,客户端收到服务器的响应后,会发送一个ACK包给服务器,确认收到了服务器的SYN包(ESTABLISHED状态),同时也会发送服务器需要的初始序列号y+1。

SYN_SENT是指的是当客户端发送一个连接请求后,等待服务器确认的状态。客户端首先发送一个SYN(同步)包给服务器,然后进入SYN_SENT状态,等待服务器回应。总结:SYN_SENT状态表示客户端已经发送了连接请求,但是还未收到服务器的确认。

SYN_RECV状态是指服务器端的状态,具体指的是服务器收到了客户端发送的SYN包(同步包)后,向客户端回复了一个SYN-ACK包(同步-确认包),并等待客户端发送ACK包以确认连接建立。

ESTABLISHED状态是指TCP连接的正常工作状态,表示在TCP三次握手成功完成之后,客户端和服务器之间的连接已经建立。在这个状态下,双方可以进行数据的传输和交换。

目录

岗位工作内容:

1、自我介绍+过往的工作经验

2、tcp的三次握手

3、http协议的状态信息。

4、在企业中,使用http请求的时候,怎样维持这么一个有状态的连接,比如在淘宝里,一个用户登录之后,去搜索我想要的商品,是不是加入了购物车,然后付款,这个流程肯定是可记录,可追踪的,但是http本身是无状态、无连接的,是怎么实现这个业务逻辑的?

5、当我们打开一个浏览器,去输入一个网址,比如taobao这个域名之后,从用户输入到按下回车,到看到淘宝的页面,中间经过了哪些网络协议,工作的流程?

6、web安全类的漏洞

7、挑一下工作过程中,在做pm项目,介绍这些项目你怎么做的?遇到些什么困难?遇到的困难是怎么解决的?

  • 14
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值