Chinaunix

标题: 如何实现对网络协议栈(TCP/IP)各层数据的提取?! [打印本页]

作者: wqch    时间: 2004-04-24 16:42
标题: 如何实现对网络协议栈(TCP/IP)各层数据的提取?!
可以实现对网络协议栈(TCP/IP)各层数据的提取吗?!
比如说,想把网络层的数据包提取出来,或者把链路层mbuf数据结构中的数据提取出来,不通过socket等接口,也就是直接对底层进行操作,等等,可否?!
如果可以,请提示一下如何实现,个人感觉有点象tcpdump的再现,但是目前还没有找到tcpdump的源代码,所以有点晕!先谢过了!
作者: zhujunsoft    时间: 2004-04-24 17:08
标题: 如何实现对网络协议栈(TCP/IP)各层数据的提取?!
不使用socket,如果在应用层我还真不知道有没有办法,如果在内核态的化就简单多了
作者: wqch    时间: 2004-04-24 17:56
标题: 如何实现对网络协议栈(TCP/IP)各层数据的提取?!
to zhujunsoft : 您的“简单多了”怎么说?!能详细点吗?
作者: release    时间: 2004-04-24 20:13
标题: 如何实现对网络协议栈(TCP/IP)各层数据的提取?!
关注
作者: parady    时间: 2004-04-24 23:27
标题: 如何实现对网络协议栈(TCP/IP)各层数据的提取?!
今天在书店看见一本书,叫什么名字给忘了,恰好讲到这些内容,明天看看书名在回复!
作者: wqch    时间: 2004-04-25 09:26
标题: 如何实现对网络协议栈(TCP/IP)各层数据的提取?!
谢谢各位,看来斑竹都休息了
作者: apollolegend    时间: 2004-04-25 20:21
标题: 如何实现对网络协议栈(TCP/IP)各层数据的提取?!
想拿到链路层的数据,自己写个网卡的驱动好了!因为链路层数据当中断发生时从网卡读上来的吧。
想取IP层数据简单,记得linix下有关于包过滤勾挂函数,可以做一个钩子,直接截获数据包,好象叫什么*filter*来着。
作者: wqch    时间: 2004-04-26 08:36
标题: 如何实现对网络协议栈(TCP/IP)各层数据的提取?!
原帖由 "apollolegend" 发表:
想拿到链路层的数据,自己写个网卡的驱动好了!因为链路层数据当中断发生时从网卡读上来的吧。
想取IP层数据简单,记得linix下有关于包过滤勾挂函数,可以做一个钩子,直接截获数据包,好象叫什么*filter*来着。


Thanks!

不过,目前我想在FBSD下做,查了一下资料,发现tcpdump是在libpcap函数库的基础上写的,是有点复杂,自己想弄个简单点的,想实现一些初级的功能,写驱动还没有那个实力,而且就我想的目标来说,也没有那个必要吧?!

我现在也弄晕了,不知道如何是好?!今天版主该来了吧?!
作者: wqch    时间: 2004-04-27 14:31
标题: 如何实现对网络协议栈(TCP/IP)各层数据的提取?!
up
the last time
hope~~~~~

作者: fwizard    时间: 2004-04-27 15:00
标题: 如何实现对网络协议栈(TCP/IP)各层数据的提取?!
我知道提取出来的数据怎么还原
但是如何提取呢?。。。
关注ing
作者: birdielu    时间: 2004-04-27 19:03
标题: 如何实现对网络协议栈(TCP/IP)各层数据的提取?!
关注ing




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2