使用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字符串

方便提交非结构化数据

......

TCP协议中使用滑动窗口实现流量控制

1. 为什么使用流量控制

发送方过快地发送数据导致接受方来不及接收。所以要通过流量控制让发送方发送的速度不要太快。

2. 拥塞控制与流量控制

2.1 拥塞控制

拥塞:请求资源大于网络可用资源,就发生拥塞导致网络性能下降。(单纯增加资源可能使得情况更坏)

拥塞控制:防止过多的数据注入到网络,是一个全局性的问题。

2.2 流量控制

流量控制往往指的是点对点的通信量的控制,是一个端到端的问题。

3.拥塞控制的方法一(慢开始和拥塞避免),Tahoe版本

为了集中精力讨论拥塞控制,先做以下的假定:

数据是单方向传送,另一个方向只传送确认

接收方总是有足够大......