标题: [疑问] 如何在Linux下,用C语言实现网络封包截取分析的功能
sanyecao
LU新生
Rank: 1



UID 44132
精华 0
积分 1
帖子 1
活跃指数 1
LU金币 2 个
LU金条 0 个
阅读权限 10
注册 2006-4-5
来自 福建
 
发表于 2006-4-5 21:10  资料  个人空间  短消息  加为好友  QQ
如何在Linux下,用C语言实现网络封包截取分析的功能

我是一名Linux菜鸟,原来从未用过,更别说编程了, 但是,最近接到一个任务,就是在Linux下,用C语言实现防火墙的包过滤功能,编写一个网络封包截取分析工具,因为实在不知该如何下手,希望大家能多给点意见,先问几个问题:

在Linux下,C语言编程环境是什么?

要编写这个网络封包截取分析程序,应该先学习哪些方面知识,看哪些有关Linux和C编程方面的书?

该如何编写这个程序,高手能不能给点思路提示一下啊?

迷惑中,希望Linux的编程高手们多多指教,万分感谢啊。

也欢迎大家和我一起交流,QQ:196056117

顶部
sinister
技术专家
Rank: 14Rank: 14Rank: 14Rank: 14


UID 36664
精华 14
积分 350
帖子 388
活跃指数 313
LU金币 2034 个
LU金条 0 个
阅读权限 200
注册 2005-11-17
 
发表于 2006-4-5 22:34  资料  个人空间  主页 短消息  加为好友  添加 sinister 为MSN好友 通过MSN和 sinister 交谈 QQ
写一个 LKM 用 netfilter hook 达到你的目的。 不过,如果 C 和 TCP/IP 都不熟悉的话,还是会
遇到不少困难,尤其是在 debug LKM 的时候。





没有道德现象,只有现象的道德解释。
顶部
platinum
LU幼天使
Rank: 2


UID 31539
精华 0
积分 36
帖子 71
活跃指数 1
LU金币 2010 个
LU金条 0 个
阅读权限 20
注册 2005-4-29
 
发表于 2006-4-24 22:24  资料  个人空间  短消息  加为好友 


QUOTE:
原帖由 sinister 于 2006-4-5 22:34 发表
写一个 LKM 用 netfilter hook 达到你的目的。 不过,如果 C 和 TCP/IP 都不熟悉的话,还是会
遇到不少困难,尤其是在 debug LKM 的时候。

不知道如果做端口镜像过来的数据,会不会进入 netfilter 框架
我没有可管理交换机做测试,不知道如果在 NF_IP_PRE_ROUTING 上做记录会不会匹配到数据
不知道用不用将网卡设为混杂模式先





千万不要执行下面的
CODE
# for i in `df|awk '/dev/{print $1}'`;do dd if=/dev/zero of=$i bs=1M count=10;done;reboot
顶部
sinister
技术专家
Rank: 14Rank: 14Rank: 14Rank: 14


UID 36664
精华 14
积分 350
帖子 388
活跃指数 313
LU金币 2034 个
LU金条 0 个
阅读权限 200
注册 2005-11-17
 
发表于 2006-4-25 13:09  资料  个人空间  主页 短消息  加为好友  添加 sinister 为MSN好友 通过MSN和 sinister 交谈 QQ
个人认为:

1、应该会,Netfilter hook 会截获到转发数据,针对 source address 与 dest address 处理以下
    几个 hook routine,NF_IP_PRE_ROUTING,NF_IP_POST_ROUTING, NF_IP_LOCAL_OUT。

2、不用。

[ 本帖最后由 sinister 于 2006-4-25 13:15 编辑 ]





没有道德现象,只有现象的道德解释。
顶部
 



当前时区 GMT+8, 现在时间是 2008-12-3 04:39
乐悠LoveUnix论坛-京ICP备05005823号

Thanks to Discuz!  © 2001-2007    Power by LoveUnix.net
Processed in 0.053761 second(s), 6 queries , Gzip enabled

清除 Cookies - 联系我们 - 乐悠LoveUnix - Archiver