代码改变世界

随笔档案-2009年11月10日

getopt函数的使用(转)

2009-11-10 22:27 by htc开发, 271 阅读, 收藏,
摘要: 每一天你都在使用大量的命令行程序,是不是感觉那些命令行参数用起来比较方便,他们都是使用getopt来实现的。在Linux下使用getopt写程序是一种比较cool的事情,下面来简单的介绍一下getopt的使用。=== getopt使用 ===在讨论参数处理之前,我们先明确两个概念:选项、选项参数gcc -g -o test test.c我们经常使用上面的命令来编译程序,这里g和o就是选项,其中test就是o的选项参数下面我们来看一下getopt:首先是函数声明:#include <unistd.h>extern char *optarg;extern int optind;exte 阅读全文

linux下利用PF_PACKET协议族捕包方法

2009-11-10 17:13 by htc开发, 626 阅读, 收藏,
摘要: 先放一段示例程序,这段程序我在RH9和AS4下编译通过,程序功能就是用从2.2内核加入的PF_PACKET协议族来进行底层数据包捕获并显示。PF_PACKET协议族是与系统TCP/IP协议栈并行的同级别模块,即从PF_PACKET协议族得到的数据包是没有经过系统TCP/IP协议栈处理的。而且,通过设置混杂模式,可以很容易的实现sniffer。#include<errno.h>#include<stdio.h>#include<stdlib.h>#include<string.h>#include<sys/socket.h>#inclu 阅读全文