关于的tfn2k安装问题出错(毕设求救)

nhyeh
关于的tfn2k安装问题出错(毕设求救)

小弟的毕业设计是有关DDOS拒绝服务攻击的,以下是有有关TFN2K的安装主要步骤

1.下载TFN2K.tgz

2.解压: tar zxvf tfn2k.tgz

3.修改文件

A. src/Makefile 如果你的系统是linux系统,不需要做任何修就可以,如果是win32系统,请将

# Linux / *BSD* / Others

CC = gcc

CFLAGS = -Wall -O3

CLIBS =

这几行注释掉,并将

# Win32 (cygwin)

#CC = gcc

#CFLAGS = -Wall -DWINDOZE -O2

#CLIBS =

这几行的注释去掉.因为我的测试系统为redhat linux 9.0所以并未做任何修改.

B. src/config.h ,默认的就可以用,如果感兴趣,可以照其注释信息进行调整。

C. src/ip.h 这里要做一些修改,否则编译会有错误,发生重复定义。

/*struct in_addr

{

unsigned long int s_addr;

};*/

注意啊~~我可是将它放在"/* */"之间,也就是注释掉了

D.更改编译器:

因为tfn2k支持的是egcs-1.1.2-30,而redhat linux 9.0所包含的是gcc-3.2.2-5,所以如果不替换掉gcc,tfn2k是编译不过去的.需

要注意的是,更改之后,有可能会造成基于gcc3.2.2的软件编译不去,请谨慎而行.

方法很简单的,找到一张redhat linux 6.2安装盘,将egcs-1.1.2-30.rpm、cpp-1.1.2-30.rpm拷到~/

cd /mnt/cdrom/Redhat/RPMS

cp egcs-1.1.2-30* cpp-1.1.2-30* ~/安装cpp rpm -Uvh --nodeps --oldpackage cpp-1.1.2-30.i386.rpm

安装egcs rpm -Uvh egcs-1.1.2-30.i386.rpm (如果提示有误,用nodeps、oldpackages、ignoreos等参数忽略过去就是了)

4.编译tfn2k

cd tfn2k/src

make
首先会谈出一个声明,你必须接受,之后会提示输入8-32位密码,前边提到过,这是唯一的认证凭证,会被分发于td进程中,所以一定

要记牢噢~。






但是我按照以上步骤,做到编译TFN2K,就出错,我输入make
                                                          [color=red][/color]得到的却是  makefile:5 """missing separator .stop

[[i] 本帖最后由 nhyeh 于 2008-5-16 15:22 编辑 [/i]]

loveflag
回复 #1 nhyeh 的帖子

你们毕业设计怎么还用redhat9.0啊。  你把GCC换个版本吧。  按照你的操作我在Centos5.0上没出错。
[root@Vyatta vyatta]# uname -a
Linux Vyatta 2.6.25-Vyatta #10 SMP Fri May 9 15:38:15 CST 2008 i686 i686 i386 GNU/Linux
[root@Vyatta vyatta]#
[root@Vyatta src]# ls
aes.c  aes.o   base64.c  cast.c  config.h  disc.c   flood.o  ip.h  Makefile  mkpass.c  pass.o     process.o  td.c  tfn    tfn.o    tribe.h
aes.h  agreed  base64.o  cast.o  disc      flood.c  ip.c     ip.o  mkpass    pass.c    process.c  td         td.o  tfn.c  tribe.c  tribe.o
[root@Vyatta src]#
make 成功 生成指定文件。
估计是你编译器的问题吧。 晕。。。现在毕业设计还真。。。。。

nhyeh
回复 #2 loveflag 的帖子

若真是编译器问题,是不是重新更改过编译器就行,但我试过,还是不行?

   请问,会不会由于上次编译时错误有残留,而造成的呢?

loveflag
回复 #3 nhyeh 的帖子

make clean
[root@Vyatta src]# make clean
removing junk...
[root@Vyatta src]#

论文写好了发过来看下。 你检查下GCC版本
[root@Vyatta src]# make clean
removing junk...
[root@Vyatta src]#
[root@Vyatta src]# rpm -qa |grep gcc
gcc-c++-4.1.2-14.el5
gcc-java-4.1.2-14.el5
libgcc-4.1.2-14.el5
gcc-4.1.2-14.el5
gcc-objc-4.1.2-14.el5
gcc-gfortran-4.1.2-14.el5
gcc-gnat-4.1.2-14.el5
gcc-objc++-4.1.2-14.el5
[root@Vyatta src]#
上面的是我的环境,编译通过。

[[i] 本帖最后由 loveflag 于 2008-5-16 16:59 编辑 [/i]]

loveflag
[root@Vyatta src]# cat Makefile
# Tribe FloodNet - 2k edition
# by Mixter <[email]mixter@newyorkoffice.com[/email]>
# Generic Makefile

# Linux / *BSD* / Others
CC = gcc
CFLAGS = -Wall -O3
CLIBS =

# Solaris (IRIX / AIX / HPUX ?)
#CC = gcc
#CFLAGS = -Wall -O3
#CLIBS = -lnsl -lsocket

# Win32 (cygwin)
#CC = gcc
#CFLAGS = -Wall -DWINDOZE -O2
#CLIBS =

SERVER_OBJ = pass.o aes.o base64.o cast.o flood.o ip.o process.o tribe.o td.o
CLIENT_OBJ = pass.o aes.o base64.o cast.o ip.o tribe.o tfn.o

all: td tfn

clean:
        @echo removing junk...
        @rm -f tfn td mkpass disc pass.c *.exe *.o *~

tfn:    agreed ${CLIENT_OBJ}
        ${CC} ${CFLAGS} ${CLIBS} ${CLIENT_OBJ} -o tfn
        strip tfn

td:     agreed ${SERVER_OBJ}
        ${CC} ${CFLAGS} ${CLIBS} ${SERVER_OBJ} -o td
        strip td

agreed: disc
        ./disc

pass.c: mkpass
        ./mkpass

war:
        @echo ...not love/!
[root@Vyatta src]# date
2008年 05月 16日 星期五 17:00:22 CST
[root@Vyatta src]#

nhyeh
这个就是我的出错图

这个就是我的出错图

nhyeh
回复 #6 nhyeh 的帖子

好像,  MAKE CLEAN 这个命令行不通,可能我对LINUX知道的太少了,能否提供一些建议,谢谢

loveflag
回复 #7 nhyeh 的帖子

yum install gcc*
然后 按照我的建议去做,不需要rpm装你这两个包