c
文章平均质量分 95
我是猪行不
业精于勤荒于嬉
展开
-
SOCK_RAW发送TCP数据包
1.TCP RAW服务器/************************************************************************************************************* 中国软件开源组织**** ...原创 2018-09-05 11:31:04 · 2911 阅读 · 0 评论 -
三次握手以及四次挥手
http://blog.csdn.net/whuslei/article/details/6667471/建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:先来看看如何建立连接的。首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资...转载 2018-12-11 09:52:30 · 137 阅读 · 0 评论 -
ip/tcp/udp头解析(转)
报文封装整体结构mac帧头定义/*数据帧定义,头14个字节,尾4个字节*/typedef struct _MAC_FRAME_HEADER{ char m_cDstMacAddress[6]; //目的mac地址 char m_cSrcMacAddress[6]; //源mac地址 short m_cType; //上一层协议类型,如0x0...转载 2018-11-15 17:21:59 · 158 阅读 · 0 评论 -
进程线程协程区别
现在多进程多线程已经是老生常谈了,协程也在最近几年流行起来。python中有协程库gevent,py web框架tornado中也用了gevent封装好的协程。本文主要介绍进程、线程和协程三者之间的区别。一、概念 1、进程进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。每个进程都有自己的独立内存空间,不同进程通过进程间通信来通...转载 2018-11-13 14:30:01 · 140 阅读 · 0 评论 -
对于红黑树的一点认识,
1.左旋1) 创建红黑树节点指针ptrbnRight并指向当前节点的右儿子(以右节点称呼);2) if (将右节点的左儿子设置为当前节点的右儿子且不为空节点) {3) 右节点的左儿子的父亲节点指向当前节点;4) }5) 将当前节点设置为右节点的左儿子;6) if (将当前节点的父亲节点设置为右节点的...原创 2018-09-20 11:19:31 · 138 阅读 · 0 评论 -
SOCK_RAW发送tcp数据包(点对点)
1.server#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <sys/socket.h>#include <arpa/inet.h>#include <netinet/in.h&g原创 2018-07-23 12:08:21 · 2088 阅读 · 0 评论 -
SOCK_RAW发送UDP数据包
1.client(发送数据包)(需要校验和)/************************************************************************************************************* 中国软件开源组织**** ...原创 2018-07-23 12:13:48 · 2619 阅读 · 0 评论 -
syn flood(sylixos)
SYN FLOOD洪水攻击:#include <stdio.h>#include <ctype.h>#include <unistd.h>#include <fcntl.h>#include <signal.h>#include <sys/time.h>#include <sys/types.h>原创 2018-07-23 13:29:43 · 136 阅读 · 0 评论 -
二叉树插入、遍历
#include <stdio.h>/*定义结构体*/struct tree_param{ int tree_data; struct tree_param *tree_left; struct tree_param *tree_right;};typedef struct tree_param node;/*插入函数*/void tree...原创 2018-07-27 15:27:53 · 233 阅读 · 0 评论 -
优先级反转以及解决方法(基于SylixOS)
1.优先级反转#include <stdio.h>#include <pthread.h>#include <SylixOS.h>static LW_HANDLE _G_Block;static long long _G_Count = 0;PVOID handler1 (PVOID pvarg){ int ret, i; ...原创 2018-08-06 20:27:42 · 267 阅读 · 0 评论 -
leetcode两数之和C和python3
C:/** * Note: The returned array must be malloced, assume caller calls free(). */int* twoSum(int* nums, int numsSize, int target) { int i,j,num = 0; int *buf = (int *)malloc(sizeof(int...原创 2018-08-10 17:14:26 · 550 阅读 · 0 评论 -
AF_UNIX服务器以及客户端(C)
1.服务器#include <stdio.h>#include <unistd.h>#include <netdb.h>#include <net/if.h>#include <sys/socket.h>#include <sys/ioctl.h>#include <pthread.h>#inc原创 2018-08-21 18:53:23 · 1086 阅读 · 1 评论 -
TCP服务器以及客户端(1v1)
1.服务器/* * tcp_server.c * * Created on: Aug 16, 2018 * Author: zhangyazhong */#include <stdio.h> //printf#include <arpa/inet.h> //inet_addr htons#include <sys/types....原创 2018-08-21 18:55:58 · 159 阅读 · 0 评论 -
UDP服务器以及客户端
1.服务器#include <stdio.h>#include <sys/socket.h>#include <netinet/udp.h>#include <time.h>#include <sys/time.h>#define BUF_SIZE (1024)#define UDP_SERVER_P...原创 2018-08-21 18:57:11 · 322 阅读 · 0 评论 -
AF_PACKET发送以太网帧(IP)
基于SylixOS,在linux需要替换部分头文件#include <stdio.h>#include <stdlib.h>#include <string.h>#include <pthread.h>#include <time.h>#include <unistd.h>#include <sys/s...原创 2018-08-31 16:21:54 · 1583 阅读 · 0 评论 -
find 、grep
在使用linux时,经常需要进行文件查找。其中查找的命令主要有find和grep。两个命令是有区的。 区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。 (2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找。 一.find命令 基...原创 2019-03-14 14:44:33 · 139 阅读 · 0 评论