Comandos básicos de Linux para gestión de procesos

Un tip rápido y práctico como el de los puertos del otro día (lo estoy haciendo para un compañero de trabajo) ¿Cuáles son los comandos básicos de Linux para la gestión de procesos del servidor?:

  • ps: muestra los procesos activos.
  • ps aux: ps pero con más detalle.
  • kill pid: mata los procesos con el pid pid
  • killall proc: mata todos los procesos llamados proc
  • bg: lista los procesos parados o en segundo plano, arranca procesos parados en segundo plano.
  • fg: trae el proceso más reciente a primer plano.
  • fg n: trae el proceso n a primer plano.
Anuncios

Conocer los datos de nuestra placa base en Windows

En su día vimos cómo ver los datos de nuestra memoria RAM en Windows. Hoy me preguntaba un compañero del curro si podía ver los de la placa base sin tener que abrir el ordenador. Le comenté que sí, que con wmic desde una consola de comandos es posible:

wmic baseboard

Pero claro, eso sacará un churro de texto que es cosa larga y casi ilegible. Por suerte podemos filtrar qué parámetros queremos:

wmic baseboard get product,Manufacturer,version,serialnumber

De esta forma sacamos producto, fabricante, modelo y número de serie, de forma ordenadita y clara.

wmic baseboard

También es posible sacar los resultados a un fichero de texto por si nos resulta más cómodo para trabajar.

wmic baseboard > ficherotexto.txt

Deshabilitar el botón “atrás” del navegador con Javascript

Esto fue una ñapa que hice en su día para un curso en el que era alumno. Uno de los profesores se pispó de que en los exámenes de la plataforma virtual los alumnos podían hacer todo el examen, ver la autocorrección de la plataforma, volver hacia atrás pulsando el botón de retroceder del navegador y repetirlo. Como había buen rollo y sabía que yo era programador me preguntó si había una forma de bloquear el botón “retroceder” del navegador… y se lo arreglé con esto:

//primero añadía esta línea de javascript
<script type="text/javascript">
    window.history.forward();
    function sinVueltaAtras(){ window.history.forward(); }
</script>
//y en el body invocaba la función en la carga
<BODY onload="sinVueltaAtras();" onpageshow="if (event.persisted) sinVueltaAtras();" onunload="">

¿Qué hace este código? Pues no deshabilita exactamente el botón atrás, lo que hace es que la página automáticamente se vaya hacia delante. Al ponerlo en la cabecera de la página que cargaba las preguntas hacía que si el alumno retrocedía al cargar la página automáticamente volviera a la última.

La mejor solución habría sido que la plataforma no realizara la autocorrección hasta haber enviado el examen… pero eso ya se lo habría tenido que cobrar.

Puertos por defecto más habituales

Vamos con un tip rápido sobre redes. Estos son los puertos de uso más habitual que uno suele tener que configurar

  • FTP -> Puerto 21
  • SSH -> Puerto 22
  • Telnet -> Puerto 23
  • SMTP -> Puerto  25 o Puerto 587
  • DNS -> Puerto  53
  • HTTP -> Puerto 80, aunque Tomcat por defecto usa el 8080
  • Kerberos -> Puerto 88
  • Telnet Remoto -> Puerto 107
  • POP3 -> Puerto 110
  • IMAP -> Puerto 143
  • HTTPS -> Puerto 443
  • Xbox Live -> Puerto 3074
  • RDP -> Puerto 3389
  • Configuración de routers de Movistar: Puerto 8000 (no en todos los modelos)

Javascript: Generar números aleatorios.

¿Cómo se generan números aleatorios en Javascript? Pues con la función random() del objeto Math. Vamos a ver cómo generar números aleatorios entre 1 y 10, 1 y 100 y 1 y 1000.

//de 1 al 10
var lenumero = Math.floor(Math.random() * 10 + 1);

//de 1 a 100
var lenumero = Math.floor(Math.random() * 100 + 1);

//de 1 a 1000
var lenumero = Math.floor(Math.random() * 1000 + 1);

En fin, viendo el ejemplo arriba ya puedes ver que generar un número aleatorio entre 1 y N se hace siguiendo la siguiente fórmula:

//de 1 a un número N
var lenumero = Math.floor(Math.random() * N + 1);

Ejecutando ActiveX en Chrome

Tenía estos días un cliente que quería ver el streaming de su cámara de seguridad ip en el Google Chrome. La aplicación web de la cámara requiere ActiveX así que el Chrome decía que nanai, y el cliente que nanai a lo de usar el Explorer. ¿Hay solución? Pues yo encontré un complemento que me ha salvado la papeleta: IE Tab. También puede ser útil para testear webs en distintas versiones de Explorer sin tener que andar abriendo varios navegadores.

Se trata de un complemento que emula Internet Explorer en una pestaña de Google Chrome. Ojo, que tampoco es Jauja, no te permtirá ejecutar ActiveX en Linux o Mac, por si estabas pensando en eso. Se necesitan las librerías de ActiveX instaladas en el equipo para que este funcione, así que sólo te será útil si lo instalas en Chrome para Windows.

Lo dicho, IETab no es gran cosa porque sólo te permitirá ejecutar ActiveX en Windows, donde ya tendrías en IE para lo mismo, pero como curiosidad o como una forma de testear webs sin cambiar de navegador puede ser útil. O para los haters a muerte del Explorer, claro.

Cambiar el puerto de escucha para escritorio remoto en Windows 2k12

Si tienes un servidor Windows al que accedes a través del escritorio remoto es buena cosa cambiar el puerto de escucha para conexiones al escritorio remoto. Muchos ataques van contra el puerto 3389 y sobre el usuario Administrador, así que cambiar el nombre a dicho usuario y el puerto pondrá la cosa un poco más difícil al atacante. No es una garantía de seguridad, pero dificulta un poco la cosa.

Los pasos son los siguienes, válidos para Windows 2k12 y Windows 2k8:

  • Abrir el regedit (el editor de registro)
  • Navegar por él hasta llegar a esta ruta: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp\PortNumber
  • Editar esa entrada y poner el puerto deseado (por defecto estará el número del puerto en formato hexadecimal, pero lo puedes poner en decimal marcando esa opción). Microsoft recomienda usar uno comprendido entre el 1025 y el 65535, y hay que fijarse que no sea uno que ya esté siendo usado por otra aplicación.
  • Reiniciar, como siempre en sistemas Windows.

Creo haber leído que cambiar el puerto puede dar problemas a los usuarios que intenten conectarse con el cliente de escritorio remoto para Mac, ya que este sólo permite usar el puerto por defecto.