个人觉得那些文章没必要翻译,英文容易阅读,翻译就有些浪费时间了(下面是部分翻译)

5 views
Skip to first unread message

青藤

unread,
Aug 14, 2009, 1:56:57 AM8/14/09
to dora-cat
PCAP编程
开发者:Tim Carstens
Email:timc...@yahoo.com
进一步编辑开发:Guy Harris
Email:g...@alum.mit.edu
译者:青藤
Email:libi...@gmail.com
译注:PCAP packet capture 抓包

好的,让我们首先说明这篇文档时为谁而写。显而易见,除非你只需了解一些基本原理,否则需要C语言的基础知识。你并不是需要成为编码武士,你只需要在
这个领域的一定编程经验,我将非常详细描述这里涉及的概念。另外,你所知一些网络知识将对你会有所帮助,比如这里是一个数据包探测等。这里的代码已经在
FreeBSD 4.3的默认内核上调试过了。

从这里开始:PCAP应用格式
首先理解PCAP的总体结构设计,具体流程如下:
1. 我们首先决定要嗅探哪个接口。Linux下可能是eth0,BSD下可能是x11,等。我们既可以用字符串定义这个设备,也可以让PCAP为我们
提供所要做工作的接口名称。
2. 初始化PCAP。这里我们将实际告诉PCAP哪个设备将被嗅探,只要我们想,也可以嗅探多样设备。那我们将如何区别呢?使用文件句柄(file
handles),就像打开文件来读和写,但我们必须命名我们要嗅探的会话以区别其他的会话。
3. 如果我们想嗅探专门的通信(如 TCP/IP数据包、仅仅通过端口23的数据包),我们必须创建一个标准规定(rule set),编译并应用
它;这是一个密切联系的三段处理。标准规定采用字符串格式,并能转化为PCAP能识别的格式(因此可以编译它)。事实上这个编译只是在我们的程序里调用
函数,因此告诉PCAP应用它去过滤我们所希望的任何一个会话。
4. 最后,我们让PCAP进入它主要的执行循环,在这种状态下,PCAP等待知道它所需要的多少数据包。每当获得一个新的数据包,它将调用另一个我们
已经定义好的函数。这个数据包可以为我们做很多事,比如数据包的分割并打印信息给用户,或把信息保存成文件,或者什么事也不做。
5. 在我们满意的嗅探之后,关闭会话完成。
这只是一个简单的过程,总共五步,但是第三步是可以选择的,下面让我们看看这些步骤的实现。

设置设备
这个非常简单,这里有两种技术设置我们所嗅探的设备。首先我们可以兼得让用户告诉我们。考虑下面的程序:
#include <stdio.h>
#include <pcap.h>

int main(int argc, char *argv[])
{
char *dev = argv[1];

printf("Device: %s\n", dev);
return(0);
}
用户通过程序的第一个参数指定设备,现在”dev”里有我们将嗅探并能被PCAP识别的的格式的接口名称(即所谓用户给的)。
另一个技术也一样简单,看下面程序:
#include <stdio.h>
#include <pcap.h>

int main(int argc, char *argv[])
{
char *dev, errbuf[PCAP_ERRBUF_SIZE];

dev = pcap_lookupdev(errbuf);
if (dev == NULL) {
fprintf(stderr, "Couldn't find default device: %s\n", errbuf);
return(2);
}
printf("Device: %s\n", dev);
return(0);
}

liun

unread,
Aug 14, 2009, 2:35:12 AM8/14/09
to dora...@googlegroups.com
别忘了,项目组还有个14岁的初中生。你觉得容易看懂的别人未必和你一样,如果你觉得简单那就把这个翻译工作做好,翻译工作有三字标准:信、达、雅,做好是不容易的。
对信达雅的解释:http://zhidao.baidu.com/question/20128993.html

青藤

unread,
Aug 14, 2009, 4:48:22 AM8/14/09
to dora-cat
同志啊!我时间有点紧,中午一个小时就翻译这个了,没休息啊,需要休息。。。


On 8月14日, 下午2时35分, "liun" <liuna...@gmail.com> wrote:
> 别忘了,项目组还有个14岁的初中生。你觉得容易看懂的别人未必和你一样,如果你觉得简单那就把这个翻译工作做好,翻译工作有三字标准:信、达、雅,做好是不容-易的。
> 对信达雅的解释:http://zhidao.baidu.com/question/20128993.html

青藤

unread,
Aug 14, 2009, 4:50:57 AM8/14/09
to dora-cat
如果不急,我一天忙一点的时间是有滴。。。

On 8月14日, 下午2时35分, "liun" <liuna...@gmail.com> wrote:

> 别忘了,项目组还有个14岁的初中生。你觉得容易看懂的别人未必和你一样,如果你觉得简单那就把这个翻译工作做好,翻译工作有三字标准:信、达、雅,做好是不容-易的。
> 对信达雅的解释:http://zhidao.baidu.com/question/20128993.html

青藤

unread,
Aug 20, 2009, 5:04:52 AM8/20/09
to dora-cat
大哥,你翻译吧,我现在很忙啊

On 8月14日, 下午2时35分, "liun" <liuna...@gmail.com> wrote:

> 别忘了,项目组还有个14岁的初中生。你觉得容易看懂的别人未必和你一样,如果你觉得简单那就把这个翻译工作做好,翻译工作有三字标准:信、达、雅,做好是不容-易的。
> 对信达雅的解释:http://zhidao.baidu.com/question/20128993.html

青藤

unread,
Aug 20, 2009, 5:09:04 AM8/20/09
to dora-cat
l另外,个人觉得:
这个项目需要你起头,而不是做这个翻译或叫什么培训
你应该写个需求,写好代码框架,我们应该完成那个部分功能
这个应该是人们自觉的看,带着在实际项目中问题去看,而不是做什么翻译等花哨的东西,我也没这积极性。

On 8月14日, 下午2时35分, "liun" <liuna...@gmail.com> wrote:

> 别忘了,项目组还有个14岁的初中生。你觉得容易看懂的别人未必和你一样,如果你觉得简单那就把这个翻译工作做好,翻译工作有三字标准:信、达、雅,做好是不容-易的。
> 对信达雅的解释:http://zhidao.baidu.com/question/20128993.html

liun

unread,
Aug 20, 2009, 8:06:53 AM8/20/09
to dora...@googlegroups.com
你没有时间我就更没有时间了,连翻译一篇文章都不愿意做那就不用再做下去了。

liun

unread,
Aug 20, 2009, 8:11:50 AM8/20/09
to dora...@googlegroups.com
首先,至少要等到9月我才有机会往项目里贡献代码。
其次,目前很多东西不确定,需要研究好几个问题,才能开始做设计。
目前的计划是学习Netfilter,设计包转发功能,还需要学习iftop这个小工具做流量查看。
libpcap和libnet是最基础的两个开发包,是整个项目的基础。

redpig315

unread,
Aug 21, 2009, 12:43:14 AM8/21/09
to dora-cat
找不到那个资料了 ,要不我也翻译一下,

青藤

unread,
Aug 21, 2009, 1:35:08 AM8/21/09
to dora-cat

第一篇:《Programming with pcap》
http://www.tcpdump.org/pcap.htm


先把第一篇翻译完看效果,如果有需要继续翻译第二篇


第二篇《Programming with Libpcap - Sniffing the network from our own
application》
http://recursos.aldabaknocking.com/libpcapHakin9LuisMartinGarcia.pdf

就是翻译这个


On 8月21日, 下午12时43分, redpig315 <xiucai...@163.com> wrote:
> 找不到那个资料了 ,要不我也翻译一下,
>
> On 8月20日, 下午5时04分, 青藤 <libin...@gmail.com> wrote:
>
>
>
> > 大哥,你翻译吧,我现在很忙啊
>
> > On 8月14日, 下午2时35分, "liun" <liuna...@gmail.com> wrote:
>

> > > 别忘了,项目组还有个14岁的初中生。你觉得容易看懂的别人未必和你一样,如果你觉得简单那就把这个翻译工作做好,翻译工作有三字标准:信、达、雅,做好是不容--易的。
> > > 对信达雅的解释:http://zhidao.baidu.com/question/20128993.html- 隐藏被引用文字 -
>
> - 显示引用的文字 -

Reply all
Reply to author
Forward
0 new messages