Foro de elhacker.net

Sistemas Operativos => GNU/Linux => Mensaje iniciado por: AALD666 en 21 Mayo 2011, 22:21 pm



Título: Como aplico este parche a libnet??? (SOLUCIONADO)
Publicado por: AALD666 en 21 Mayo 2011, 22:21 pm
necesito solucionar un bug que hay en libnet, pero no se como aplicar el parche para solucionar el bug.

en esta pagina: https://bugzilla.redhat.com/show_bug.cgi?id=589770 (https://bugzilla.redhat.com/show_bug.cgi?id=589770) cien que para solucionar el bug necesito aplicar este parche: https://bugzilla.redhat.com/attachment.cgi?id=412165 (https://bugzilla.redhat.com/attachment.cgi?id=412165)

y en los comentarios dicen esto sobre aplicar el parche:

Citar
Created attachment 412165 [details]
patch attempting to fix the problem

This patch necessitates adding "BuildRequires: libcap-ng-devel" and putting
"autoreconf -fv --install" before configure.

Pero no he podido entender bien como hago esto.

¿alguien seria tan amable de ayudarme con esto?

gracias


Título: Re: Como aplico este parche a libnet???
Publicado por: lawish en 22 Mayo 2011, 03:45 am
man patch ,

ay varias maneras de parchar un archivo


Título: Re: Como aplico este parche a libnet???
Publicado por: AALD666 en 22 Mayo 2011, 03:49 am
si pero en este caso nisiquiera se cual es el archivo que tengo que parchar


Título: Re: Como aplico este parche a libnet???
Publicado por: Foxy Rider en 23 Mayo 2011, 05:33 am
Habría que ver qué distro usás para ver una forma de que la libnet que instales se integre mejor al sistema ...
pero bueno ... la forma genérica de descargar, parchear, compilar e instalar la librería es esta (esta vez te hize la tarea, pero después hacé la tuya y lee manuales de los comandos que usé*) :

Código
  1. wget "http://downloads.sourceforge.net/project/libnet-dev/libnet-dev/libnet-1.1.4/libnet-1.1.4.tar.gz"
  2. tar -xzvf ./libnet-1.1.4.tar.gz
  3. cd libnet-1.1.4/
  4. wget "https://bugzilla.redhat.com/attachment.cgi?id=412165" -O libnetFix.patch
  5. patch -p1 < libnetFix.patch
  6.  

después se compila como se compila normalmente cuando hay un configure y Makefile de por medio, pero, con el detalle del autoreconf que pusieron en el reporte :

Código
  1. autoreconf -fv --install
  2. ./configure --prefix=/usr/ # hay que recordar que en GNU/Linux se mete practicamente todo aca
  3. make
  4. sudo make install

después podés hacer un make clean y guardar el directorio ese comprimido, ya que tiene la configuración hecha, ergo, se tiene la lista de lo que se instaló, si querés desinstalar en un futuro, vas a poder hacer un "sudo make uninstall" sobre ese directorio (o, reinstalar en caso que tu distro haya reemplazado los archivos con una actualización)

Esa es la forma manual (y algo irresponsable), pero debería servir para cualquier distro.

Saludos.

*: el comando man, y apropos son tus amigos ... pero si necesitás una mano con obtener info, con MUCHÍSIMO gusto te acerco la información, lo importante es que aprendas a pescar, no que te den el pescado !!!


Título: Re: Como aplico este parche a libnet???
Publicado por: AALD666 en 25 Mayo 2011, 23:32 pm
hago todos los pasos pero mira lo que me sale cuando ejecuto sudo make install:

Código:
[alejandro@aald libnet-1.1.4]$ sudo make install
Making install in include
make[1]: se ingresa al directorio `/home/alejandro/libnet/libnet-1.1.4/include'
Making install in libnet
make[2]: se ingresa al directorio `/home/alejandro/libnet/libnet-1.1.4/include/libnet'
make[3]: se ingresa al directorio `/home/alejandro/libnet/libnet-1.1.4/include/libnet'
make[3]: No se hace nada para `install-exec-am'.
test -z "/usr/local/include/libnet" || /bin/mkdir -p "/usr/local/include/libnet"
 /bin/install -c -m 644 libnet-asn1.h libnet-functions.h libnet-headers.h libnet-macros.h libnet-structures.h libnet-types.h '/usr/local/include/libnet'
make[3]: se sale del directorio `/home/alejandro/libnet/libnet-1.1.4/include/libnet'
make[2]: se sale del directorio `/home/alejandro/libnet/libnet-1.1.4/include/libnet'
Making install in win32
make[2]: se ingresa al directorio `/home/alejandro/libnet/libnet-1.1.4/include/win32'
make[3]: se ingresa al directorio `/home/alejandro/libnet/libnet-1.1.4/include/win32'
make[3]: No se hace nada para `install-exec-am'.
make[3]: No se hace nada para `install-data-am'.
make[3]: se sale del directorio `/home/alejandro/libnet/libnet-1.1.4/include/win32'
make[2]: se sale del directorio `/home/alejandro/libnet/libnet-1.1.4/include/win32'
make[2]: se ingresa al directorio `/home/alejandro/libnet/libnet-1.1.4/include'
make[3]: se ingresa al directorio `/home/alejandro/libnet/libnet-1.1.4/include'
make[3]: No se hace nada para `install-exec-am'.
test -z "/usr/local/include" || /bin/mkdir -p "/usr/local/include"
 /bin/install -c -m 644 libnet.h '/usr/local/include'
make[3]: se sale del directorio `/home/alejandro/libnet/libnet-1.1.4/include'
make[2]: se sale del directorio `/home/alejandro/libnet/libnet-1.1.4/include'
make[1]: se sale del directorio `/home/alejandro/libnet/libnet-1.1.4/include'
Making install in src
make[1]: se ingresa al directorio `/home/alejandro/libnet/libnet-1.1.4/src'
make[2]: se ingresa al directorio `/home/alejandro/libnet/libnet-1.1.4/src'
test -z "/usr/local/lib" || /bin/mkdir -p "/usr/local/lib"
 /bin/sh ../libtool   --mode=install /bin/install -c   libnet.la '/usr/local/lib'
libtool: install: /bin/install -c .libs/libnet.so.1.5.0 /usr/local/lib/libnet.so.1.5.0
libtool: install: (cd /usr/local/lib && { ln -s -f libnet.so.1.5.0 libnet.so.1 || { rm -f libnet.so.1 && ln -s libnet.so.1.5.0 libnet.so.1; }; })
libtool: install: (cd /usr/local/lib && { ln -s -f libnet.so.1.5.0 libnet.so || { rm -f libnet.so && ln -s libnet.so.1.5.0 libnet.so; }; })
libtool: install: /bin/install -c .libs/libnet.lai /usr/local/lib/libnet.la
libtool: install: /bin/install -c .libs/libnet.a /usr/local/lib/libnet.a
libtool: install: chmod 644 /usr/local/lib/libnet.a
libtool: install: ranlib /usr/local/lib/libnet.a
libtool: finish: PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/kde/bin:/usr/bin/core_perl:/opt/qt/bin:/sbin" ldconfig -n /usr/local/lib
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/local/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
make[2]: No se hace nada para `install-data-am'.
make[2]: se sale del directorio `/home/alejandro/libnet/libnet-1.1.4/src'
make[1]: se sale del directorio `/home/alejandro/libnet/libnet-1.1.4/src'
Making install in sample
make[1]: se ingresa al directorio `/home/alejandro/libnet/libnet-1.1.4/sample'
make[2]: se ingresa al directorio `/home/alejandro/libnet/libnet-1.1.4/sample'
make[2]: No se hace nada para `install-exec-am'.
make[2]: No se hace nada para `install-data-am'.
make[2]: se sale del directorio `/home/alejandro/libnet/libnet-1.1.4/sample'
make[1]: se sale del directorio `/home/alejandro/libnet/libnet-1.1.4/sample'
Making install in doc
make[1]: se ingresa al directorio `/home/alejandro/libnet/libnet-1.1.4/doc'
Making install in man
make[2]: se ingresa al directorio `/home/alejandro/libnet/libnet-1.1.4/doc/man'
Making install in man3
make[3]: se ingresa al directorio `/home/alejandro/libnet/libnet-1.1.4/doc/man/man3'
make[4]: se ingresa al directorio `/home/alejandro/libnet/libnet-1.1.4/doc/man/man3'
make[4]: No se hace nada para `install-exec-am'.
test -z "/usr/local/share/man/man3" || /bin/mkdir -p "/usr/local/share/man/man3"
 /bin/install -c -m 644 libnet-functions.h.3 libnet.h.3 libnet-macros.h.3 '/usr/local/share/man/man3'
make[4]: se sale del directorio `/home/alejandro/libnet/libnet-1.1.4/doc/man/man3'
make[3]: se sale del directorio `/home/alejandro/libnet/libnet-1.1.4/doc/man/man3'
make[3]: se ingresa al directorio `/home/alejandro/libnet/libnet-1.1.4/doc/man'
make[4]: se ingresa al directorio `/home/alejandro/libnet/libnet-1.1.4/doc/man'
make[4]: No se hace nada para `install-exec-am'.
make[4]: No se hace nada para `install-data-am'.
make[4]: se sale del directorio `/home/alejandro/libnet/libnet-1.1.4/doc/man'
make[3]: se sale del directorio `/home/alejandro/libnet/libnet-1.1.4/doc/man'
make[2]: se sale del directorio `/home/alejandro/libnet/libnet-1.1.4/doc/man'
Making install in html
make[2]: se ingresa al directorio `/home/alejandro/libnet/libnet-1.1.4/doc/html'
make[3]: se ingresa al directorio `/home/alejandro/libnet/libnet-1.1.4/doc/html'
make[3]: No se hace nada para `install-exec-am'.
make[3]: No se hace nada para `install-data-am'.
make[3]: se sale del directorio `/home/alejandro/libnet/libnet-1.1.4/doc/html'
make[2]: se sale del directorio `/home/alejandro/libnet/libnet-1.1.4/doc/html'
make[2]: se ingresa al directorio `/home/alejandro/libnet/libnet-1.1.4/doc'
make[3]: se ingresa al directorio `/home/alejandro/libnet/libnet-1.1.4/doc'
make[3]: No se hace nada para `install-exec-am'.
make[3]: No se hace nada para `install-data-am'.
make[3]: se sale del directorio `/home/alejandro/libnet/libnet-1.1.4/doc'
make[2]: se sale del directorio `/home/alejandro/libnet/libnet-1.1.4/doc'
make[1]: se sale del directorio `/home/alejandro/libnet/libnet-1.1.4/doc'
Making install in win32
make[1]: se ingresa al directorio `/home/alejandro/libnet/libnet-1.1.4/win32'
make[2]: se ingresa al directorio `/home/alejandro/libnet/libnet-1.1.4/win32'
make[2]: No se hace nada para `install-exec-am'.
make[2]: No se hace nada para `install-data-am'.
make[2]: se sale del directorio `/home/alejandro/libnet/libnet-1.1.4/win32'
make[1]: se sale del directorio `/home/alejandro/libnet/libnet-1.1.4/win32'
make[1]: se ingresa al directorio `/home/alejandro/libnet/libnet-1.1.4'
make[2]: se ingresa al directorio `/home/alejandro/libnet/libnet-1.1.4'
test -z "/usr/local/bin" || /bin/mkdir -p "/usr/local/bin"
 /bin/install -c libnet-config '/usr/local/bin'
make[2]: No se hace nada para `install-data-am'.
make[2]: se sale del directorio `/home/alejandro/libnet/libnet-1.1.4'
make[1]: se sale del directorio `/home/alejandro/libnet/libnet-1.1.4'


Yo uso ArchLinux


Título: Re: Como aplico este parche a libnet???
Publicado por: Foxy Rider en 26 Mayo 2011, 23:23 pm
Ese comando indica que esta todo bien, por que no se detuvo al mensaje de "error" :)
Fijate si tu software ahora funciona apropiadamente, por que quiza Arch mete libnet en otro lado (Tienen una filosofia pseudo bsd, nunca me fije si separan una suerte de sistema base de add-ons, y si libnet se considera "base" ... nunca me fije xP), pero deberias tener la libnet 1.1.4 parcheada e instalada sin dramas :3

Saludos.


Título: Re: Como aplico este parche a libnet???
Publicado por: AALD666 en 27 Mayo 2011, 21:07 pm
ok , parece que el parche ya se aplico pero sigo con el mismo error con dsniff:

Código:
[alejandro@aald ~]$ arpspoof -i eth0 -t 192.xxx.xxx.xxx 192.xxx.xxx.xxx
arpspoof: libnet_init(): UID or EUID of 0 required

antes me salia este mensaje:

Código:
[alejandro@aald ~]$ arpspoof -i eth0 -t 192.xxx.xxx.xxx 192.xxx.xxx.xxx
arpspoof: libnet_open_link(): UID/EUID 0 or capability CAP_NET_RAW required

como podre solucionar esto? he buscado mucho y no encuentro respuesta......


Título: Re: Como aplico este parche a libnet???
Publicado por: AALD666 en 27 Mayo 2011, 21:23 pm
ya lo solucione....... resulta que necesitaba ser super usuario.........ya arregle el problema gracias.....