网络编程
小猫咪可馋了
以梦为马 不负韶华
展开
-
SYN Flood攻击的基本原理及防御
第一部分 SYN Flood的基本原理 SYN Flood是当前最流行的DoS(拒绝服务攻击)与DDoS(分布式拒绝服务攻击)的方式之一,这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,从而使得被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式。 要明白这种攻击的基本原理,还是要从TCP连接建立的过程开始说起:大家都知道,TCP与UDP不同转载 2014-09-20 15:51:23 · 4897 阅读 · 0 评论 -
CLOSE_WAIT生成的原因
CLOSE_WAIT,TCP的癌症,TCP的朋友。CLOSE_WAIT状态的生成原因首先我们知道,如果我们的服务器程序APACHE处于CLOSE_WAIT状态的话,说明套接字是被动关闭的!因为如果是CLIENT端主动断掉当前连接的话,那么双方关闭这个TCP连接共需要四个packet: Client ---> FIN ---> Server转载 2014-09-20 13:52:57 · 304 阅读 · 0 评论 -
socket编程问题汇总(一)
问题一:在Linux下建立Socket,结果发现建立了640多个socket连接后就再也连不上去了, 而在Windows下,建了5000多个连接发现还能连上去…… 请问在Linux下是不是需要修改什么限制啊??还是要做什么特殊的处理? BTW:原来程序是在Windows下运行的,后来为了追求更好的性能才移植到Linux下, 结果没想到会是这种结果 Linux转载 2014-09-20 21:09:49 · 602 阅读 · 0 评论 -
关于使用strace调试网络程序
strace 简介strace 命令是一种强大的工具, 能够显示任何由用户空间程式发出的系统调用. strace 显示这些调用的参数并返回符号形式的值. strace 从内核接收信息, 而且无需以任何特别的方式来构建内核. strace 的每一行输出包括系统调用名称, 然后是参数和返回值.bi原创 2014-09-21 21:34:48 · 687 阅读 · 0 评论 -
Linux创建进程达到65535
Linux上创建进程据说消耗很少,这个一直是Linux的特点,于是就专门测试Linux创建进程的极限,测试代码如下://fork.c#include #include #include #include string.h>#define MAXPROCESS 65535#define SLEEPTIME 60int main(int argc, char **argv)转载 2014-09-26 15:55:15 · 359 阅读 · 0 评论 -
IOCP模型与网络编程
IOCP模型与网络编程一。前言: 在老师分配任务(“尝试利用IOCP模型写出服务端和客户端的代码”)给我时,脑子一片空白,并不知道什么是IOCP模型,会不会是像软件设计模式里面的工厂模式,装饰模式之类的那些呢?嘿嘿,不过好像是一个挺好玩的东西,挺好奇是什么东西来的,又是一个新知识啦~于是,开始去寻找一大堆的资料,为这个了解做准备,只是呢,有时还是想去找一本书去系统地学习一转载 2014-09-27 21:43:40 · 273 阅读 · 0 评论 -
strace用法说明
strace命令详解strace 命令是一种强大的工具,它能够显示所有由用户空间程序发出的系统调用。 strace 显示这些调用的参数并返回符号形式的值。strace 从内核接收信息,而且不需要以任何特殊的方式来构建内核。 下面记录几个常用 option . 1 -f -F选项告诉strace同时跟踪fork和vfork出来的进程 2 -o xxx.txt 输出到某个文转载 2014-10-14 13:00:25 · 244 阅读 · 0 评论 -
四个服务器设计模型
五个简单TCP协议(MuduoManual.pdf P50)muduo库网络模型使用示例(sudoku求解服务器MuduoManual.pdf P35 )reactor(一个IO线程)reactor + threadpool (一个IO + 多个计算线程)multiple reactor (多个IO线程)one loop per thread + thread po原创 2015-06-14 11:58:31 · 413 阅读 · 0 评论