网络相关

一、tcp三次握手

第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认。

第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态。

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器端进入ESTABLISHED状态,完成三次握手。

 

SYN攻击:客户端在短时间内伪造大量的不存在的IP地址,并向服务器端不断发送syn包,server回复确认包,并等待client的确认,由于源地址是不存在的,因此server需要不断重发直至超时,这些伪造的SYN包将产时间占用未连接队列,导致正常的SYN请求因为队列满而被丢弃,从而引起网络堵塞甚至系统瘫痪。

 

检测syn攻击:当server有大量半连接状态且源ip地址是随机的,就可以断定遭受了syn攻击。netstat -nap | grep SYN_RECV

 

二、四次握手

断开一个TCP连接时,需要客户端和服务器总共发送4个包以确认连接的断开。

 

第一次:客户端主动发起断开连接,关闭客户端到服务器的数据传送,客户端发送一个FIN=1,进入FIN_WAIT_1状态。

第二次:服务器收到FIN后,给客户端发送一个ACK,确认序号为收到序号+1,服务器进入CLOSE_WAIT状态。

第三次:服务器主动断开连接,发送一个FIN,进入LAST_ACK状态。

第四次:客户端收到FIN后,进入TIME_WAIT状态,接着发送一个ACK给服务器,server进入CLOSED状态,完成四次挥手。

 

三、HTTP状态码

200 成功

301 永久移动 比如:域名到期,更换到新的域名

400请求错误

401未授权 请求身份验证

403 禁止  服务器拒绝请求

404 请求网页不存在

405 禁用请求中指定的方法

408 请求超时

413 请求实体过大 

414 URI过长

500  服务器遇到错误

502 错误网关

503 服务不可用 服务器在维护 或拒接连接

504 网关超时

505 HTTP版本不受支持

posted @ 2019-08-20 17:02  不喜欢吃胡萝卜  阅读(123)  评论(0编辑  收藏  举报