logo资料库

dsniff安装教程.doc

第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
资料共8页,全文预览结束
dsniff 安装教程 openssl-0.9.7i.tar.gz libnids-1.16.tar.gz libpcap-0.7.2.tar.gz libnet-1.0.2a.tar.gz berkeley_db-4.6.21.NC.tar.gz dsniff-2.3.tar.gz 将会很完美的工作,下面只是我的弯路而已,用上面的软件包自己装就可以了!我想这样可能会更节 约大家的时间。 经过一天的一个早上的忙碌,终于把 dsniff 给装上了,我来谈一谈自己的心得体会。其实也许用不了 这么多时间,只不过中间有些不爽,个人有点小问题,耽误了一阵子,看那些包的说明文件却看不进 去,浪费了不少时间。 我在 google 上搜 dsniff,然后下了一个 dsniff-2.4b1.tar.gz,它是 beta 版的。我把下的源码包解压 了,看了一下 README,按里面的要求,先下了它需要的所有包。我下的基本上都是最新的包,我估计 大家都一样,有新的,谁会去下旧的呢,我也一样。分别是:libnet-.1.1.2.1.tar.gz, libnids-1.18.tar.gz,libpcap-0.9.8.tar.gz,berkeley_db-4.6.21.NC.tar.gz,那 berkeley 是我 自己加上去的,为的是看着方便,要不时间长了,就不知它是什么了。因为我以前做过一点关于 openssl 的东西,我有它的源码包,所以我没去下,打算用以前的。 现在需要的东西都全了,我就开始安装了。 我喜欢把源码解压到/tmp 下。先装的是 openssl-0.9.8。看了 README,自觉收获不大,看的不是很明 白。又看 INSTALL,我最喜欢这个文件了,说实话。这也是我喜欢 linux 操作系统的一个原因,一般 来说,它们的文档很齐全;而且有时间的话且喜欢的话,自己可以慢慢研究其深层的东西。看了一下 它需要的东西,我都有,这就省了不少事。看到 Quick Start 处,我就开始了./configure,它在进行 时,我继续阅读,看的也不是很明白,因为几乎所有的都差不多,除了它自己特有的,看完也就忘完 了。而后我 make,时间挺长的,我的 CPU 啊,make test,然后 make install,也还算顺利。 而后装的是 libpcap,时间长记不清了,其实也不是很长,只是太乱,装这个软件,我可花了不少时间, 所以才写在这儿,也许能帮得上大家的忙。以前我看着 README 和 INSTALL,往往没看完就装完了,一 般也没什么问题,但这回我决定看完再装,就看吧,我也懒的多做什么,一切按默认的来吧,就 linux 三步骤:./configure ,make ,make install.我是三次输入的,担心中间出什么问题,比较喜欢下一 步下一步来。还好,没遇到什么问题。说实话,我真怕再遇到什么依赖关系,那可太麻烦了。我又 make clean 一下,以节约硬盘空间。 然后我把 libnet 给解压了,进入它根目录,看了一下 README,没什么内容。找 INSTALL,没找到,却 见 doc,就进去看看。进入 html,看了一下它的 html 文档,做的不错,不过暂时对我没用,我心想。 又找了好一阵子,没找到 INSTALL,虽然大多数经过三步就行了,可我还是想看到,那样心里踏实。 没办法,我就试了一下./configure ,make ,make install.还好,也没什么问题。 下面我就想安装 libnids,安装这个时,遇到不能上网,心中有点郁闷,在此浪费了不少时间。正好
下了好多天的《火烧圆明园》下完了,下午午休后我起来后,看了这部电影,感觉还行。然后继续装, 看了 README 和 MISC ,又看了 doc/LINUX。我就开始装了,这个也挺顺利的。 还剩下最大的 Berkeley DB,没办法,那也得装啊。看了一下 README,让看 docs/index.html。那就 看呗,谁怕谁啊。找到了关于安装的看了一下,开始装,进入 build_unix,按文档说的执 行 ../dist/configure ,然后 make ,make install 。这个太大,我装完就把它给删了,想以后想看 可以再解压。人家的文档就 20M,不得不佩服人家啊。 好了,终于可以装 dsniff 了,心中有点紧张,因为我在下载时就看到有人在网上问一些关于它的安装 问题。不过它倒挺小的,没解压时才 100 多 KB。它的 README N 年前我就看过了,然后没了,找啊找, 见 TODO,那也看看吧,总比没有强吧,原来是将来要做的,好像是吧,内容少的很。我就./configure, 倒没说错,但我 make 时就不行了,出问题了,忘了是啥错误了,但我翻回去看./configure 的输出, 见它找 libnet-config,但是没找到,我就在硬盘上搜了一下,有,只是它不在那个目录里找,看来 dsniff 真是跟不上时代了,人家目录都变了,它还去那儿找,我心里想,不知对不对啊。 我就把它拷到它要找的目录,这回./configure 没说找不到,但 make 仍有问题,很郁闷啊。噢我想起 来了,先前的错误是:
arpspoof.c:25: warning: `struct ether_addr' declared inside parameter list arpspoof.c:25: warning: its scope is only this definition or declaration, which is probably not what you want arpspoof.c:26: warning: `struct ether_addr' declared inside parameter list arpspoof.c: In function `arp_send': arpspoof.c:49: warning: passing arg 1 of `libnet_get_hwaddr' from incompatible pointer type ...... 而后来的错误少了一点,看起来是这样: arpspoof.c: In function `arp_send': arpspoof.c:49: warning: passing arg 1 of `libnet_get_hwaddr' from incompatible pointer type arpspoof.c:49: too many arguments to function `libnet_get_hwaddr' arpspoof.c:60: warning: passing arg 6 of `libnet_build_ethernet' from incompatible pointer type arpspoof.c:60: too few arguments to function `libnet_build_ethernet' arpspoof.c:64: `ETH_H' undeclared (first use in this function) arpspoof.c:64: (Each undeclared identifier is reported only once
arpspoof.c:64: for each function it appears in.) arpspoof.c:64: too few arguments to function `libnet_build_arp' arpspoof.c: In function `main': arpspoof.c:181: warning: assignment makes pointer from integer without a cast make: *** [arpspoof.o] Error 1 对我来说,这已经好多了,毕竟又少了一点错误。去网上搜,竟有一个 SB 竟让人升级 GCC,各位不要 怪我在此骂人,那丫真 TMD 是垃圾,你不懂就闭上你的鸟嘴,不懂装什么 X,shit。我想升级过 GCC, 可到现在还没升呢,它的依赖关系很多的,我把它需要的包下下来了,因为毕设,还没装呢,刚装了 个 tar 的新版本。噢,我用的是 Red Hat Linux 9.0,正在试一下 ubuntu,听说不错。 在一个网页上见一位仁兄说: “As another poster pointed out, a too new version of libnet will spoil the soup for dsniff. Same for the other libs dsniff uses. Fortunately, dsniff will build just fine without having to actually install the older libs on your system. What I did to get it to build... and what I suggest to you... is to get and compile the source for: libnet-1.0 libpcap-0.7.2 libnids-1.16 Then for dsniff: ../configure \ --with-libpcap=/path/to/libpcap-0.7.2 \ --with-libnet=/path/to/libnet-1.0 \ --with-libnids=/path/to/libnids-1.16 And "make", and all should be well. ” 我挺郁闷的,难不成再重装一次,我可不想,我估计没人想,我又在网上继续找,问的人挺多的,解 答的人没有!我发现大家都遇到了相似的问题。我想我要是搞定了,肯定去回答他们,可惜的是,我 又得浪费我的时间去注册,郁闷,不过为了兄弟姐妹们,我还是要做的,我这不已经在努力了吗?因 为他用的是 suggest ,所以我也不是很想试,万一要是不行,我不是亏大了吗?又的找了好一阵子, 没办法,只好试一下了,因为也在另一个网页上见一兄弟写到 dsniff 很长时间没有更新了,而库一直 在更新,所以出问题,这么一想也对。 我就下了那位仁兄推荐的 libnet-1.0,实际上我下的 libnet-1.0.2a.tar.gz 。把这个装上,当然包 括把 libnet-config 拷到/usr/local/bin/目录下了,./configure, OK! make,不行,不过错误已经 变了,大概是 libpcap.a 方面的。 那是昨晚的事,记不清了,还请见谅。不过也快关灯了,在下乃学生(大四毕设嘛,上面)。想“看 来今晚是搞不定了”,只能郁闷的睡觉。第二早,也就是今早,我很早就起床了,本想去跑步的,结 果没去成,忙着搜答案解决自己遇到的问题呢。
今早我索性把那几个他推荐的都装上看看。那得先下,我就把需要的给下了下来: libnids-1.16.tar.gz ,libpcap-0.7.2.tar.gz ,又下了一个 dsniff-2.3.tar.gz 下来试试看。把它 们(前两个)装上后,又在 dsniff 的根目录下 make distclean,重新./configure , make , make 有 问题,也就是说前面的./configure 没问题。错误大概是这样的: sshcrypto.c:25: field `key' has incomplete type sshcrypto.c:27: confused by earlier errors, bailing out make: *** [sshcrypto.o] Error 1 我又去 google 搜索,打开了一些来看,有一个说: You can see err mainly caused by the failure to locate several function calls (des_key_schedule,DES_ENCRYPT, DES_DECRYPT etc). Be aware dsniff heavily relies on libnet, libnid and openssl (and few more) insistkool@foo:~/dsniff$ cp sshcrypto.c sshcrypto.c.orig insistkool@foo:~/dsniff$ vi sshcrypto.c remove the space when you edit your file 15 #include <> 16 #include <>
17 18 #include <> 19 #include <> 20 #include 21 22 #include "sshcrypto.h" So, we can tell compiler where these headers locate 15 #include <> 16 #include <> 17 #include <> 18 #include <> 19 #include <> 20 #include <> All rite, now simply: insistkool@foo:~/dsniff-2.3$ make insistkool@foo:~/dsniff-2.3$ su -c 'make install' Well, even I am on slackware, I think it will works just fine on other distributions. Lesson of the day - Don't google before read through give away message and get my hand dirty! 他说三个,我怎么知道是哪三个,郁闷,继续找,又见一个文字我不认识的网页,但英文我认识,没 办法就打开看一下,那次只搜到两个链接,不看不行啊: #include "config.h" #include #include #include #include #include 省略 7)自動起動ファイルを作る ←追加 ←追加 我就把 sshcrypto.c 备份,然后修改试试看,哎,还真通过了那一关卡,可是又遇到下面的问题,我 快麻木了,我靠,怎么这么多错误啊!又上网搜才知这是 openssl 方面的问题. /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)(.text+0x35): undefined reference to `dlopen' /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)(.text+0x95): In function `dlfcn_load': In function `dlfcn_load': : :
In function : `dlfcn_load': undefined reference to `dlclose' /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)(.text+0xbc): undefined reference to `dlerror' /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)(.text+0x147): In function `dlfcn_bind_var': : undefined reference to `dlsym' /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)(.text+0x172): In function `dlfcn_bind_var': : undefined reference to `dlerror' /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)(.text+0x237): In function `dlfcn_bind_func': : undefined reference to `dlsym' /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)(.text+0x262): In function `dlfcn_bind_func': : undefined reference to `dlerror' /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o)(.text+0x50b): In function `dlfcn_unload': : undefined reference to `dlclose' collect2: ld returned 1 exit status make: *** [proftpd] Error 1 有的人说: “Answer: Add -ldl to your configure command, for example: make clean ./configure LDFLAGS=-ldl ... make” 这个是清楚的,还有不清楚的,当然也怪我懂得少。不清楚的直接说加 -ldl ,我怎么知道该加在什 么地方呢,在什么时候加呢,郁闷。我还以为是在 openssl 安装时呢,就把/use/include/openssl 这 个目录直接删了,当时还想要不要先不删,可我当时太郁闷,就直接 rm -rf /usr/include/openssl。 好了,没了,看到上面的网页时才知道是加在后编译的软件的地方,可为时已晚,只能重装 openssl 了。openssl 装的好慢啊!装完后,我又 make distclean(或者 make clean,这个用的太多,不太清 楚了,clean 删的少,distclean 把 Makefile 之类也删了,如果./configure 不成功的话,make distclean 自然就不成功了),然后我试了一下:./configure --LDFLAGS=-ldl ,这个是通过了,可是 make 还是 不行! 我又在另一网页中看到如下文字: ..... > > Like I said, this didn't happen in 0.9.7, will check my built options with > 0.9.8 > > Gavin. ... 而我装的 openssl 的确是 0.9.8,正好前面也有的说 dsniff 很久没更新,我决定下个 0.9.7 的试一 下,就下了 openssl-0.9.7i.tar.gz ,openssl-0.9.6j.tar.gz,0.9.6j 已经让我删了,在我装上 openssl-0.9.7 及 dsniff 之后。我就解压 openssl-0.9.7i.tar.gz 至 /tmp 目录,然后在终端输入 "./configure;make;make install",我就去买早饭吃了,回来后,它也就装好了。我在 dsniff 的根
目录下 make distclean,后又 ./configure , no problem , make , no problem, too . I was so happy. I installed it successfully at last. 最终我装的 dsnif 是 2.3 的。openssl 及库分别是(Red Hat Linux 9.2): openssl-0.9.7i.tar.gz libnids-1.16.tar.gz libpcap-0.7.2.tar.gz libnet-1.0.2a.tar.gz berkeley_db-4.6.21.NC.tar.gz So let's take it easy, we have the power to finish everything we want. Just believe in yourself! 坚持不懈,直到成功! 愿我的废话对大家能有所帮助,错误之处也请不吝赐教! 2008-04-28
分享到:
收藏