Ayuda para compilar ettercap

Mauricio J. Adonis C. mike.alfa.2007 en gmail.com
Mar Mayo 11 21:00:11 BST 2010


El mar, 11-05-2010 a las 08:14 +0200, raul gonzalez ricardo escribió:
> Gracias por contestar, al final me he decantado por utilizar el
> ettercap y la verdad es que es mucho más completo. El problema es que
> no quiero instalar el que viene en los repositorios de ubuntu, si no
> que quiero el que est'en la pagina web por los plugins que trae y
> demás. El problema radica que al compilarlo me da un error. Tengo la
> version 0.7.3 descargada, la descomprimo y demas y luego hago:
> 
> 
> ./configure
> 
> 
> Se hace todo bien y me devuelve esto:
> 
> 
> ==================================================
> 
> 
>  Install directory:  /usr/local
> 
> 
> 
> 
> Libraries : 
> 
> 
>  LIBPCAP ................  default
>  LIBNET .................  default
>  LIBSSL .................  default
>  NCURSES ................  default
>  GTK+ ...................  yes
> 
> 
> Functionalities : 
> 
> 
>  Debug mode .............  no
>  Plugin support .........  yes
>  Passive DNS ............  yes
>  Perl regex in filters ..  yes
>  Iconv UTF-8 support ....  yes
> 
> 
> ==================================================
> 
> 
> Es decir que de momento va bien la cosa, o eso creo ya que tampoco
> tengo mucha experiencia en linux.
> 
> 
> Después hago un make:
> 
> 
> Y ya me reporta este error, con lo cual no puedo hacer el "make
> install"
> 
> 
> In function ‘open’,
>     inlined from ‘log_open’ at ec_log.c:193:
> /usr/include/bits/fcntl2.h:51: error: call to ‘__open_missing_mode’
> declared with attribute error: open with O_CREAT in second argument
> needs 3 arguments
> make[2]: *** [ettercap-ec_log.o] Error 1
> make[2]: se sale del directorio
> `/home/tecnico/Descargas/ettercap-NG-0.7.3/src'
> make[1]: *** [all-recursive] Error 1
> make[1]: se sale del directorio
> `/home/tecnico/Descargas/ettercap-NG-0.7.3/src'
> make: *** [all-recursive] Error 1
> 
> 
> 
> 
> ALguien sabe si hice algo mal??? Os agradecería la ayuda mucho. Un
> saludo.

Hay un problema de codificación en el módulo ec_log.c, que está dentro
directorio /src en el directorio de instalación, en la línea 193
específicamente. Aquí se usa la función open() para acceder al archivo
«filename». Al ver el manual de C para dicha función...

$ man -S 2 open

... se ve que falta un argumento de función... el modo de acceso al
archivo (sólo lectura, sólo escritura, lectura/escritura), yo le agregué
el argumento lectura/escritura (O_RDWR) y compila sin problemas.

La línea 193 entonces puede ser editada para dejarla así...

fd->fd = open(filename, O_CREAT | O_TRUNC | O_RDWR | O_BINARY, O_RDWR);

... guardas los cambios y haces...

$ make clean # limpia el código fuente para una nueva compilación
$ make
$ sudo make install

-- 
Saludos, 
Mauricio J. Adonis C.
------------------------------------------
Usuario Linux  # 482032
Usuario Ubuntu #  25554
------------------------------------------
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : no disponible
Tipo       : application/pgp-signature
Tamaño     : 198 bytes
Descripción: Esto es una parte de mensaje firmado digitalmente
Url        : https://lists.ubuntu.com/archives/ubuntu-es/attachments/20100511/dd7757cf/attachment.pgp 


Más información sobre la lista de distribución ubuntu-es