Como aplico este parche a libnet??? (SOLUCIONADO)

Iniciado por AALD666, 21 Mayo 2011, 22:21 PM

0 Miembros y 2 Visitantes están viendo este tema.

AALD666

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 cien que para solucionar el bug necesito aplicar este parche: 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

lawish

man patch ,

ay varias maneras de parchar un archivo
GML group
Slacker

AALD666

si pero en este caso nisiquiera se cual es el archivo que tengo que parchar

Foxy Rider

#3
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 (bash) [Seleccionar]
wget "http://downloads.sourceforge.net/project/libnet-dev/libnet-dev/libnet-1.1.4/libnet-1.1.4.tar.gz"
tar -xzvf ./libnet-1.1.4.tar.gz
cd libnet-1.1.4/
wget "https://bugzilla.redhat.com/attachment.cgi?id=412165" -O libnetFix.patch
patch -p1 < libnetFix.patch


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 (bash) [Seleccionar]
autoreconf -fv --install
./configure --prefix=/usr/ # hay que recordar que en GNU/Linux se mete practicamente todo aca
make
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 !!!

AALD666

hago todos los pasos pero mira lo que me sale cuando ejecuto sudo make install:

[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

Foxy Rider

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.

AALD666

#6
ok , parece que el parche ya se aplico pero sigo con el mismo error con dsniff:

[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:

[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......

AALD666

ya lo solucione....... resulta que necesitaba ser super usuario.........ya arregle el problema gracias.....