源代码安装cowpatty出错!

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
头像
friend.ethan
帖子: 687
注册时间: 2008-05-13 20:40
来自: 江南西道

源代码安装cowpatty出错!

#1

帖子 friend.ethan » 2009-03-14 12:23

我想安装下cowpatty,下载了源代码,地址为http://ncu.dl.sourceforge.net/sourcefor ... ty-2.0.tgz
解压后cd进入ls出现如下
AUTHORS COPYING CVS FAQ md5.c sha1.c utils.c
CHANGELOG cowpatty.c dict INSTALL md5.h sha1.h utils.h
common.h cowpatty.h eap-test.dump Makefile README TODO WISHLIST
打开INSTALL文本看到如下
coWPAtty - Brute-force dictionary attack against WPA-PSK.

Copyright(c) 2004, Joshua Wright <jwright@hasborg.com>

INSTALLATION

Most users will want to just run "make" to generate the coWPAtty binary.
Running "make strip" will result in a smaller binary without symbols.

Note that the default settings in the Makefile assume you have OpenSSL
installed on your system. OpenSSL has a considerably faster SHA1
implementation than the C or i386 assembler code included in sha1.c. If you
don't have OpenSSL on your system ... install it. It's at www.openssl.org.

If you don't want to install OpenSSL and don't mind a ~25 performance
performance hit, edit the Makefile such that the line with "-DOPENSSL" is
commented out, and uncomment the line with "-Di386_ASM".
大概意思是一般就make就可以了,但是该软件默认配置是用户已经安装OpenSSL,如果要安装的话去安装。不想安装的话就把Makefile文件带有 "-DOPENSSL"这一行注释掉,把带有 "-Di386_ASM"解注释。

以下是Makefile文件内容
##################################
# <jwright> Well, I may be doing stupid things with make
# <jwright> OK, it was Makefile stupid'ness
# <jwright> I don't really understand what the hell I am doing with Make, I'm
# just copying other files and seeing what works.
# <dragorn> heh
# <dragorn> i think thats all anyone does
# <dragorn> make is a twisted beast
##################################
LDLIBS = -lpcap
CFLAGS = -pipe -Wall -DOPENSSL -O3
LDLIBS += -lcrypto
#CFLAGS = -g3 -ggdb -pipe -Wall -Di386_ASM
#CFLAGS = -g3 -ggdb -pipe -Wall
#CFLAGS += -g3 -ggdb
#CFLAGS += -static
PROGOBJ = md5.o sha1.o utils.o cowpatty.o
PROG = cowpatty

all: $(PROGOBJ) $(PROG)

cowpatty: common.h md5.c md5.h sha1.h cowpatty.c cowpatty.h sha1.c \
sha1.h utils.c utils.h
$(CC) $(CFLAGS) cowpatty.c -o cowpatty utils.o md5.o sha1.o $(LDLIBS)

utils: utils.c utils.h
$(CC) $(CFLAGS) utils.c -c

md5: md5.c md5.h
$(CC) $(CFLAGS) md5.c -c

sha1: sha1.c sha1.h
$(CC) $(CFLAGS) sha1.c -c

clean:
$(RM) $(PROGOBJ) $(PROG) *~

strip:
@ls -l $(PROG)
@strip $(PROG)
@ls -l $(PROG)

love:
@echo "Not right now, I have a headache."
我不知道自己安装了OPENSSL没有,就sudo apt-get install OPENSSL
结果发现自己安装了

下面是出错信息,是默认配置
ethan@King-laptop:~/下载/cowpatty$ make
cc -pipe -Wall -DOPENSSL -O3 -c -o md5.o md5.c
md5.c:25:25: error: openssl/md5.h: 没有该文件或目录
md5.c: 在函数‘md5_mac’中:
md5.c:34: 错误: ‘MD5_CTX’未声明(在此函数内第一次使用)
md5.c:34: 错误: (即使在一个函数内多次出现,每个未声明的标识符在其
md5.c:34: 错误: 所在的函数内也只报告一次。)
md5.c:34: 错误: expected ‘;’ before ‘context’
md5.c:35: 警告: 隐式声明函数‘MD5_Init’
md5.c:35: 错误: ‘context’未声明(在此函数内第一次使用)
md5.c:36: 警告: 隐式声明函数‘MD5_Update’
md5.c:39: 警告: 隐式声明函数‘MD5_Final’
md5.c: 在函数‘hmac_md5_vector’中:
md5.c:47: 错误: ‘MD5_CTX’未声明(在此函数内第一次使用)
md5.c:47: 错误: expected ‘;’ before ‘context’
md5.c:55: 错误: ‘context’未声明(在此函数内第一次使用)
make: *** [md5.o] 错误 1
下面是修改了注释后的出错信息
ethan@King-laptop:~/下载/cowpatty$ make
cc -g3 -ggdb -pipe -Wall -Di386_ASM -c -o md5.o md5.c
cc -g3 -ggdb -pipe -Wall -Di386_ASM -c -o sha1.o sha1.c
sha1.c: 在函数‘pbkdf2_sha1_f’中:
sha1.c:151: 警告: 初始化指针时目标与指针符号不一致
sha1.c:167: 警告: 传递‘hmac_sha1_vector’的参数 1 给指针时,目标与指针符号不一致
sha1.c:172: 警告: 传递‘hmac_sha1’的参数 1 给指针时,目标与指针符号不一致
sha1.c: 在函数‘sha1_prf’中:
sha1.c:219: 警告: 初始化指针时目标与指针符号不一致
sha1.c:219: 警告: 初始化指针时目标与指针符号不一致
sha1.c:219: 警告: 初始化指针时目标与指针符号不一致
cc -g3 -ggdb -pipe -Wall -Di386_ASM -c -o utils.o utils.c
cc -g3 -ggdb -pipe -Wall -Di386_ASM -c -o cowpatty.o cowpatty.c
cowpatty.c:38:18: error: pcap.h: 没有该文件或目录
cowpatty.c:57: 错误: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
cowpatty.c:60: 错误: ‘PCAP_ERRBUF_SIZE’未声明(不在函数内)
cowpatty.c: 在函数‘openpcap’中:
cowpatty.c:218: 错误: ‘p’未声明(在此函数内第一次使用)
cowpatty.c:218: 错误: (即使在一个函数内多次出现,每个未声明的标识符在其
cowpatty.c:218: 错误: 所在的函数内也只报告一次。)
cowpatty.c:218: 警告: 隐式声明函数‘pcap_open_offline’
cowpatty.c:225: 警告: 隐式声明函数‘pcap_datalink’
cowpatty.c:229: 错误: ‘DLT_NULL’未声明(在此函数内第一次使用)
cowpatty.c:230: 错误: ‘DLT_EN10MB’未声明(在此函数内第一次使用)
cowpatty.c:237: 错误: ‘DLT_IEEE802_11’未声明(在此函数内第一次使用)
cowpatty.c:244: 错误: ‘DLT_PRISM_HEADER’未声明(在此函数内第一次使用)
cowpatty.c: 在函数‘closepcap’中:
cowpatty.c:262: 警告: 隐式声明函数‘pcap_close’
cowpatty.c:262: 错误: ‘p’未声明(在此函数内第一次使用)
cowpatty.c: 在函数‘getpacket’中:
cowpatty.c:270: 警告: 隐式声明函数‘pcap_next_ex’
cowpatty.c:270: 错误: ‘p’未声明(在此函数内第一次使用)
cowpatty.c: 在函数‘main’中:
cowpatty.c:468: 错误: 提领指向不完全类型的指针
cowpatty.c:472: 错误: 提领指向不完全类型的指针
cowpatty.c:511: 警告: 隐式声明函数‘gettimeofday’
make: *** [cowpatty.o] 错误 1
各位懂的帮助下,谢谢!
TuTUX
帖子: 2
注册时间: 2006-11-25 14:02

Re: 源代码安装cowpatty出错!

#2

帖子 TuTUX » 2009-03-15 13:26

aptitude install libssl-dev
头像
friend.ethan
帖子: 687
注册时间: 2008-05-13 20:40
来自: 江南西道

Re: 源代码安装cowpatty出错!

#3

帖子 friend.ethan » 2009-03-15 19:16

TuTUX 写了:aptitude install libssl-dev
按照这个方法
ethan@King-laptop:~$ sudo aptitude install libssl-dev
[sudo] password for ethan:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
正在初始化软件包状态... 完成
正在编辑扩展状态信息... 完成
下列软件包将被“删除”:
libcolamd-3.2.0{u} libstlport4.6ldbl{u} lp-solve{u}
thunderbird-locale-en-gb{u} uno-libs3{u} ure{u}
0 个软件包被升级,新安装0 个, 6 个将被删除, 同时 1 个将不升级。
需要获取 0B 的存档。 解包后将释放 10.8MB。
您要继续吗?[Y/n/?] y
正在编辑扩展状态信息... 完成
(正在读取数据库 ... 系统当前总共安装有 255417 个文件和目录。)
正在删除 lp-solve ...
正在删除 libcolamd-3.2.0 ...
正在删除 thunderbird-locale-en-gb ...
正在删除 uno-libs3 ...
正在删除 ure ...
dpkg - 警告:当删除“ure”,目录“/usr/lib/ure/lib”非空,因而不会删除该目录。
dpkg - 警告:当删除“ure”,目录“/usr/lib/ure”非空,因而不会删除该目录。
正在删除 libstlport4.6ldbl ...
正在处理用于 libc6 的触发器...
ldconfig deferred processing now taking place
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
正在读取扩展状态文件
正在初始化软件包状态... 完成
正在编辑扩展状态信息... 完成
再MAKE还是不行
ethan@King-laptop:~/cowpatty-4.3$ make
cc -pipe -Wall -DOPENSSL -O2 -g3 -ggdb -c -o utils.o utils.c
utils.c:33:18: error: pcap.h: 没有该文件或目录
In file included from utils.c:35:
utils.h:29: 错误: expected ‘)’ before ‘*’ token
utils.c:142: 错误: expected ‘)’ before ‘*’ token
make: *** [utils.o] 错误 1
感谢帮助,问题还没解决那,给作者发了邮件,还没有回!
回复