博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2011年7月23日

摘要: 设置过滤器要用到两个函数,一个是pcap_compile(),另一个是pcao_setfilter()。他们的函数原型如下所示: int pcap_compile (pcap_t *p, struct bpf_program *fp, char *str, int optimize, bpf_u_int32 netmask) 1、p是一个打开的网络设备的描述符。 2、fp是一个指针,用来存储一个... 阅读全文

posted @ 2011-07-23 16:27 天地玄黄 阅读(7104) 评论(0) 推荐(0)

摘要: 这里需要特别强调的一个数据结构是pcap_t,它相当于一个文件描述符,代表一个已经打开的设备。我们对这个设备进行操作,就是对这个文件描述符进行操作。 首先是打开一个已知的设备,使用pcap_open()这个函数,其原型如下: pcap_t * pcap_open (const char *source, int snaplen, int flags, int read_timeout, stru... 阅读全文

posted @ 2011-07-23 10:54 天地玄黄 阅读(3090) 评论(0) 推荐(0)

摘要: 假设我们定义一个数组char a[16]; 那么a与&a分别代表什么呢?它们完全一样吗? a其实代表的是数组中首元素的地址,即a[0]的地址,&a代表的是整个数组的起始地址。我们做个测试就可以很容易知道。 我们分别测试a a+1 &a &a+1这四个值,它们分别为: a 0x0012fcc8 a+1 0x0012fcc9 &a 0x0012fcc8 &a+1 0x0012fcd8 a和&a的值虽... 阅读全文

posted @ 2011-07-23 10:19 天地玄黄 阅读(1118) 评论(1) 推荐(2)

摘要: 对于一维数组,我们可以把它考虑成一长溜格子,每个格子就是一个元素,每个元素是一个数值。 对于多维数组,我们也可以把它看做一长溜的格子,每个格子就是一个元素,只不过每个元素又是一个数组。这样依次深入。 阅读全文

posted @ 2011-07-23 09:51 天地玄黄 阅读(228) 评论(0) 推荐(0)