Sync Flood与三次握手

1. Sync Flood

是一种拒绝服务攻击,原理是利用三次握手的过程进行攻击。正常三次握手的时候,服务器返回SYNC+ACK给客户端时需要有个半连接队列。攻击者伪造大量不同源的TCP SYNC包即可让半连接队列填满导致DOS。

2 . 解决方案SYNC Cookie

原理:第三次握手的时候不存放半连接队列。根据收到的信息结合IP、端口等包信息利用MAC函数和SHA1计算出一个SYNC cookie发送给客户端。最后收到ack的时候在校验cookie即可。

总体思路就是知道一个防伪造的cookie

具体算法流程可以参考下别人的文章:SYN Cookie的原理和实......

使用tshark在命令行进行网络抓包

使用wireshark的客户端进行抓包,或者tcpdump抓包再用wireshark分析,网上已经有很多资料了,这里就不再赘述了。不熟悉的可以看看网上的资料:http://www.jianshu.com/p/a62ed1bb5b20 或者官方文档user guide:https://www.wireshark.org/docs/wsug_html_chunked/

线上问题排查,有时候时间争分夺秒,或者一些私有云环境完全隔离,根本没法让你导出抓包的文件,这时候需要直接使用命令行进行抓包分析。今天我们就来学习下tshark的使用。PS: tshark基本上可以替代tcpdump,抓包的文......

网络通讯之长连接、长轮询、短轮询理解

1. 介绍

标题中几个关键字在平常经常见到。本文小作总结。注意本文讨论的轮询均指网络通信中的“轮询”,请区别下CPU轮询。

2. 长连接

2.1 介绍

一般我们说长连接,主要描述的对象是一个TCP请求连接。当一个TCP通道一直保持着连接状态,即称这个连接为长连接。现在的HTTP1.1协议都使用的长连接,可以看到http报文5头部的connection为keep-alive,即为长连接。使用长连接和不使用长连接的效果对比下图:

http协议和websocket协议的区别

1. 介绍

websocket和http都属于应用层协议,网络层都基于TCP协议。

PS:

虽然TCP协议是全双工的协议,但是应用层不一定是全双工的(看具体实现)

websocket和socket是两个东西:Socket是一个针对TCP和UDP编程的接口。应用程序通过它来发送和接收数据,借助它建立TCP连接等等。这里需要重点说明的,socket不是一个协议,只是一个编程接口。当然,websocket也用到了socket接口来实现其协议。

2. websocket

websocket的特点主要如下:

全双工协议:http协议基于请求应答,现在只能做单向传输......

POST常见请求方式浅析

1.概览

1.1 POST 常见请求类型图表一览

编码类型

说明

适用场景

application/x-www-form-urlencoded

窗体数据被编码为名称/值对。这是标准的编码格式。form表单默认就是这种方式

适合字符传输

multipart/form-data

窗体数据被编码为一条消息,页上的每个控件对应消息中的一个部分。

不对字符编码,二进制传输,适合非字符和二进制,比如包含窗体

text/plain

窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符。

纯文本

application/json

处理json字符串

方便提交非结构化数据

......