网关服务器之拼包和安全

来源:互联网 发布:centos sftp服务开启 编辑:程序博客网 时间:2024/04/28 05:33

 网关服务器之拼包,安全

是否需要拼包/拆包? 因为TCP是流协议,收到的数据很可能连包,需要在客户端拼包服务器拆包。
通常情况下是客户端按一定规则组包,服务器按规则拆包。但是网关服务器收到的是CMWAP转发http协议包,它分包的方式不可预计。

根据测试的情况来看,当终端发送的包>1024时会分包,或者在post头部分包。但无论如何,会将完整的头部投递出来。这样我根据终端在头部所填写的content-length长度再来接收余下的部分。

终端采用一次发送一次应答的方式,因此环形缓存区也用不上了。

当然,这样地拼包处理方式是比较简单的,依据的前提是一方面能收到完整协议头部,一方面是不会头尾相连的包出现。据有人讨论的http包的接收处理方式,是一个字符一个字符的接收,直到找到content-length选项。看一些http服务器的处理方式的确是如此,不知道有没有更好更有效率的方法。

安全防御方面的问题。在底层建立连接的链表,并定时扫描链表,删除连接但未上传数据的连接。另一方面,在业务层判断,若无sim卡号并上传非法数据的立即关闭。此处更改联系使用acceptex函数一起更改,改动颇大。

原创粉丝点击