金溪的博客

好的开始是成功的一半,不要制定太长远的目标,同时不以战术的勤奋掩饰战略的懒惰,复杂思考简易行事,分而治之降低压力,以概率面对生活,时刻保持头脑清醒,防人之心不可无,广交慎择,顺其自然,近贤远佞,源代码...

C typedef

C语言允许用户使用typedef关键字来定义自己习惯的数据类型名称。 例如,C语言在C99之前并不提供布尔类型,但我们可以使用typdef关键字来定义一个简单的布尔类型 typedef int BOOL; #define TRUE 1 #define FALSE 0 typedef的4种用...

2019-03-08 15:53:09

阅读数 27

评论数 0

c extern关键字

修饰变量的声明 例如: 若a.c中需相用b.c中的变量 int v,可以在a.c中声明extern int v,然后就可以引用变量v。能够被其他模块extern引用到的变量能常是全局变量。 还有一点是,extern int v可以放在a.c中的任何地方。 修饰函数的声明 本质上讲,变和函...

2018-06-14 10:46:42

阅读数 61

评论数 0

#define的用法

无参宏定义 #define 标识符 字符串 凡是以“#”开头的均为预处理命令,但要注意的是,在宏定义中表达式两边的括号不能少,否则会发生错误。 带参宏定义 #define 宏名(形参表) 字符串 #define M(y) ((y)*(y)+3*(y)) /*宏定义*/   ......

2018-06-14 09:59:42

阅读数 121

评论数 0

HTTP服务器Apache入门学习

Apache HTTP Server是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其从平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl、Python等解释器编译到服务器中。 Apache最初由...

2014-12-11 19:20:50

阅读数 727

评论数 0

OpenMP学习

http://openmp.org/wp/ 传统的单线程编程方式难以发挥多核CPU的强大功能,于是多核编程应运而生。多核编程可以认为是对多核环境下编程做了一些多线程抽象,提供一些简单的API,使得用户不必费太多精力来了解太多底层的知识。多核编程的工具有OpenMP和TBB,OpenMP支持的编程...

2014-12-10 16:50:23

阅读数 1545

评论数 0

WinPcap学习(十一)底层学习

WinPcap包含一个内核级的数据包过滤器,一个低层的动态链接库(packet.dll),一个高层的、依赖于系统的库(wpcap.dll)。 WinPcap的主要结构如上。 首先,捕获系统需要占用操作系统的协议栈,来访问通过网络的原始数据。这就需要有部分内容要运行在操作系统内核中,能直接访...

2014-12-10 10:23:02

阅读数 636

评论数 0

WinPcap学习(十)wpcap.dll

wpcap.dll是一个包含了公共WinPcap API的动态链接库,它输出了一组依赖于系统的函数,用来捕获和分析网络流量。wpcap.dll与libpcap兼容,其中的函数用途有: (1)获取网络适配器列表 (2)获取网络适配器的不同的信息,比如网卡描述和地址的列表 (3)使用PC的一个网...

2014-12-09 20:28:56

阅读数 1506

评论数 0

WinPcap学习(九)发送数据包

原始的libcap库是不支持发送数据包的,因此,这是属于WinPcap的扩展。 使用pcap_sendpacket()发送单个数据包 打开适配器以后,调用pcap_sendpacket()来发送手工制作的数据包。pcap_sendpacket()的参数有一个要包涵发送数据的缓冲区,缓冲的长度,...

2014-12-09 20:04:19

阅读数 714

评论数 0

WinPcap学习(八)处理脱机堆文件

WinPcap提供了很多函数来将网络数据流保存到文件并读取它们。堆文件的格式是libpcap的一种,这种格式,包含了被捕捉的包的二进制数据,并且,这种格式是许多网络工具所使用的一种标准,这些工具包括WinDump,Etheral和Snort。 保存数据包到堆文件 下面的程序是从一个选定的接口捕...

2014-12-06 19:22:14

阅读数 727

评论数 0

WinPcap学习(七)分析数据包

这次的主要目标是展示如何解析所捕获的数据饭协议首部,这里选择分析UDP协议而不是其它协议,是因为它比其它的协议更简单。   /* * Copyright (c) 1999 - 2005 NetGroup, Politecnico di Torino (Italy) * Copyright...

2014-12-06 19:00:29

阅读数 645

评论数 0

WinPcap学习(六)过滤数据包

用来过滤数据包的函数是pcap_compile()和pcap_setfilter()。 pcap_complie()它将一个高层的布尔过滤表达式编译成一个能够被过滤引擎所解释的低层的字节码。 pcap_setfilter()将一个过滤器与内核捕获会话相关联。当pcap_setfilter()被...

2014-12-06 13:36:24

阅读数 663

评论数 0

WinPcap学习(五)不用回调方法捕获数据包

主要是学习pcap_next_ex()函数如何代替pcap_loop()函数。 pcap_loop()函数是基于回调的原理来进行数据捕获,这是一种精妙的方法,并且在某些场合中,这是一种很好的选择。然而,处理回调有时候并不实用--它会增加程序的复杂度,特别是在拥有多线程的c++程序中。 可以通过...

2014-12-06 13:13:08

阅读数 648

评论数 0

WinPcap学习(四)打开适配器并捕获数据包

打开设备的函数是pcap_open()。下面参数snaplen,flags和to_ms的解释说明 snaplen制定要捕获数据包中的哪些部分。在一些操作系统中(比如xBSD和Win32),驱动可以被配置成只捕获数据包的初始化部分:这样可以减少应用间程序间复制数据的量,从而提高捕获效率。本例中,我...

2014-12-05 21:09:15

阅读数 1134

评论数 0

WinPcap学习(三)获取已安装设备的高级信息

原文:http://www.ferrisxu.com/WinPcap/html/index.html 事实上,WinPcap提供了其他更高级的信息,特别需要指出的是,由pcap_findalldevs_ex()返回的每一个pcap_if结构体,都包含一个pcap_addr结构体,这个结构体由如下...

2014-12-05 20:01:33

阅读数 672

评论数 0

Windows下如何更新 CodeBlocks 中的 MinGW 使其支持新版本 C++

原文:http://blog.csdn.net/wtfmonking/article/details/17487705 为了支持最新版的:C++11 ,在Windows下需要更新 Code::Blocks 的MinGW。   1、下载CodeBlocks并安装 (若电脑已有,这步不要) ...

2014-12-05 16:33:09

阅读数 795

评论数 0

winpcap学习(二)获取设备列表

原文:http://www.ferrisxu.com/WinPcap/html/index.html 获取设备列表 libpcap和WinPcap都提供了pcap_findalldevs_ex()函数来实现这个功能:这个函数返回一个pcap_if结构的链表,每个这样的结构都包含了一个适配器的详...

2014-12-05 13:36:32

阅读数 617

评论数 0

winpcap学习(1)基本介绍

http://www.winpcap.org/ WinPcap是Windows中用于网络链接层访问的工具:它允许程序通过协议栈捕获和发送网络包,及其他一些有用的特性,包括内核级的包过滤、网络统计并支持远程包的获取。 WinPcap包含一个驱动,它扩展了操作系统以提供低级别的网络访问,WinPc...

2014-12-05 13:17:53

阅读数 663

评论数 0

记录键盘按键

#include <iostream> #include <windows.h> #include <winuser.h> using namespace std;...

2014-11-28 18:53:21

阅读数 678

评论数 0

耗尽硬盘的小程序

原文:http://www.gohacking.com/make-trojan-horse/   /* SPACE EATER TROJAN BY SRIKANTH. USE IT FOR EDUCATIONAL PURPOSES ONLY. DO NOT SPREAD!*/ #inclu...

2014-11-25 22:36:34

阅读数 658

评论数 0

windows中的GetTickCount

GetTickCount返回从操作系统启动到现在所经过的毫秒数,它的返回值在Dword。 可以看出DWORD是一个占四个字节即两个字的空间无符号整数,它能表示的最大值为232=4,294,967,695,而4,294,967,695/86,400,000 = 49.71,所以若系统持续运行(r...

2014-11-22 13:26:26

阅读数 456

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭