Autor Tema: Compilando rpcapd para Linux  (Leído 7286 veces)

Desconectado Alfon

  • Redacción
  • ******
  • Mensajes: 145
Compilando rpcapd para Linux
« en: 25 de Enero de 2011, 10:44:19 am »
Hola a todos,

Estoy tratando de compilar rpcapd para linux y no hay manera, la verdad es que no creo que sea tan complicado, así que debo ser yo el inútil. Esto es lo que, en teoría, se debe hacer:

wget http://www.winpcap.org/install/bin/WpcapSrc_4_1_2.zip
unzip WpcapSrc_4_1_2.zip
cd winpcap/wpcap/libpcap
chmod +x configure runlex.sh
CFLAGS=-static ./configure
make
cd rpcapd/

Luego hay que editar el archivo Makefile y añadir -static a CFLAGS. yo lo dejo de est manera:

CFLAGS = pthread -DHAVE_REMOTE -DHAVE_SNPRINTF -static

y para terminar:

make

Pues no, esto es lo que me sale:

Código: [Seleccionar]
www@wwwserver:~/winpcap/wpcap/libpcap/rpcapd$ sudo make
gcc -pthread -DHAVE_REMOTE -DHAVE_SNPRINTF -static -I../ -o rpcapd rpcapd.o daemon.o utils.o fileconf.o pcap-remote.o sockutils.o pcap-new.o -L../ -lpcap -lcrypt
daemon.o: In function `daemon_AuthUserPwd':
daemon.c:(.text+0xfea): warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
pcap-remote.o: In function `rpcap_remoteact_getsock':
pcap-remote.c:(.text+0x39b6): warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
daemon.o: In function `daemon_AuthUserPwd':
daemon.c:(.text+0x1024): warning: Using 'getspnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
..//libpcap.a(nametoaddr.o): In function `pcap_nametoaddr':
nametoaddr.c:(.text+0x4da): warning: Using 'gethostbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
..//libpcap.a(nametoaddr.o): In function `pcap_nametonetaddr':
nametoaddr.c:(.text+0x4a9): warning: Using 'getnetbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
..//libpcap.a(nametoaddr.o): In function `pcap_nametoproto':
nametoaddr.c:(.text+0x289): warning: Using 'getprotobyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
..//libpcap.a(nametoaddr.o): In function `pcap_nametoport':
nametoaddr.c:(.text+0x2e0): warning: Using 'getservbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking

y por su puesto cuando llamo al programa rpcapd, me dice que el comando no existe.

En que estoy fallando ?

Saluditos y gracias,







Desconectado shicefgo

  • Member
  • ***
  • Mensajes: 166
Re: Compilando rpcapd para Linux
« Respuesta #1 en: 25 de Enero de 2011, 12:00:04 pm »
Hola.
Lo primero y más simple que se me ocurre:
¿No hay que hacer un make install como root ni nada parecido? ¿No dice nada sobre esto en el README? Es que el mensaje de que el comando no existe se emite cuando ese comando no se encuentra donde se supone que debería estar (en algún lugar del PATH). Como lo que posteas son simples warnings que, en teoría, no deberían interrumpir la compilación...

Si no es eso, pues seguiremos intentándolo.  :)

Saludos.

Desconectado Alfon

  • Redacción
  • ******
  • Mensajes: 145
Re: Compilando rpcapd para Linux
« Respuesta #2 en: 25 de Enero de 2011, 05:26:33 pm »
Gracias shicefgo. Pues si, es lógico lo que comentas. todos esos comandos los realicé como root. Lo rar oes que en el readme no dice nada de make install:

Código: [Seleccionar]
******************** COMPILE LIBPCAP WITH RPCAP SUPPORT UNDER UNIX ********************

First, you must unpack all text files according to the UNIX standard. For this, you may use
"unzip -a" (it extracts the files using the platform-native format for text files) or the
dos2unix conversion utility.

Second, you have to type '/.configure' in order to create the makefile.
In case this step fails, you should re-create the configure by launching 'autoconf'
(version 2.50 or higher) in the libpcap folder.

Finally, you have to compile the project by typing 'make'.
In case some error occurs, let's try to delete all the config.* files from the 'libpcap'
folder and restart this process from scratch.

These steps are able to compile the libpcap library; now you have to compile the rpcapd daemon.
For this, you have to type 'make' in the 'rpcapd' folder.

Desconectado shicefgo

  • Member
  • ***
  • Mensajes: 166
Re: Compilando rpcapd para Linux
« Respuesta #3 en: 25 de Enero de 2011, 07:07:05 pm »
Deduzco que sigue sin ir.
Entra a la carpeta rpcapd y prueba con la siguiente instrucción:
./rpcapd

Si sigue sin ir seguiremos intentándolo, que para algo me lo he descargado del enlace que has puesto. ;-)

Desconectado Alfon

  • Redacción
  • ******
  • Mensajes: 145
Re: Compilando rpcapd para Linux
« Respuesta #4 en: 25 de Enero de 2011, 08:32:45 pm »
Gracias rpcapd. Lo probaré mañana, no tengo aquí la instalación, y ya te cuento que tal fue.

Saludos,

Desconectado Alfon

  • Redacción
  • ******
  • Mensajes: 145
Re: Compilando rpcapd para Linux
« Respuesta #5 en: 26 de Enero de 2011, 08:15:18 am »
Mil gracias shicefgo. Enviando el Jamón.... ;-)


Código: [Seleccionar]
~/winpcap/wpcap/libpcap/rpcapd$ ./rpcapd -n
Press CTRL + C to stop the server...
bind(): Address already in use (code 98)

De todas formas, entiendo que, desde cualquier lugar del sistema de archivos,
debería funcionar la llamada a rpcapd, cierto ?

Saluditos,

Desconectado shicefgo

  • Member
  • ***
  • Mensajes: 166
Re: Compilando rpcapd para Linux
« Respuesta #6 en: 26 de Enero de 2011, 09:51:02 am »
De todas formas, entiendo que, desde cualquier lugar del sistema de archivos,
debería funcionar la llamada a rpcapd, cierto ?
Saluditos,

Bueno, sí, pero...
Sólo si el archivo a ejecutar se encuentra en el path o anteponiendo la ruta completa hasta el nombre del archivo. (Por eso funciona con './', porque esos dos caracteres indican el directorio actual en uso).

La variable de entorno $PATH es una lista de las rutas a las carpetas donde se encuentran los programas o archivos ejecutables (shell scripts... etc), que pueden ser llamados desde cualquier lugar del sistema de archivos sin necesidad de anteponer la ruta completa. Suele ser diferente para el root y para un usuario normal.
Puedes ver su contenido con la orden echo $PATH (las rutas están separadas por los dos puntos ':').
Se puede modificar en el archivo /etc/profile para todos los usuarios del sistema y en el .profile del $HOME de  un usuario en particular, pero hay que tener cuidado con los directorios que se añaden por cuestiones de seguridad.
Te dejo este enlace como ejemplo sobre el tema.
Para ver una lista de las variables de entorno puedes utilizar printenv o env. También está set, pero puede que su salida sea demasiado larga y también es algo más específico.

La orden make install situa los binarios en la ruta del PATH (entre otras posibles cosas que pueda hacer), normalmente /usr/local/bin para los programas y /usr/local/lib para las bibliotecas (también traducidas como 'librerías'). Yo no he probado a usar make install con este paquete porque no lo quiero instalar y no me fio demasiado de lo que pueda hacer. (make install, no el paquete, aunque con estas cosas de husmear tampoco está de más tener especial cuidado).

El paquete tiene pinta de haber nacido bajo Windows aunque también esté adaptado a Linux. Ya me extrañaba a mí eso de tener que modificar un Makefile "a mano".

De todas formas, si make install no te funciona bien, siempre puedes intentar copiar el ejecutable rpcapd a /usr/local/bin y, en caso de que no encuentre la biblioteca, el archivo libpcap.a (que es la biblioteca enlazada estáticamente) a /usr/local/lib. En último caso siempre queda ejecutarlo desde la carpeta donde ha sido construído, donde parece que funciona, pero no es recomendable añadir su ruta al path por las razones de seguridad ya comentadas.

(Se agradece el jamón, el tinto ya lo pongo yo. :redface:)

Saludos.

Desconectado Alfon

  • Redacción
  • ******
  • Mensajes: 145
Re: Compilando rpcapd para Linux
« Respuesta #7 en: 26 de Enero de 2011, 11:35:40 am »
joooder que pasada de respuesta. Tú no haces respuestas, son artículos completos.

Muchas gracias shicefgo. Además estoy aprendiendo cosillas de Linux con tu ayuda.
Y por su puesto añado también el vino... faltaría más.   ;-)

Desconectado shicefgo

  • Member
  • ***
  • Mensajes: 166
Re: Compilando rpcapd para Linux
« Respuesta #8 en: 26 de Enero de 2011, 12:17:18 pm »
Lo que ha pasado es que he buscado con google "linux variables entorno" y no me han gustado los resultados para mi propósito. El enlace que he puesto se ajusta algo a lo que yo pretendía, pero sólo algo, así que me he extendido un poco.

Tampoco me gustan ese tipo de respuestas breves y cortantes que se suelen dar en algunos sitios que se supone pretenden ayudar a los que saben menos, así que predico con el ejemplo.

A lo mejor en mi respuesta hay cosas que tú ya sabes, pero que otro que se la encuentre no sepa (esto se publica en Internet), y entonces agradecerá las explicaciones y valorará mejor a la comunidad linuxera.   :dabo:

Saludos.


Desconectado Dabo

  • Administrator
  • ******
  • Mensajes: 15348
    • https://www.daboblog.com
Re: Compilando rpcapd para Linux
« Respuesta #9 en: 29 de Enero de 2011, 02:15:51 am »
Citar
A lo mejor en mi respuesta hay cosas que tú ya sabes, pero que otro que se la encuentre no sepa (esto se publica en Internet), y entonces agradecerá las explicaciones y valorará mejor a la comunidad linuxera

Ahí ahí !!! esa es la idea  ;-)
Hacking, computing, are in my blood, are a part of me, a part of my life...Debian GNU/Linux rules.

Twitter; https://twitter.com/daboblog
Instagram: @daboblog


www.daboblog.com | www.debianhackers.net | www.caborian.com | www.apachectl.com | www.davidhernandez

 

Aviso Legal | Política de Privacidad | Política de Cookies

el contenido de la web se rige bajo licencia
Creative Commons License