error de compilacion ettercap ubuntu 8.10

Iniciado por Punisher.linux, 16 Diciembre 2008, 18:34 PM

0 Miembros y 1 Visitante están viendo este tema.

Punisher.linux

Hola a todos jejeje

Tengo une error al compilar etterca-ng 0.7.3 en ubuntu 8.10, se que esta en los repositorios pero en la guia de hacking avanzado incluye que de esta forma no tiene todos los plug-in necesarios.
1ºInstalo las dependencais necesarias libpcre3-dev libpcap0.8-dev libnet0 libnet1-dev libssl-dev ncurses-bin ncurses5-dev
2º introduzco el ./configure --enable-plugins --enable-debug
3ºintroduzcon make. y aqui me da el error de compilacion menciona algo de ip forward y demas.

alguien ha instalado ettercap de esta forma en ubuntu?

muchas gracias .
¬¬

oPen syLar

#1
Aca es cuando entra dxr y dice..

Hacer preguntas concretas, claras y aportando toda la documentación necesaria.
De lo contrario, no tendreis una respuesta clara.

xDDD  :rolleyes:

Puedes ser mas especifico.. seguro que el configure no tira error.?

Es posible que los actuales modulos del iptables no tenga la misma funcionalidad o las mismas formas de funcionar que los anteriores...
Siempre habra 2 verdades, la que quieres creer y la que no aceptaras

sempus

por lo que yo entiendo el configure no le tira error jejeje
porque si desde alli va el error no tiene sentido hacer el make xD

como oPen syLar dice, deberia de hacer la pregunta mas concreta, postea la salida del error asi vemos que pasa ;)


salu2
...si la tuviera detendría el tiempo para verla como lo hago en este momento y seria feliz eternamente...
Descarga openSUSE

Punisher.linux

Lo siento mucho jejeje.Os pongo paso a paso lo que he hecho.

1º sudo apt-get install libpcre3-dev libpcap0.8-dev libnet0 libnet1-dev libssl-dev ncurses-bin ncurses5-dev
2º  tar -xvf ettercap-NG-0.7.3.tar.gz y cd ettercap-NG-0.7.3
3º./configure --enable-plugins --enable-debug
==================================================

Install directory:  /usr/local


Libraries :

LIBPCAP ................  default
LIBNET .................  default
LIBSSL .................  default
NCURSES ................  default
GTK+ ...................  yes

Functionalities :

Debug mode .............  yes
Plugin support .........  yes
Passive DNS ............  yes
Perl regex in filters ..  yes
Iconv UTF-8 support ....  yes

==================================================

4ºmake, aqui es donde salta el error o creo que lo es.
Making all in man
make[1]: se ingresa al directorio `/home/alberto/Escritorio/ettercap-NG-0.7.3/man'
make[1]: No se hace nada para `all'.
make[1]: se sale del directorio `/home/alberto/Escritorio/ettercap-NG-0.7.3/man'
Making all in share
make[1]: se ingresa al directorio `/home/alberto/Escritorio/ettercap-NG-0.7.3/share'
make[1]: No se hace nada para `all'.
make[1]: se sale del directorio `/home/alberto/Escritorio/ettercap-NG-0.7.3/share'
Making all in include
make[1]: se ingresa al directorio `/home/alberto/Escritorio/ettercap-NG-0.7.3/include'
make  all-am
make[2]: se ingresa al directorio `/home/alberto/Escritorio/ettercap-NG-0.7.3/include'
make[2]: No se hace nada para `all-am'.
make[2]: se sale del directorio `/home/alberto/Escritorio/ettercap-NG-0.7.3/include'
make[1]: se sale del directorio `/home/alberto/Escritorio/ettercap-NG-0.7.3/include'
Making all in include
make[1]: se ingresa al directorio `/home/alberto/Escritorio/ettercap-NG-0.7.3/include'
make  all-am
make[2]: se ingresa al directorio `/home/alberto/Escritorio/ettercap-NG-0.7.3/include'
make[2]: No se hace nada para `all-am'.
make[2]: se sale del directorio `/home/alberto/Escritorio/ettercap-NG-0.7.3/include'
make[1]: se sale del directorio `/home/alberto/Escritorio/ettercap-NG-0.7.3/include'
Making all in src
make[1]: se ingresa al directorio `/home/alberto/Escritorio/ettercap-NG-0.7.3/src'
Making all in os
make[2]: se ingresa al directorio `/home/alberto/Escritorio/ettercap-NG-0.7.3/src/os'
if gcc -DHAVE_CONFIG_H -I. -I. -I../../include    -g -ggdb -Wmissing-prototypes -Wno-uninitialized -Werror -Wformat-security -Wsign-compare -Wall      -g -O2 -MT libec_os_a-ec_linux.o -MD -MP -MF ".deps/libec_os_a-ec_linux.Tpo" -c -o libec_os_a-ec_linux.o `test -f 'ec_linux.c' || echo './'`ec_linux.c; \
then mv -f ".deps/libec_os_a-ec_linux.Tpo" ".deps/libec_os_a-ec_linux.Po"; else rm -f ".deps/libec_os_a-ec_linux.Tpo"; exit 1; fi
cc1: warnings being treated as errors
ec_linux.c: En la función 'disable_ip_forward':
ec_linux.c:44: error: se descarta el valor de devolución de 'fscanf', se declaró con el atributo warn_unused_result
ec_linux.c: En la función 'restore_ip_forward':
ec_linux.c:71: error: se descarta el valor de devolución de 'fscanf', se declaró con el atributo warn_unused_result
make[2]: *** [libec_os_a-ec_linux.o] Error 1
make[2]: se sale del directorio `/home/alberto/Escritorio/ettercap-NG-0.7.3/src/os'
make[1]: *** [all-recursive] Error 1
make[1]: se sale del directorio `/home/alberto/Escritorio/ettercap-NG-0.7.3/src'
make: *** [all-recursive] Error 1


muchas gracias por ayudar y lo siento mucho por no documentarlo adecuadamente, si necesitais algo mas indicarlo
¬¬

Punisher.linux

#4
 :huh: nadie sabe por que peude ser? el caso esque con el ubuntu 8.04 me pasaba lo mismo, alguien le pasa lo mismo que a mi? si alguien usa ubuntu y a compilado la ultima version de ettercap que lo ponga porfavor que me tiene estancado varios dias esto.

Muchas gracias
¬¬

oPen syLar

Cita de: sempus en 16 Diciembre 2008, 21:01 PM
como oPen syLar dice, deberia de hacer la pregunta mas concreta, postea la salida del error asi vemos que pasa ;)

Que no lo digo yo lo dice dxr  ;D

Cita de: Punisher.linux en 16 Diciembre 2008, 21:59 PM
Lo siento mucho jejeje.Os pongo paso a paso lo que he hecho.

1º sudo apt-get install libpcre3-dev libpcap0.8-dev libnet0 libnet1-dev libssl-dev ncurses-bin ncurses5-dev
2º  tar -xvf ettercap-NG-0.7.3.tar.gz y cd ettercap-NG-0.7.3
3º./configure --enable-plugins --enable-debug
==================================================

Install directory:  /usr/local


Libraries :

LIBPCAP ................  default
LIBNET .................  default
LIBSSL .................  default
NCURSES ................  default
GTK+ ...................  yes

Functionalities :

Debug mode .............  yes
Plugin support .........  yes
Passive DNS ............  yes
Perl regex in filters ..  yes
Iconv UTF-8 support ....  yes

==================================================

4ºmake, aqui es donde salta el error o creo que lo es.
Making all in man
make[1]: se ingresa al directorio `/home/alberto/Escritorio/ettercap-NG-0.7.3/man'
make[1]: No se hace nada para `all'.
make[1]: se sale del directorio `/home/alberto/Escritorio/ettercap-NG-0.7.3/man'
Making all in share
make[1]: se ingresa al directorio `/home/alberto/Escritorio/ettercap-NG-0.7.3/share'
make[1]: No se hace nada para `all'.
make[1]: se sale del directorio `/home/alberto/Escritorio/ettercap-NG-0.7.3/share'
Making all in include
make[1]: se ingresa al directorio `/home/alberto/Escritorio/ettercap-NG-0.7.3/include'
make  all-am
make[2]: se ingresa al directorio `/home/alberto/Escritorio/ettercap-NG-0.7.3/include'
make[2]: No se hace nada para `all-am'.
make[2]: se sale del directorio `/home/alberto/Escritorio/ettercap-NG-0.7.3/include'
make[1]: se sale del directorio `/home/alberto/Escritorio/ettercap-NG-0.7.3/include'
Making all in include
make[1]: se ingresa al directorio `/home/alberto/Escritorio/ettercap-NG-0.7.3/include'
make  all-am
make[2]: se ingresa al directorio `/home/alberto/Escritorio/ettercap-NG-0.7.3/include'
make[2]: No se hace nada para `all-am'.
make[2]: se sale del directorio `/home/alberto/Escritorio/ettercap-NG-0.7.3/include'
make[1]: se sale del directorio `/home/alberto/Escritorio/ettercap-NG-0.7.3/include'
Making all in src
make[1]: se ingresa al directorio `/home/alberto/Escritorio/ettercap-NG-0.7.3/src'
Making all in os
make[2]: se ingresa al directorio `/home/alberto/Escritorio/ettercap-NG-0.7.3/src/os'
if gcc -DHAVE_CONFIG_H -I. -I. -I../../include    -g -ggdb -Wmissing-prototypes -Wno-uninitialized -Werror -Wformat-security -Wsign-compare -Wall      -g -O2 -MT libec_os_a-ec_linux.o -MD -MP -MF ".deps/libec_os_a-ec_linux.Tpo" -c -o libec_os_a-ec_linux.o `test -f 'ec_linux.c' || echo './'`ec_linux.c; \
then mv -f ".deps/libec_os_a-ec_linux.Tpo" ".deps/libec_os_a-ec_linux.Po"; else rm -f ".deps/libec_os_a-ec_linux.Tpo"; exit 1; fi
cc1: warnings being treated as errors
ec_linux.c: En la función 'disable_ip_forward':
ec_linux.c:44: error: se descarta el valor de devolución de 'fscanf', se declaró con el atributo warn_unused_result
ec_linux.c: En la función 'restore_ip_forward':
ec_linux.c:71: error: se descarta el valor de devolución de 'fscanf', se declaró con el atributo warn_unused_result
make[2]: *** [libec_os_a-ec_linux.o] Error 1
make[2]: se sale del directorio `/home/alberto/Escritorio/ettercap-NG-0.7.3/src/os'
make[1]: *** [all-recursive] Error 1
make[1]: se sale del directorio `/home/alberto/Escritorio/ettercap-NG-0.7.3/src'
make: *** [all-recursive] Error 1


muchas gracias por ayudar y lo siento mucho por no documentarlo adecuadamente, si necesitais algo mas indicarlo

Ok.. mira te marca un error en fscanf y fscanf es una funcion de stdio.h, por lo tanto tu error proviene del paquete libc6-dev

Busca a ver que version del libc6-dev requiere tu ettercap lo bajas o compilas y todo bien
Siempre habra 2 verdades, la que quieres creer y la que no aceptaras

Punisher.linux

Ufff esa libreria es mu jodida, habria que desinstalar un monton de cosas que dependen de esas librerias. :-(
¬¬

DyE

Punisher.linux, no creo que el error sea de la librería, el error que te lanza es de la configuración, creo, que como la mayoría tendrás iptables, si no lo has configurado por defecto no te la pilla y te marca la primera.
Tienes que descomentar la línea de iptables (si es lo que tienes claro), pero vamos, es más sencillo que todo esto que cojas el ettercap de los repositorios, y luego le metes pluyongs, si quieres.
No creo que te hagan falta la mayoría.
Con el del repos ya sniffas las testo plano y también las ssl.
Con los pluying (se escribe asín) ¿? bueno, nos entendemos, dle redirec y ataques d.o.s. y el whires apoyando al etter sobra, no??
En los repos del 8.10 tienes la última version del etter con unos cuantos pluying.

Necesitabas alguno en especial??
Espero poder ayudarte si necesitas algo, salu2 y suerte.
Feliz 2009¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ :rolleyes:

^Tifa^

Su error es referente a 2 funciones declaradas con el atributo _warn_unused_return_  que aparentemente no estan devolviendo nada para ser funciones, y por ende el atributo esta lanzando un aviso de que no estan estas 2 funciones devolviendo nada..... como este atributo deberia tratarse solo como warnings y continuar con la compilacion pero esta simpatica linea :

cc1: warnings being treated as errors

Ya especifica que si hay warnings.. pues tratalos como error, y tratarlos como error es No compilar.

Abre el archivo linux.c especificamente dentro de estas 2 funciones :

disable_ip_forward()
restore_ip_forward()

Que estan cerca de la linea 44 y 71 como te indica ahi...

Puedes postear el codigo de ambas?  Te recomiendo que los postees en el subforo de programacion de C/C++ ya que aqui podran ayudarte mas que en este subforo de Linux. Ya que tu problema no es de configuracion o Linux en si, sino de una aplicacion que no compila porque su apreciado codigo tiene atributos incluidos (Fuera mas facil quitarlos todos de los archivos cabeceras y que el compilador No chequee nada y compile, pero esto es falta de etica para un programador  ;D )

En fin como te dije abre las 2 funciones anteriores, copia el codigo de estas en el foro de C/C++ y expon tu error que no puedes compilar por x atributos declarados, y que no quieres quitar los atributos (Que es probable que te den esa solucion que es la mas facil) sino que tu quieres que estas funciones obligatoriamente retornen un valor   ;)

^Tifa^

#9
Por ejemplo para que entiendas mejor sobre el atributo del cual se queja cuando quieres compilar....

Esto es redundante en este foro pero aqui va .... mira el siguiente ejemplito que he realizado en C :


#include <stdio.h>
#include <stdlib.h>

int devuelve() __attribute__((__warn_unused_result__));

int funcion();

int main()
{

funcion() <= 0 ? fprintf(stdout, "No retorne nada!\n") : fprintf(stdout, "Retorno %d\n", funcion());

}

int devuelve() {

return 10;

}

int funcion()
{
            if (devuelve() < 0)
    {
    return -1; }
    else {
            devuelve();
}

            return 0;
}



Intenta compilar el codigo anterior.. y veras algo muy similar al error que te ocurre  :) con la unica diferencia que aunque te salga el mismo warning que a ti, este compilara porque no he puesto en ninguna parte otro atributo que diga al compilador que trate los warnings como errores y salga, como es el caso de tu codigo. Cuando compiles el codigo anterior aunque te aparezca el warning en pantalla este compilara ejecuta la aplicacion final, veras que te dira mi 'No retorne nada'

Ahora te posteo el mismo codigo, pero retornando un valor de la funcion devuelve que es la que tiene el atributo _warn_unused_result_


#include <stdio.h>
#include <stdlib.h>

int devuelve() __attribute__((__warn_unused_result__));

int funcion();

int main()
{

funcion() <= 0 ? fprintf(stdout, "No retorne nada!\n") : fprintf(stdout, "Retorno %d\n", funcion());

}

int devuelve() {

return 10;

}

int funcion()
{
            if (devuelve() < 0)
    {
    return -1; }
    else {
            return devuelve();  // Aqui sencillamente respeto el atributo y agrego return
}

            return 0;
}



Compila el codigo anterior que ocurre ahora?? Que no te sale ningun mensaje de warning, y que ocurre cuando ejecutas la aplicacion? en vez de cero devuelve diez asi de simple.  ;)

Intentalo tu error esta menos complicado que el del chico que tiene problemas con simbolos del kernel y la tabla de simbolos globales.