jueves, 25 de octubre de 2012

HackRF: Una auténtica navaja suiza para hackers a US$ 300

Pese a los avances de la tecnología durante los últimos años, existe un aspecto de ella que no ha avanzado mucho durante las últimas décadas. Mientras que un computador es prácticamente una máquina universal capaz de procesar casi cualquier tipo de información, la tecnología de la radio lleva años estancada cumpliendo sólo un tipo de función: 3G, Wi-Fi, FM, AM, GPS, etcétera.
Para remediarlo, el co fundador de Great Scott GadgetsMichael Ossmann, está desarrollando un sistema de Radio Definido por Software (Software Defined Radio, SDR) que tendría la particularidad de cambiar de frecuencias de radio instantáneamente llamado HackRF. Una auténtica navaja suiza para los hackers.
En general, los dispositivos inalámbricos –como un celular– funcionan usando una banda de radiofrecuencia fija, sin embargo el HackRF podría potencialmente transmitir y recibir cualquier frecuencia de radio entre los 100 megahertz y los 6 gigahertz, un rango que abarcaría la radiodifusión, GSM, Bluetooth, Wi-Fi e incluso los controles remotos de las alarmas de autos.
Si bien ya existen bastantes dispositivos similares, el HackRF está diseñado para optimizar al máximo la versatilidad y su costo, pues tendría el tamaño de un pendrive USB a un precio estimado de US$ 300 (cuando finalmente se lance al mercado).
¿Y lo mejor? “HackRF está diseñado para satisfacer las necesidades de los profesionales de la seguridad inalámbrica, investigadores y aficionados. Es para hackers, en el más amplio sentido de la palabra“, afirmó Ossmann, quien afirma que gracias a que el proyecto es de Código Abierto (Open Source), le permitirá a los usuarios encontrar usos que ni siquiera han previsto.
Links:-Introducing HackRF (mossmann’s blog)-A radio for all frequencies to rule the airwaves (New Scientist)

jueves, 19 de julio de 2012

Saber qué paquetes están instalados

La consola de Linux - consultar qué aplicaciones tenemos instaladas

En distribuciones basadas en Debian, como Ubuntu, pueden consultarle los programas que tenemos instalados usando dpkg. Por supuesto que también puede consultarse con la herramienta de instalación de paquetes, pero ahora estamos hablando de cómo hacerlo a través de la consola.

Si usamos:

dpkg -l

veremos el listado completo de paquetes instalados. Es una buena opción si te sobra el tiempo :-) . Lo mejor es filtrar los resultados usando el comando grep. En el siguiente ejemplo vamos a ver cómo ver sólo los paquetes relacionados con postgresql:

usuario@homer-desktop:~$ dpkg -l | grep postgresql


Sencillo, cómodo y rápido.

Fuente

En muchas ocasiones he tenido que comprobar si tengo instalado o no algún paquete usando el Synaptic, con la molestia que ello supone (vago que es uno). Y como quiera que desde el inicio de sesión tengo un terminal semitransparente permanentemente en el fondo del escritorio, pues quería saber si existe alguna manera de hacerlo desde el terminal, y hoy lo he descubierto.

Haciendo aptitude show [nombre-paquete] me salen una serie de parámetros con sus respectivos valores sobre el paquete en cuestión (Paquete, Nuevo, Estado, Versión, Prioridad, etc.); pues bien, para saber si está instalado en el disco duro solo hay que fijarse en el parámetro Estado. Si su valor es instalado, entonces es que lo tengo instalado, y si pone sin instalar, quiere decir que no.

No es que haya descubierto la pólvora, pero esto me ahorrará abrir muchas veces el dichoso Synaptic. Que no es que tenga nada contra él, pero uno pertenece a la vieja escuela del M$-DOS y del Unix en monitor de fósforo verde (:P) y para ciertas cosas prefiero trabajar en modo consola a las ventanitas.

En fin, espero que esto le sirva a alguien, a mi me servirá para que no se me olvide.

AÑADIDO: acabo de descubrir otra forma no menos sencilla de hacerlo pero igual de útil
$ dpkg --get-selections | grep [paquete]
donde [paquete] puede ser el nombre del paquete o una palabra descriptiva (p.ej.: openoffice, y me salen todos los paquetes relacionados con openoffice que tengo instalados).

Fuente

lunes, 11 de junio de 2012

Bash: Las condiciones (if-then-else)

En esta ocasión les mostraré cómo hacer un script con condición en Bash, lo cual traducido es:
Si se cumple X cosa que ustedes deseen, se hace Y acción, si no se cumple entonces se hace otra acción.
Simple la explicación no :D
Ahora, he pensado durante unos minutos algún ejemplo para usar en este tutorial, se me ha ocurrido el siguiente dilema/problema/situación:
Estamos en la red de nuestra empresa, y deseamos saber si X ordenador está conectado a la red. Para ello hacemos un script que hará ping hacia ese ordenador, y si está en red (o sea, si devuelve el ping) nos dirá que SÍ, está en red, de lo contrario (o sea, que no esté en red) nos dirá que NO está en red.
Una vez hecho esto, ahora les explicaré cómo hacer un ciclo con condiciones :)
Eh aquí el código:
ping -c 1 DIRECCION-IP
if [ $? -ne 0 ]; then
echo "No está en red"
else
echo "Sí está en red"
fi
No se preocupen, les explico esto al detalle ;)
ping es el comando que usaremos, y nos dirá si esa PC está en red. Para decirle qué PC queremos comprobar si está o no en red, debemos cambiar DIRECCION-IP por obviamente, la dirección IP de la PC que deseamos comprobar.
Como ven, puse “-c 1“, lo cual nos es necesario. Cuando hacemos ping a un ordenador, esta acción no se detiene (el ping) hasta que nosotros mismos presionemos [Ctrl]+[C], por lo que poniendo “-c 1” le indicamos que haga solo una verificación (solo un intento de ping) y ningún otro, esto hará que se detenga al instante, o sea… comprobará si el ordenador está en red solo una vez.
Si tienen dudas con esto, sin pena… lo dicen y yo con MUCHO gusto se los explico de nuevo ;)
Ahora viene el ciclo, pues lo que acabo de explicar no es más que un comando/acción normal :D
if [ $? -ne 0 ]; then
echo "No está en red"
else
echo "Sí está en red"
fi
Para que entiendan esto, les explicaré un detalle sumamente importante de Bash :)
Los más conocedores del tema me podrían tildar de equivocado o algo así, pero bueno, esto lo escribo para lo novatos o menos expertos, mientras ellos lo entiendan entonces genial ;)
Sucede que como en Bash es algo así como 0 y 1, o sea, o estás vivo o estás muerto, cuando se ejecuta un comando o acción: O se ejecutó bien sin problemas (1), o hubo algún problema o error (0).
Nosotros efectuamos X acción o comando, y esto que hicimos puede haberse efectuado bien o mal, puedo haber tenido error o no, y aquí es donde está el detalle ;)
Si lo que mandamos a hacer (en este caso: ping -c 1 DIRECCION-IP) no dió error y se efectuó bien, entonces devolverá el valor: 1 . En caso contrario, y que la acción (o sea, el ping) no fuese exitoso, devolverá valor 0.
 Y finalmente, lo que significa el código anterior es esto:
Si se devolvió valor 0 entonces
Pon en pantalla el texto: “No está en red
De lo contrario (y que se devuelva NO 0, sino 1)
Pon en pantalla el texto: “Si está en red
Esto que les acabo de explicar, nos servirá en un futuro para muchísimas cosas, pues es realmente útil poder decir que si X acción dió error, haga Y acción, y en caso de que X acción no haya dado error, que haga Z acción.
Sé que a algunos podría liaros un poco, por lo que he intentado explicarlo de varias formas diferentes, intentando que todos lo entiendan de una vía u otra. En caso de que alguien se quede con dudas, me lo hace saber.
Ahora, hagamos nuestro script :D
Debemos seguir los pasos de este tutorial: Bash: Cómo hacer un script ejecutable
Luego copiemos el siguiente código en ese archivo (script.sh), y al final pongamos “exit” (sin las comillas):
ping -c 1 DIRECCION-IP
if [ $? -ne 0 ]; then
echo "No está en red"
else
echo "Sí está en red"
fi
Les debe quedar así (recuerden que deben haber cambiado DIRECCION-IP por la IP que desean):

Aquí pueden ver el script en ejecución:

Como ven, al final nos dice “Sí está en red:)
Lo importante aquí es que en realidad entiendan esto de las condiciones, por lo que les dejo otro código para volver a explicarlo, pero desde otro punto de vista.
read "texto"
if [ "$texto" = "3" ]; then
echo "Correcto"
else
echo "Incorrecto"
fi
Lo que esto significa es simple, les dejo línea a línea la explicación:
1ra línea: Lo que escribamos, ese será el valor de la variable “texto” (sin las comillas).
2da línea: Comprueba si el contenido de la variable (lo que acabamos de escribir) es 3.
3ra línea: En caso de ser 3, nos mostrará el texto “Correcto” (sin las comillas).
4ta línea: De lo contrario (o sea, en caso de que no hayamos escribo 3).
5ta línea: Nos mostrará el texto “Incorrecto” (sin las comillas).
6ta línea: Fin de la condición.
Como han podido darse cuenta, si ponemos echo y seguidamente entre comillas dobles () un texto, esto hará que se muestre en la terminal ese texto. O sea, si ponemos:
echo "esto es una prueba"
Nos mostrará en la terminal el texto: esto es una prueba
Pero volviendo a este segundo ejemplo, les mostraré la utilidad (y ejecución) de este segundo script con algo MUY simple :D … el típico “cuánto es 1 + 2?
Les dejo el código del script completo:
#!/bin/bash
# -*- ENCODING: UTF-8 -*-
echo "¿Cuánto es 1 + 2?"
read "texto"
if [ "$texto" = "3" ]; then
echo "Correcto"
else
echo "Incorrecto"
fi
exit
Les dejo aquí cómo funciona el script:

Y bueno… nada más que agregar.
Esto es algo elemental, simple sí, pero aún así he intentado explicarlo lo mejor posible, pues no todos tienen alma de programador, y muchas veces necesitamos hacer scripts como estos (o similares), de cualquier forma espero que este artículo le sea de utilidad a alguien :)
Cualquier duda o pregunta, queja o sugerencia por favor, la dejan acá, con mucho gusto les respondo y así, todos aprendemos un poco más :D 

jueves, 7 de junio de 2012

Newrez, script útil para aumentar la resolución en netbooks

Los scripts de Linux son una forma potente y sencilla de ofrecer tareas útiles para el usuario, y en esta ocasión hemos encontrado uno especialmente orientado a usuarios de netbooks. Se trata de Newrez, un script para Nautilus que permite mejorar la resolución de estos portátiles y aplicar resoluciones no nativas.

Por ejemplo, lo normal es que la resolución en netbooks sea de 1.024×600, pero con Newrez podremos cambiar esa resolución para situarla por ejemplo en 1.280×800 o incluso a mayores cifras.
Esto puede ser interesante para usuarios que necesiten esa mejora visual para mostrar aplicaciones que no se muestran correctamente en la resolución convencional de los netbooks. Como indican en WMLCloud, no se hacen cosas raras a nivel hardware, sino que se construye una imagen de alta resolución en un buffer que se escala para ajustarse a nuestra pantalla física.
Para usar este script lo único que tendremos que hacer es descargarlo desde este enlace, extraer los ficheros del script (newrez y newrez-v) a  ~/.Gnome2 –> Nautilus-Scripts. Si no vemos la carpeta “.Gnome2″ podemos pulsar Ctrl+H en Nautilus para mostrar los elementos ocultos.
Una vez metidos en esa carpeta, podremos pulsar con el botón derecho en la pantalla, lo que hará que aparezca un nuevo menú Scripts con los dos scripts de newrez, y eligiéndolos podremos establecer la resolución que queremos mostrar en cada momento. El segundo script (newrez-v) es para usuarios que no pueden ejecutar el script original, y que por lo visto es una versión “a prueba de fallos”.

Fuente

martes, 5 de junio de 2012

Gestión de documentos Open Source

OpenKM es un Sistema de Gestión Documental Open Source, que debido a sus características, puede usarse tanto en grandes empresas como en las PYMES. Es una herramienta muy útil para Gestión del Conocimiento, proporcionando una alternativa flexible y con menores costes que otras aplicaciones propietarias.

El uso de un Sistema de Gestión del Conocimiento en la empresa ayuda a gestionar, de forma más eficiente, la inteligencia colectiva que reside en los recursos humanos de la compañía; esto implica un incremento de la productividad a corto plazo. A través de estos sistemas, tanto la información como el conocimiento generado en la organización, están disponibles globalmente.

Hacer fácil lo complejo

  • Web 2.0. UI
  • Drag and drop.
  • Control de versiones.
  • Búsqueda por contenido y metadata.
  • Integración con LDAP o DBMS.
  • API de webservices .
  • Soporta los principales DBMS.
  • Traducido a mas de 32 idiomas.
  • WebDAV.
  • Workflow (JBPM).
  • Jasper reports.
  • OCR.
  • Soporte para dispositivos móbiles.
  • Addins.
  • Thesaurus.
  • Planificador de tarea
Fuente

domingo, 3 de junio de 2012

Dell apuesta por servidores bajo ARM

Dell prepara el lanzamiento a medio plazo de servidores bajo arquitectura RISC ARM, uniéndose con el proyecto ‘Copper’ a HP y otros fabricantes.
Dell confirma así el interés de la industria por la utilización de estos chips (no muy distintos al que utilizan dispositivos como el iPhone o el iPad) y que ofrecen mayor rendimiento por vatio y menor precio que los basados en la arquitectura x86

“El mercado de servidores basados ??en ARM se está acercando a un punto de inflexión, marcado por un interés del cliente cada vez mayor en las pruebas y el desarrollo de aplicaciones… Creemos que ahora es el momento adecuado para ayudar a fomentar el desarrollo y prueba de sistemas operativos y aplicaciones para servidores ARM, explican desde Dell.
Por ello, Dell lanzará “en la fecha apropiada” servidores propios con ARM bajo la serie PowerEdge C5000, con SoC Marvell Armada XP que incluye procesadores de cuádruple núcleo a 1,6 GHz
Además, Dell entregará equipos a Canonical y Cloudera para apoyar las actividades de desarrollo y ofrecerá acceso a clientes seleccionados a los clústeres de servidores ‘Copper’ para pruebas remotas de esta arquitectura y a través de su asociación con Texas Advanced Computing Center (TACC)
Un amplio esfuerzo consecuencia del “gran interés por esta arquitectura expresado por los clientes” que va a suponer que ARM consiga el 20 por ciento del mercado de servidores en los próximos años, según los analistas.
El interés por esta arquitectura se muestra también en la preocupación del gigante Intel que ya prepara la entrada de ARM en el sector con microservidores basados en procesadores Atom de bajo consumo.

Fuente

sábado, 2 de junio de 2012

Distros Linux para tu router

Podemos encontrar Linux en todas partes: la base del sistema operativo es también la base de un buen montón de dispositivos hardware, e incluso en los casos en que Linux no está preinstalado en dichos dispositivos es posible dar soporte a ese hardware para que saque partido del software Open Source.

Es lo que nos demuestra el artículo de LinuxPlanet en el que hablan de 3 distribuciones Linux perfectas para ser instaladas en un router, además de un sistema operativo derivado de BSD que también sirve para el mismo propósito.
Las distribuciones de las que hablan en el artículo están orientadas a servir entre otras cosas para poner en marcha un firewall de Internet muy eficiente y por supuesto para enrutar el tráfico que llega o sale de nuestros ordenadores.
En el artículo hablan de Clear OS, m0n0wall, Untangle y Vyatta, y describen sus prestaciones y sus puntos fuertes, destacando algunas de las distribuciones a la hora de asegurar nuestra red o bien de enturar el tráfico de una manera más eficiente. Una idea genial que por supuesto se complementa con esos firmwares personalizados para routers que también se han hecho famosos gracias a proyectos como OpenWRT o dd-wrt.

Fuente

Cómo compartir una impresora a través de Internet

Es verdad…habeis leído bien, se puede compartir una impresora a través de Internet. Todo sin que intervenga ninguna administración ni instalar o modificar ninguna clase de permiso de firewall o router. Esta pequeña aplicación se instala en el ordenador desde el que deseas imprimir y en el ordenador al que enviarás la impresión.
Una vez instalado el software de impresión remoto, eliges qué impresora deseas compartir.  Es muy fácil imprimir a través de internet. Lo mejor de todo es, no tanto que sea gratis para usos comunes, sino que funciona en Windows, Mac y Linux.
Vamos a enseñaros como se hace. Primero descargamos el instalador de 1.6MB de PrintAnywhere y luego lo iniciamos. Hay enlaces separados de descarga para Windows y Mac y varios móviles

Normalmente odiamos suscribirnos a servicios pero aquí es comprensible ya que vas a estar compartiendo tus dispositivos. Selecciona crear una nueva cuenta de usuario marcando el botón abajo, y luego pulsa Next.

La única información que se requiere aquí es un nombre de usuario y tu dirección de email. Tienes que dar un email legítimo porque es adonde ellos enviarán tu contraseña. Siempre puedes utilizar una cuenta de email de usar y tirar…si eres ultra-paranoico.

Esto es todo para la instalación. Ahora demos un vistazo a cómo configurar nuestra impresión remota.
Si dejas lista la casilla de control para abrir la consola de PrinterShare, se te abrirá siempre automáticamente. De lo contrario, tendrás que abrirla desde el menú inicio o la bandeja del sistema.


Verás tu número de usuario (que necesitarás para conectarte desde el cliente remoto) y todas tus impresoras instaladas. Selecciona la que deseas usar y presiona el botón “share” (compartir) debajo. Después de presionarlo, el botón cambiará de Share a Unshare.
Ahora ve a tu email y busca tu contraseña. Con ella puedes instalar el cliente en la máquina remota. Sigue los pasos indicados arriba pero esta vez cuando te pregunte por un nombre de usuario y contraseña ya tendrás uno para insertar.
Hecho esto, simplemente pulsa “find printers” (encontrar impresoras) en tu cliente. Escribe tu ID de usuario y pulsa “find”. Te mostrará la impresora compartida y su estado. Haz doble click en ella.

Ahora aparece abajo como impresora compartida. Ya puedes probarla. Busca un documento de prueba para imprimir.
Ahora tendrás una impresora llamada PrinterShare que es accesible desde cualquier programa que pueda imprimir.
Elige ahora tu impresora (si tienes varias compartidas) y esto es todo lo que hay que hacer. Con esta versión gratuita imprimirá la primer hoja con un aviso publicitario a menos que pagues una cuota premium.

 Si conocen otra forma de imprimir a través de Internet... Avisen a través de los comentarios!

Fuente

viernes, 1 de junio de 2012

ManualsLib: Gigante base de datos con manuales online de todas las marcas Este artículo fue copiado de ManualsLib: Gigante base de datos con manuales online de todas las marcas


Normalmente los geeks casi nunca leen un manual al momento de adquirir algún aparato, siempre le hacen caso a su sexto sentido (?), pero mucha gente sí hace uso de manuales, y a veces pasa que estos se pierden y luego no tenemos formas de recuperarlos a no ser que tengamos la suerte que su fabricante los ofrezca en su sitio oficial.
ManualsLib es una gran base de datos de manuales online de todas las marcas y dispositivos que se les ocurran, y lo mejor de todo es que es gratuito y se pueden leer desde el navegador. Para encontrar un manua sólo tienen que comenzar a escribir la marca del aparato y el sitio les sugerirá los manuales que hay disponibles.
Enlace: ManualsLib

Fuente

Billix, una distro para instalar distros

Curiosísimo el artículo que han publicado en la prestigiosa Linux Journal en el que hablan de Billix, una distribución ligera que se puede ejecutar desde CD o desde llave USB y que no es una distribución GNU/Linux convencional, sino que está dirigida a poder servir para instalar otras distribuciones.

Como se puede ver en el vídeo, una vez iniciemos el ordenador con Billix, se presentará un menú para poder instalar varias ediciones de distintas distribuciones, algo que se beneficia de las llamadas ‘Net Installs‘, las instalaciones a través de Internet. Tendréis que contar con una buena conexión a la red de redes, claro, pero el proceso es brillante, creo yo.

Fuente

martes, 29 de mayo de 2012

Desarrollan satélites con Kinect integrado para el acoplamiento en órbita


Bajo el denominado proyecto STRaND, un grupo de ingenieros de la Universidad de Surry en el Reino Unido está desarrollando un tipo de satélite con grandes mejoras en el sistema de acoplamiento en el espacio. Satélites de bajo coste en cada pieza que incluirán el smartphone Google Nexus y la cámara Kinect de Microsoft.
STRaND 1 y STRaND 2 serán los dos satélites gemelos que comenzarán a ver la luz este mismo año. La idea es la de mejorar y poner a prueba nuevos sistemas de acoplamiento en órbita con tecnología “barata” que podemos encontrar en el mercado actual.

En el caso del satélite STRaND 1 llevará incorporado el teléfono Google Nexus a modo de ordenador principal del equipo. Ambos satélites gemelos incluirá Kinect para capturar imágenes en 3D del espacio y escanear así la zona. El fin, que una vez realizado un exhaustivo mapeado del espacio en el que se encuentran, los satélites lleguen a acoplarse con datos precisos.
Según el líder del proyecto, el profesor Chris Bridges:
Puede parecer exagerado, pero los nanosatélites de bajo coste podrían acoplarse para construir estructuras modulares grandes y sofisticadas, como los telescopios espaciales. A diferencia de las grandes misiones espaciales de hoy en día, éstos podrían ser reconfigurados y actualizados en órbita con las últimas tecnologías disponibles.
A finales de este año se espera que se lance el STRaND 1.


Fuente

lunes, 28 de mayo de 2012

Controlar aparatos con un control remoto normal

Connect this circuit to any of your home appliances (lamp, fan, radio, etc) to make the appliance turn on/off from a TV, VCD or DVD remote control. The circuit can be activated from up to 10 metres.

The 38kHz infrared (IR) rays generated by the remote control are received by IR receiver module TSOP1738 of the circuit. Pin 1 of TSOP1738 is connected to ground, pin 2 is connected to the power supply through resistor R5 and the output is taken from pin 3. The output signal is amplified by transistor T1 (BC558).
The amplified signal is fed to clock pin 14 of decade counter IC CD4017 (IC1). Pin 8 of IC1 is grounded, pin 16 is connected to Vcc and pin 3 is connected to LED1 (red), which glows to indicate that the appliance is ‘off.’
The output of IC1 is taken from its pin 2. LED2 (green) connected to pin 2  is used to indicate the ‘on’ state of the appliance. Transistor T2 (BC548) connected to pin 2 of IC1 drives relay RL1. Diode 1N4007 (D1) acts as a freewheeling diode. The appliance to be controlled is connected between the pole of the relay and neutral terminal of mains. It gets connected to live terminal of AC mains via normally opened (N/O) contact when the relay energises.



Fuente

Mini UPS

This circuit provides an uninterrupted power supply (UPS) to operate 12V, 9V and 5V DC-powered instruments at up to 1A current. The backup battery takes up the load without spikes or delay when the mains power gets interrupted. It can also be used as a work bench power supply that provides 12V, 9V and 5V operating voltages. The circuit immediately disconnects the load when the battery voltage reduces to 10.5V to prevent deep discharge of the battery. LED1 indication is provided to show the full charge voltage level of the battery. Miniature white LEDs (LED2 and LED3) are used as emergency lamps during power failure at night.

A standard step-down transformer provides 12V of AC, which is rectified by diodes D1 and D2. Capacitor C1 provides ripple-free DC to charge the battery and to the remaining circuit. When the mains power is on, diode D3 gets forward biased to charge the battery. Resistor R1 limits the charging current. Potentiometer VR1 (10k) with transistor T1 acts as the voltage comparator to indicate the voltage level. VR1 is so adjusted that LED1 is in the 'off' mode. when the battery is fully charged, LED1 glows indicating a full voltage level of 12V.

When the mains power fails, diode D3 gets reverse biased and D4 gets forward biased so that the battery can automatically take up the load without any delay. When the battery voltage or input voltage falls below 10.5V, a cut-off circuit is used to prevent deep discharging of the battery. Resistor R3, zener diode ZD1 (10.5V) and transistor T2 form the cut-off circuit. When the voltage level is above 10.5V, transistor T2 conducts and its base becomes negative (as set by R3, VR2 and ZD1). But when the voltage reduces below 10.5V, the zener diode stops conduction and the base voltage of transistor T2 becomes positive. It goes into the 'cut-off' mode and prevents the current in the output stage. Preset VR2 (22k) adjusts the voltage below 0.6V to make T2 work if the voltage is above 10.5V.

When power from the mains is available, all output voltages-12V, 9V and 5V-are ready to run the load. On the other hand, when the mains power is down, output voltages can run the load only when the battery is fully charged (as indicated by LED1). For the partially charged battery, only 9V and 5V are available. Also, no output is available when the voltage goes below 10.5V. If battery voltage varies between 10.5V and 13V, output at terminal A may also vary between 10.5V and 12V, when the UPS system is in battery mode.

Outputs at points B and C provide 9V and 5V, respectively, through regulator ICs (IC1 and IC2), while output A provides 12V through the zener diode. The emergency lamp uses two ultra-bright white LEDs (LED2 and LED3) with current limiting resistors R5 and R6. The lamp can be manually switched 'on 'and 'off'by S1.the circuit is assembled on a general-purpose PCB. There is adequate space between the components to avoid overlapping. heat sinks for transistor T2 and regulator ICs (7809 and 7805) to dissipate heat are used.

The positive and negative rails should be strong enough to handle high current. Before connecting the circuit to the battery and transformer, connect it to a variable power supply. Provide 12V DC and adjust VR1 till LED1 glows. After setting the high voltage level, reduce the voltage to 10.5V and adjust VR2 till the output trips off. After the settings are complete, remove the variable power supply and connect a fully-charged battery to the terminals and see that LED1 is on. After making all the adjustments connect the circuit to the battery and transformer. The battery used in the circuit is a 12V, 4.5Ah UPS battery.





Fuente

Información de Malware. ¿A través de DNS?

Hoy día, y debido a que cada año crece más todo lo relativo a vías de infección, han proliferado muchos servicios de consulta de Malware, y todo lo relacionado con la muestra.

Servicios como VirusTotal y ThreatExpert son buenas referencias a tener en cuenta, en tanto y cuanto a un auditor, le caiga el “marrón” de analizar un “bicho”.

A la hora de analizarlo, y viendo como está el mercado, en cuanto a horas reales y cuantificables que se dedican a un proyecto, a un auditor le puede solucionar la papeleta el consultar este tipo de servicios, a día de hoy imprescindibles y para mi gusto perfectos, para que le den una visión global sobre qué dicen las principales casas de antivirus sobre el mismo.

Buscando proyectos relacionados con el análisis dinámico de muestras de manera online, y habiéndome leído la gran entrada de HackPlayers sobre análisis de Malware, me encontré con un proyecto en OWASP bastante interesante. Consulta de Malware en base a un MD5 o SHA1.

La solución que se aloja en OWASP, la cual puede consultarse de manera ONLINE, permite que puedas realizar consultas en base a un MD5 o SHA1 de algún fichero “sospechoso”, pero en vez de consultar a una Web, las consultas las realizas a través de peticiones DNS, adjuntando al final del MD5 o SHA1 un sufijo DNS.

La idea en sí es simple. Tener un repositorio de HASHES relacionados con ficheros maliciosos. Pero la ejecución cambia totalmente al ser consultas a través de DNS.

Desde un punto de vista “corporativo”, las consultas DNS se permitirán, casi por obligación. Como segundo punto es la información que obtenemos al realizar las consultas. Esta información va desde el supuesto tamaño de fichero que coincide con el HASH, así como información relativa al estatus de este. Si es Malware, desconocido, bueno, etc… Una de las respuestas más curiosas, es la relativa a la certeza. En la respuesta, dan un grado, en tanto por ciento, de lo cierto de que ese HASH sea Malware o no, en función del estatus, y de lo analizado.

Según el servicio, esta base de datos es mantenida con regularidad, y analizan bastantes muestras de ficheros maliciosos.

Para realizar una consulta, lo único que necesitamos es un cliente nslookup o dig.

Si lo que necesitamos es consultar si el HASH se encuentra incluido en la base de datos, se puede realizar una consulta de tipo A. La respuesta que obtendremos, en el caso de que el HASH se encuentre en la BBDD, es de 127.0.0.11.

En el caso de que se necesite extraer la información relativa al HASH, habrá que realizar la consulta, pero esta vez de tipo TXT, y añadiendo un sufijo específico, hash.sapao.net.

(ver imagenes adjuntas al post)

Aunque desconocía por completo que se pudiesen realizar consultas de HASH a través de DNS, en la página del proyecto, existen enlaces a sitios y comunidades que ofrecen lo mismo. En el caso de Team Cymru’s, ofrecen el mismo servicio de consultas de HASH a través de DNS, operando de la misma manera que la anterior.

SANS, por su parte, tiene otro servicio muy similar, que, aunque no tan potente como los anteriores, tienen algo que lo hace bueno, y es que mantienen una base de datos de ficheros catalogados en WhiteList, por lo que, si se realizan consultas, se puede cotejar si un fichero es malicioso, o por el contrario se encuentra en una lista blanca.

Realizando una prueba con el MD5 un fichero, SANS me informa de que se encuentra listado en varias ocasiones.

Imagen 2.- Consulta realizada en NIST Hash Database
(ver imagenes adjuntas al post)

Si realizamos esta consulta, pero a través de NSLOOKUP, la respuesta que obtendríamos sería la siguiente:

Imagen 3.- Consulta de HASH a través de NSLOOKUP en SANS
(ver imagenes adjuntas al post)

Curiosa forma de consultar por ficheros maliciosos no?
No sólo de la password vive el HASH!




Fuente

Control de aparatos por medio de tonos DTMF

Control desde la computadora

Los tonos DTMF (Dual Tone Multi Frequency), son utilizados para codificar los teclados de los teléfonos fijos, digitales, además de los teléfonos móviles o celulares.

También se utilizan los tonos DTMF en los transceptores de radio, esta codificación consiste en enviar dos tonos de diferente frecuencia, que sirven para identificar a cada botón o tecla del teléfono.

Veamos la tabla de valores de frecuencias pertenecientes a la marcacion por tonos DTMF.

Para generar los tonos DTMF, podemos utilizar 3 formas diferentes. La primera consiste en utilizar un circuito integrado hecho para realizar esta tarea, como puede ser el IC HT9200A, la segunda opción seria programar un microcontrolador que nos genere los tonos DTMF y la tercera opción seria la de utilizar un programa para la PC que nos genere los tonos por medio de la tarjeta de sonido.

En este ejemplo utilizaremos la opción de generar los tonos DTMF desde la computadora, con ello nos ahorraremos la parte del circuito transmisor. Lo demás seria crear el receptor para poder utilizar sus salidas y así activar una carga de potencia por medio de un Relé. En la siguiente imagen podemos ver el esquema principal.

Podemos agregar esta simple interface de potencia, con transistor y Rele.1

Con este proyecto, podremos activar una carga de potencia accionada desde la tarjeta de sonido de cualquier computadora, todo codificado por medio de los tonos DTMF.

El funcionamiento del circuito es muy simple. Primero necesitaremos un programa para la computadora, que nos pueda generar los tonos DTMF. Para ello vamos a utilizar el programa DTMF Dial Tone Generator , este programa es libre y lo pueden descargar desde la pagina del autor.

Para recepcionar los tonos DTMF, se utiliza el circuito integrado MT8870, el cual nos genera a la salida un número binario de 4 bits, que corresponde con el número enviado desde la computadora. Luego debemos tomar este numero binario, compararlo con otro guardado en el PIC y si son iguales, entonces procedemos ha activar la salida de potencia.

Para esta función vamos a utilizar un microcontrolador PIC 16F628A, que será el encargado de recibir el numero binario en uno de sus puertos y luego utilizamos el resultado para accionar una bombilla de 110 VAC con un relé. En este caso hemos utilizado los siguientes códigos de activación:

-Para encender: Presionamos el número 1 desde el programa en la PC
-Para apagar: Presionamos el número 2 desde el programa en la PC

Dejamos los ajustes predeterminados, ya que así funciona de una manera optima. Además debemos tener en cuenta que el volumen de la computadora se encuentre a un cuarto o cerca de la mitad de su valor, esto para que la señal tenga la suficiente amplitud para que pueda ser interpretada por el IC MT8870.

Para conectar el circuito a la computadora, debemos utilizar un cable que nos lleve la señal de audio desde la salida de la PC hasta el circuito. También podemos utilizar la salida para audífonos que tienen la mayoría de los sistemas de amplificación de audio para las computadoras. Digamos un cable RCA

Si bien podemos utilizar los puertos serie o paralelo, para controlar aparatos desde la PC, debemos tener en cuenta que estos cada día serán mas obsoletos.

También podemos utilizar el puerto USB, pero el hecho de utilizar el audio para controlar los aparatos, nos da una compatibilidad del 100%, ya que podemos utilizar este circuito en computadoras que funcionan desde Windows 95 hasta con el actual Windows 8, tan solo creando una derivación desde uno de los canales de audio hacia el circuito.

Las imágenes de este post corresponden al diagrama

Aqui tienes el video de ejemplo:
Control de Aparatos por medio de tonos DTMF desde la PC

Aqui tienes el codigo hex: del PIC

[Inicio del codigo]
:100000002828A301A200FF30A207031CA307031C9A
:1000100023280330A100DF300F200328A101E83E90
:10002000A000A109FC30031C1828A00703181528FC
:10003000A0070000A10F152820181E28A01C2228A8
:100040000000222808008313831203130000080015
:100050000130A300F430022007309F0007309F00DA
:100060008316FF3085008601831201300502031DCF
:100070003F2883160610831206140A30012002302E
:100080000502031D492883160610831206100A3044
:080090000120342863004A2816
:02400E00223F4F
:00000001FF
[Fin del codigo]

Fuente

Arranca más rápido en Linux con e4rat

Aunque la herramienta lleva tiempo disponible no ha sido sino hasta ahora que nos hemos enterado de su existencia: e4rat es un conjunto de herramientas que “aceleran el proceso de arranque y los tiempos de inicio de las aplicaciones“.
Programado por dos desarrolladores de la Augsburg University, e4rat se basa en la desfragmentación integrada en el sistema de ficheros ext4 para ordenar los ficheros de forma secuencial en nuestro disco duro, algo que permite reducir los tiempos de arranque a un tercio de los que se contemplan habitualmente.
En el ejemplo publicado en la página oficial del proyecto demuestran cómo Debian Squeeze pasó de arrancar en 45 segundos a hacerlo en tan solo 13 segundos, y eso en un disco duro convencional (nada de SSD), lo que sin duda puede suponer un punto interesante para quienes queráis probar este paquete, cuyo código (para Debian, no sabemos si funcionará correctamente en otras distros) está disponible en este enlace.

Fuente

AllWinner A10, un mini PC con Android 4.0

La fiebre de los mini PCs no cesa, y a la salida de los Raspberry Pi -los envíos siguen llegando con cuentagotas, por lo que indican en su web oficial- le acompañan otras soluciones similares, como en el caso de estos miniPCs de AllWinner que tienen el aspecto de un pendrive USB.

Los distribuidores chinos han comenzado a vender los llamados AllWinner A10, que disponen de una CPU monocore ARM a 1,5 GHz, una GPU Mali 400, y 512 Mbytes de RAM. En sus pequeñas dimensiones también integran un puerto HDMI que es capaz de dar una salida de vídeo 1080p para vídeo de alta definición.
Estos dispositivos también tienen un puerto USB, un puerto microUSB, otro microSD y disponen de conectividad interna 802.11b/g. Estos miniordenadores pueden arrancar desde una tarjeta microSD y son capaces de ejecutar Android 4.0 y otras plataformas Linux compatibles con esta arquitectura.
Como revelan en Ars Technica, estos nuevos mini PCs, que tienen un precio de 74 dólares en tiendas online, son una alternativa interesante a otros dispositivos similares como los FXI Cotton Candy (199 dólares), que son más potentes y que no hacen necesario un cable HDMI adicional para conectarlos a un monitor o TV.

Fuente

domingo, 27 de mayo de 2012

VIA lanza APC, su miniPC por U$S49

Día aciago para los que se quejan de que “todo se hace cada vez más pequeño”. VIA ha decidido unirse a la categoría más pequeña de los PC con un mini ordenador Android de 49 dólares. Con su procesador de 800mhz y sus 2GB de almacenamiento, el APC se convierte en el primer competidor verdadero para Raspberry PI.

¿Por qué es el primer competidor verdadero? Porque es el que vuelve al formato y presentación que dio a conocer Raspberry PI allá por mayo del año pasado —y que ha salido al mercado este febrero—. Su último modelo, de 35 dólares, cuenta con un procesador ARM1176JZF-S de 700mhz, dos puertos USB, 256 MB de memoria RAM, Ethernet, HDMI y un GPU Broadcom VideoCore IV que reproduce videos FullHD (1080p) sin problemas.
Lo que salió a competirle estaba más orientado hacia el rendimiento potenciado, y dejaba relegadas la accesibilidad y el fin humanitario (parcial, eso sí) que tenía el Raspberry PI. Entre los dos más recientes tenemos al Mele A100 de 70 dolares (CPU ARM Cortex-A8 a 1Ghz y 512 de RAM DDR3) y al —algo mejor cargado— Intel NUC (i3 Sandy Bridge y 1GB de RAM según informes off the record) de 10x10 cm y todavía sin precio. A estos tres se suma ahora el APC, un mini ordenador Android de 49 dólares fabricado por VIA.

El APC de VIA: 49 dólares y Android 2.3

Este mini ordenador presentado por VIA tiene un procesador VI 800MHZ, suficiente para mirar una película en 720p —por humilde que parezca— gracias a su —también humilde— video 3D con puerto HDMI. El almacenamiento se ha llevado a los 2GB a través de NAND Flash. Sus 512MB de RAM DDR3 son suficientes para darle agilidad al tratamiento de navegadores y pequeñísimas aplicaciones en segundo plano.
El APC lo completan 4 puertos USB (el Raspberry tiene 2), Ethernet, salida VGA, slot para MicroSD y audio. El sistema operativo por defecto —y recomendado— será un Android 2.3, que ya tiene una maduración irreprochable. En cuanto a consumo, VIA ha anunciado que necesita sólo 4 watts cuando opera regularmente y 13.5 watts cuando funciona a pleno rendimiento. Diez veces menos consumo que un PC estándar, según VIA.

Especificaciones técnicas y dimensiones

Con un tamaño de 17 x 8.5cm, la comparación visual con un plátano es bastante ajustada. El factor de forma que utiliza el APC es el Neo-ITX y parece que el modelo a sostener sería ese. Aun así, VIA ha asegurado que, a nivel expansión, también se puede instalar en un gabinete o carcasa microATX. Ésta puede ser una buena opción para quienes quieran proteger un poco mejor el dispositivo o mejorar su presentación para su implementación como complemento o como HTPC.
El precio será de 49 dólares y todavía no se sabe si la configuración anunciada podrá mejorarse por más dinero. Lo que sí dijeron es que los APC podrán reservarse a partir del próximo mes y que llegará a las tiendas en julio. ¿Le hará competencia al Raspberry PI?

Fuente

CDE, herramienta para crear aplicaciones portables de Linux

CDE  (Código, Datos y Entorno) es una herramienta para Linux que te permite crear paquetes portables  de aplicaciones, que luego puedes ejecutar en cualquier ordenador  sin necesidad de realizar instalaciones o configuraciones adicionales.
CDE  trabaja comprimiendo todos los archivos necesarios para que la aplicación pueda ejecutarse en otras máquinas, para generar un paquete que luego puede ser transferido a otros ordenadores  con cualquier distribución x86 de Linux y ejecutarse sin problemas. El tamaño del paquete generado puede variar desde los 10 MB hasta los 100 MB, por lo que puede llevarse fácilmente en la mayoría de dispositivos de almacenamiento portables (pendrive USB, disco duro externo, CD, etc).
Crear aplicaciones portables usando CDE  ofrece numerosas ventajas tanto a los usuarios comunes como a los desarrolladores de software. Por ejemplo:
  • Poder probar aplicaciones en tu ordenador sin necesidad de complicarte instalando dependencias.
  • Poder probar múltiples versiones del mismo programa en tu ordenador sin presentar conflictos.
  • Poder llevar la aplicación hasta una máquina virtual sin problemas.
  • Si eres desarrollador de aplicaciones, garantizar que tu programa sea compatible con todas las distribuciones Linux en un período de tiempo desde la actualidad hasta 10 años.
  • Permitir a los usuarios de ordenadores antiguos ejecutar el programa sin tener que recompilarlo.
CDE es una creación de Philip Guo, un estudiante de ciencias de la computación de la universidad de Stanford. En su página web, puedes encontrar algunos ejemplos de uso de lo que este desarrollador ha podido lograr con la aplicación.
Instrucciones de Instalación
CDE es compatible con la mayoría de distribuciones x86-Linux modernas. La aplicación viene implementada como un sólo binario portable llamado ‘cde‘. Para instalarlo en tu ordenador puedes descargarlo desde cualquiera de los siguientes enlaces:
Binario para 32-bits (i386).
Binario para 64-bits (x86-64).
Al finalizar la descarga debes renombrar el archivo a ‘cde‘ y hacerlo ejecutable con el comando ‘chmod u+x‘. Para crear paquetes portables para aplicaciones debes usar el siguiente comando vía terminal:
./cde aplicación
Por ejemplo para crear un paquete portable de la aplicación ‘xclock‘ tendrías que escribir:
./cde xclock

 Podrás ver una nueva instancia de la aplicación, debes cerrarla y ejecutar el comando ls para ver una lista de los sub-directorios, donde debe encontrarse la carpeta cde-package/. Para mirar dentro de la carpeta usa el comando:
find cde-package/ | less
Ahora podrás ver que dentro de la carpeta se encuentran todas las dependencias necesarias para ejecutar xclock. Para comprimir el directorio usa los comandos:
tar -cvf cde-xclock.tar cde-package/
gzip cde-xclock.tar
El archivo obtenido (que debería llamarse en este caso cde-xclock.tar.gz) puede transferirse a cualquier otro ordenador con Linux. Para descomprimir y ejecutar la aplicación sólo tienes que usar las líneas:
tar -zxvf cde-xclock.tar.gz
cde-package/xclock.cde
Puedes seguir este mismo procedimiento para crear portables para cualquier otra aplicación.
Sitio oficial de CDE.

Fuente

Hitler implementa SAP (la verdadera razón para la caída del 3º Reich)

Hitler implementa SAP (la verdadera razón para la caída del 3º Reich)

 

sábado, 26 de mayo de 2012

Tips: Más de 400 comandos para GNU/Linux que deberías conocer

Me he encontrado en la Wiki de GUTL este completo listado con más de 400 comandos para GNU/Linux con su respectiva explicación, y los quiero compartir con ustedes para complementar este excelente artículo que escribió mi colega para aprender a vivir con la consola.

Indice:

  1. Información del Sistema
  2. Apagar (Reiniciar o Cerrar Sesión)
  3. Archivos y Directorios
  4. Encontrar archivos
  5. Montando un sistema de ficheros
  6. Espacio de Disco
  7. Usuarios y Grupos
  8. Permisos en Ficheros (Usa ”+” para colocar permisos y ”-” para eliminar)
  9. Atributos especiales en ficheros (Usa ”+” para colocar permisos y ”-” para eliminar)
  10. Archivos y Ficheros comprimidos
  11. Paquetes RPM (Red Hat, Fedora y similares)
  12. Actualizador de paquetes YUM (Red Hat, Fedora y similares)
  13. Paquetes Deb (Debian, Ubuntu y derivados)
  14. Actualizador de paquetes APT (Debian, Ubuntu y derivados)
  15. Ver el contenido de un fichero
  16. Manipulación de texto
  17. Establecer caracter y conversión de ficheros
  18. Análisis del sistema de ficheros
  19. Formatear un sistema de ficheros
  20. Trabajo con la SWAP
  21. Salvas (Backup)
  22. CD-ROM
  23. Trabajo con la RED ( LAN y Wi-Fi)
  24. Redes de Microsoft Windows (SAMBA)
  25. Tablas IP (CORTAFUEGOS)
  26. Monitoreando y depurando
  27. Otros comandos útiles

Información del sistema

  1. arch: mostrar la arquitectura de la máquina (1).
  2. uname -m: mostrar la arquitectura de la máquina (2).
  3. uname -r: mostrar la versión del kernel usado.
  4. dmidecode -q: mostrar los componentes (hardware) del sistema.
  5. hdparm -i /dev/hda: mostrar las características de un disco duro.
  6. hdparm -tT /dev/sda: realizar prueba de lectura en un disco duro.
  7. cat /proc/cpuinfo: mostrar información de la CPU.
  8. cat /proc/interrupts: mostrar las interrupciones.
  9. cat /proc/meminfo: verificar el uso de memoria.
  10. cat /proc/swaps: mostrar ficheros swap.
  11. cat /proc/version: mostrar la versión del kernel.
  12. cat /proc/net/dev: mostrar adaptadores de red y estadísticas.
  13. cat /proc/mounts: mostrar el sistema de ficheros montado.
  14. lspci -tv: mostrar los dispositivos PCI.
  15. lsusb -tv: mostrar los dispositivos USB.
  16. date: mostrar la fecha del sistema.
  17. cal 2011: mostrar el almanaque de 2011.
  18. cal 07 2011: mostrar el almanaque para el mes julio de 2011.
  19. date 041217002011.00: colocar (declarar, ajustar) fecha y hora.
  20. clock -w: guardar los cambios de fecha en la BIOS.

Apagar (Reiniciar Sistema o Cerrar Sesión)

  1. shutdown -h now: apagar el sistema (1).
  2. init 0: apagar el sistema (2).
  3. telinit 0: apagar el sistema (3).
  4. halt: apagar el sistema (4).
  5. shutdown -h hours:minutes &: apagado planificado del sistema.
  6. shutdown -c: cancelar un apagado planificado del sistema.
  7. shutdown -r now: reiniciar (1).
  8. reboot: reiniciar (2).
  9. logout: cerrar sesión.

Archivos y Directorios

  1. cd /home: entrar en el directorio “home”.
  2. cd ..: retroceder un nivel.
  3. cd ../..: retroceder 2 niveles.
  4. cd: ir al directorio raíz.
  5. cd ~user1: ir al directorio user1.
  6. cd -: ir (regresar) al directorio anterior.
  7. pwd: mostrar el camino del directorio de trabajo.
  8. ls: ver los ficheros de un directorio.
  9. ls -F: ver los ficheros de un directorio.
  10. ls -l: mostrar los detalles de ficheros y carpetas de un directorio.
  11. ls -a: mostrar los ficheros ocultos.
  12. ls *[0-9]*: mostrar los ficheros y carpetas que contienen números.
  13. tree: mostrar los ficheros y carpetas en forma de árbol comenzando por la raíz.(1)
  14. lstree: mostrar los ficheros y carpetas en forma de árbol comenzando por la raíz.(2)
  15. mkdir dir1: crear una carpeta o directorio con nombre ‘dir1′.
  16. mkdir dir1 dir2: crear dos carpetas o directorios simultáneamente (Crear dos directorios a la vez).
  17. mkdir -p /tmp/dir1/dir2: crear un árbol de directorios.
  18. rm -f file1: borrar el fichero llamado ‘file1′.
  19. rmdir dir1: borrar la carpeta llamada ‘dir1′.
  20. rm -rf dir1: eliminar una carpeta llamada ‘dir1′ con su contenido de forma recursiva. (Si lo borro recursivo estoy diciendo que es con su contenido).
  21. rm -rf dir1 dir2: borrar dos carpetas (directorios) con su contenido de forma recursiva.
  22. mv dir1 new_dir: renombrar o mover un fichero o carpeta (directorio).
  23. cp file1: copiar un fichero.
  24. cp file1 file2: copiar dos ficheros al unísono.
  25. cp dir /* .: copiar todos los ficheros de un directorio dentro del directorio de trabajo actual.
  26. cp -a /tmp/dir1 .: copiar un directorio dentro del directorio actual de trabajo.
  27. cp -a dir1: copiar un directorio.
  28. cp -a dir1 dir2: copiar dos directorio al unísono.
  29. ln -s file1 lnk1: crear un enlace simbólico al fichero o directorio.
  30. ln file1 lnk1: crear un enlace físico al fichero o directorio.
  31. touch -t 0712250000 file1: modificar el tiempo real (tiempo de creación) de un fichero o directorio.
  32. file file1: salida (volcado en pantalla) del tipo mime de un fichero texto.
  33. iconv -l: listas de cifrados conocidos.
  34. iconv -f fromEncoding -t toEncoding inputFile > outputFile: crea una nueva forma del fichero de entrada asumiendo que está codificado en fromEncoding y convirtiéndolo a ToEncoding.
  35. find . -maxdepth 1 -name *.jpg -print -exec convert ”{}” -resize 80×60 “thumbs/{}” \;: agrupar ficheros redimensionados en el directorio actual y enviarlos a directorios en vistas de miniaturas (requiere convertir desde ImagemagicK).

Encontrar archivos

  1. find / -name file1: buscar fichero y directorio a partir de la raíz del sistema.
  2. find / -user user1: buscar ficheros y directorios pertenecientes al usuario ‘user1′.
  3. find /home/user1 -name \*.bin: buscar ficheros con extensión ‘. bin’ dentro del directorio ‘/ home/user1′.
  4. find /usr/bin -type f -atime +100: buscar ficheros binarios no usados en los últimos 100 días.
  5. find /usr/bin -type f -mtime -10: buscar ficheros creados o cambiados dentro de los últimos 10 días.
  6. find / -name \*.rpm -exec chmod 755 ‘{}’ \;: buscar ficheros con extensión ‘.rpm’ y modificar permisos.
  7. find / -xdev -name \*.rpm: Buscar ficheros con extensión ‘.rpm’ ignorando los dispositivos removibles como cdrom, pen-drive, etc.…
  8. locate \*.ps: encuentra ficheros con extensión ‘.ps’ ejecutados primeramente con el command ‘updatedb’.
  9. whereis halt: mostrar la ubicación de un fichero binario, de ayuda o fuente. En este caso pregunta dónde está el comando ‘halt’.
  10. which halt: mostrar la senda completa (el camino completo) a un binario / ejecutable.

Montando un sistema de ficheros

  1. mount /dev/hda2 /mnt/hda2: montar un disco llamado hda2. Verifique primero la existencia del directorio ‘/ mnt/hda2′; si no está, debe crearlo.
  2. umount /dev/hda2: desmontar un disco llamado hda2. Salir primero desde el punto ‘/ mnt/hda2.
  3. fuser -km /mnt/hda2: forzar el desmontaje cuando el dispositivo está ocupado.
  4. umount -n /mnt/hda2: correr el desmontaje sin leer el fichero /etc/mtab. Útil cuando el fichero es de solo lectura o el disco duro está lleno.
  5. mount /dev/fd0 /mnt/floppy: montar un disco flexible (floppy).
  6. mount /dev/cdrom /mnt/cdrom: montar un cdrom / dvdrom.
  7. mount /dev/hdc /mnt/cdrecorder: montar un cd regrabable o un dvdrom.
  8. mount /dev/hdb /mnt/cdrecorder: montar un cd regrabable / dvdrom (un dvd).
  9. mount -o loop file.iso /mnt/cdrom: montar un fichero o una imagen iso.
  10. mount -t vfat /dev/hda5 /mnt/hda5: montar un sistema de ficheros FAT32.
  11. mount /dev/sda1 /mnt/usbdisk: montar un usb pen-drive o una memoria (sin especificar el tipo de sistema de ficheros).

Espacio de Disco

  1. df -h: mostrar una lista de las particiones montadas.
  2. ls -lSr |more: mostrar el tamaño de los ficheros y directorios ordenados por tamaño.
  3. du -sh dir1: Estimar el espacio usado por el directorio ‘dir1′.
  4. du -sk * | sort -rn: mostrar el tamaño de los ficheros y directorios ordenados por tamaño.
  5. rpm -q -a –qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1n: mostrar el espacio usado por los paquetes rpm instalados organizados por tamaño (Fedora, Redhat y otros).
  6. dpkg-query -W -f=’${Installed-Size;10}t${Package}n’ | sort -k1,1n: mostrar el espacio usado por los paquetes instalados, organizados por tamaño (Ubuntu, Debian y otros).

Usuarios y Grupos

  1. groupadd nombre_del_grupo: crear un nuevo grupo.
  2. groupdel nombre_del_grupo: borrar un grupo.
  3. groupmod -n nuevo_nombre_del_grupo viejo_nombre_del_grupo: renombrar un grupo.
  4. useradd -c “Name Surname ” -g admin -d /home/user1 -s /bin/bash user1: Crear un nuevo usuario perteneciente al grupo “admin”.
  5. useradd user1: crear un nuevo usuario.
  6. userdel -r user1: borrar un usuario (‘-r’ elimina el directorio Home).
  7. usermod -c “User FTP” -g system -d /ftp/user1 -s /bin/nologin user1: cambiar los atributos del usuario.
  8. passwd: cambiar contraseña.
  9. passwd user1: cambiar la contraseña de un usuario (solamente por root).
  10. chage -E 2011-12-31 user1: colocar un plazo para la contraseña del usuario. En este caso dice que la clave expira el 31 de diciembre de 2011.
  11. pwck: chequear la sintaxis correcta el formato de fichero de ‘/etc/passwd’ y la existencia de usuarios.
  12. grpck: chequear la sintaxis correcta y el formato del fichero ‘/etc/group’ y la existencia de grupos.
  13. newgrp group_name: registra a un nuevo grupo para cambiar el grupo predeterminado de los ficheros creados recientemente.

Permisos en Ficheros (Usa ”+” para colocar permisos y ”-” para eliminar)

  1. ls -lh: Mostrar permisos.
  2. ls /tmp | pr -T5 -W$COLUMNS: dividir la terminal en 5 columnas.
  3. chmod ugo+rwx directory1: colocar permisos de lectura ®, escritura (w) y ejecución(x) al propietario (u), al grupo (g) y a otros (o) sobre el directorio ‘directory1′.
  4. chmod go-rwx directory1: quitar permiso de lectura ®, escritura (w) y (x) ejecución al grupo (g) y otros (o) sobre el directorio ‘directory1′.
  5. chown user1 file1: cambiar el dueño de un fichero.
  6. chown -R user1 directory1: cambiar el propietario de un directorio y de todos los ficheros y directorios contenidos dentro.
  7. chgrp group1 file1: cambiar grupo de ficheros.
  8. chown user1:group1 file1: cambiar usuario y el grupo propietario de un fichero.
  9. find / -perm -u+s: visualizar todos los ficheros del sistema con SUID configurado.
  10. chmod u+s /bin/file1: colocar el bit SUID en un fichero binario. El usuario que corriendo ese fichero adquiere los mismos privilegios como dueño.
  11. chmod u-s /bin/file1: deshabilitar el bit SUID en un fichero binario.
  12. chmod g+s /home/public: colocar un bit SGID en un directorio –similar al SUID pero por directorio.
  13. chmod g-s /home/public: desabilitar un bit SGID en un directorio.
  14. chmod o+t /home/public: colocar un bit STIKY en un directorio. Permite el borrado de ficheros solamente a los dueños legítimos.
  15. chmod o-t /home/public: desabilitar un bit STIKY en un directorio.

Atributos especiales en ficheros (Usa ”+” para colocar permisos y ”-” para eliminar)

  1. chattr +a file1: permite escribir abriendo un fichero solamente modo append.
  2. chattr +c file1: permite que un fichero sea comprimido / descomprimido automaticamente.
  3. chattr +d file1: asegura que el programa ignore borrar los ficheros durante la copia de seguridad.
  4. chattr +i file1: convierte el fichero en invariable, por lo que no puede ser eliminado, alterado, renombrado, ni enlazado.
  5. chattr +s file1: permite que un fichero sea borrado de forma segura.
  6. chattr +S file1: asegura que un fichero sea modificado, los cambios son escritos en modo synchronous como con sync.
  7. chattr +u file1: te permite recuperar el contenido de un fichero aún si este está cancelado.
  8. lsattr: mostrar atributos especiales.

Archivos y Ficheros comprimidos

  1. bunzip2 file1.bz2: descomprime in fichero llamado ‘file1.bz2′.
  2. bzip2 file1: comprime un fichero llamado ‘file1′.
  3. gunzip file1.gz: descomprime un fichero llamado ‘file1.gz’.
  4. gzip file1: comprime un fichero llamado ‘file1′.
  5. gzip -9 file1: comprime con compresión máxima.
  6. rar a file1.rar test_file: crear un fichero rar llamado ‘file1.rar’.
  7. rar a file1.rar file1 file2 dir1: comprimir ‘file1′, ‘file2′ y ‘dir1′ simultáneamente.
  8. rar x file1.rar: descomprimir archivo rar.
  9. unrar x file1.rar: descomprimir archivo rar.
  10. tar -cvf archive.tar file1: crear un tarball descomprimido.
  11. tar -cvf archive.tar file1 file2 dir1: crear un archivo conteniendo ‘file1′, ‘file2′ y’dir1′.
  12. tar -tf archive.tar: mostrar los contenidos de un archivo.
  13. tar -xvf archive.tar: extraer un tarball.
  14. tar -xvf archive.tar -C /tmp: extraer un tarball en / tmp.
  15. tar -cvfj archive.tar.bz2 dir1: crear un tarball comprimido dentro de bzip2.
  16. tar -xvfj archive.tar.bz2: descomprimir un archivo tar comprimido en bzip2
  17. tar -cvfz archive.tar.gz dir1: crear un tarball comprimido en gzip.
  18. tar -xvfz archive.tar.gz: descomprimir un archive tar comprimido en gzip.
  19. zip file1.zip file1: crear un archivo comprimido en zip.
  20. zip -r file1.zip file1 file2 dir1: comprimir, en zip, varios archivos y directorios de forma simultánea.
  21. unzip file1.zip: descomprimir un archivo zip.

Paquetes RPM (Red Hat, Fedora y similares)

  1. rpm -ivh package.rpm: instalar un paquete rpm.
  2. rpm -ivh –nodeeps package.rpm: instalar un paquete rpm ignorando las peticiones de dependencias.
  3. rpm -U package.rpm: actualizar un paquete rpm sin cambiar la configuración de los ficheros.
  4. rpm -F package.rpm: actualizar un paquete rpm solamente si este está instalado.
  5. rpm -e package_name.rpm: eliminar un paquete rpm.
  6. rpm -qa: mostrar todos los paquetes rpm instalados en el sistema.
  7. rpm -qa | grep httpd: mostrar todos los paquetes rpm con el nombre “httpd”.
  8. rpm -qi package_name: obtener información en un paquete específico instalado.
  9. rpm -qg “System Environment/Daemons”: mostar los paquetes rpm de un grupo software.
  10. rpm -ql package_name: mostrar lista de ficheros dados por un paquete rpm instalado.
  11. rpm -qc package_name: mostrar lista de configuración de ficheros dados por un paquete rpm instalado.
  12. rpm -q package_name –whatrequires: mostrar lista de dependencias solicitada para un paquete rpm.
  13. rpm -q package_name –whatprovides: mostar la capacidad dada por un paquete rpm.
  14. rpm -q package_name –scripts: mostrar los scripts comenzados durante la instalación /eliminación.
  15. rpm -q package_name –changelog: mostar el historial de revisions de un paquete rpm.
  16. rpm -qf /etc/httpd/conf/httpd.conf: verificar cuál paquete rpm pertenece a un fichero dado.
  17. rpm -qp package.rpm -l: mostrar lista de ficheros dados por un paquete rpm que aún no ha sido instalado.
  18. rpm –import /media/cdrom/RPM-GPG-KEY: importar la firma digital de la llave pública.
  19. rpm –checksig package.rpm: verificar la integridad de un paquete rpm.
  20. rpm -qa gpg-pubkey: verificar la integridad de todos los paquetes rpm instalados.
  21. rpm -V package_name: chequear el tamaño del fichero, licencias, tipos, dueño, grupo, chequeo de resumen de MD5 y última modificación.
  22. rpm -Va: chequear todos los paquetes rpm instalados en el sistema. Usar con cuidado.
  23. rpm -Vp package.rpm: verificar un paquete rpm no instalado todavía.
  24. rpm2cpio package.rpm | cpio –extract –make-directories *bin*: extraer fichero ejecutable desde un paquete rpm.
  25. rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm: instalar un paquete construido desde una fuente rpm.
  26. rpmbuild –rebuild package_name.src.rpm: construir un paquete rpm desde una fuente rpm.

Actualizador de paquetes YUM (Red Hat, Fedora y similares)

  1. yum install package_name: descargar e instalar un paquete rpm.
  2. yum localinstall package_name.rpm: este instalará un RPM y tratará de resolver todas las dependencies para ti, usando tus repositorios.
  3. yum update package_name.rpm: actualizar todos los paquetes rpm instalados en el sistema.
  4. yum update package_name: modernizar / actualizar un paquete rpm.
  5. yum remove package_name: eliminar un paquete rpm.
  6. yum list: listar todos los paquetes instalados en el sistema.
  7. yum search package_name: Encontrar un paquete en repositorio rpm.
  8. yum clean packages: limpiar un caché rpm borrando los paquetes descargados.
  9. yum clean headers: eliminar todos los ficheros de encabezamiento que el sistema usa para resolver la dependencia.
  10. yum clean all: eliminar desde los paquetes caché y ficheros de encabezado.

Paquetes Deb (Debian, Ubuntu y derivados)

  1. dpkg -i package.deb: instalar / actualizar un paquete deb.
  2. dpkg -r package_name: eliminar un paquete deb del sistema.
  3. dpkg -l: mostrar todos los paquetes deb instalados en el sistema.
  4. dpkg -l | grep httpd: mostrar todos los paquetes deb con el nombre “httpd”
  5. dpkg -s package_name: obtener información en un paquete específico instalado en el sistema.
  6. dpkg -L package_name: mostar lista de ficheros dados por un paquete instalado en el sistema.
  7. dpkg –contents package.deb: mostrar lista de ficheros dados por un paquete no instalado todavía.
  8. dpkg -S /bin/ping: verificar cuál paquete pertenece a un fichero dado.

Actualizador de paquetes APT (Debian, Ubuntu y derivados)

  1. apt-get install package_name: instalar / actualizar un paquete deb.
  2. apt-cdrom install package_name: instalar / actualizar un paquete deb desde un cdrom.
  3. apt-get update: actualizar la lista de paquetes.
  4. apt-get upgrade: actualizar todos los paquetes instalados.
  5. apt-get remove package_name: eliminar un paquete deb del sistema.
  6. apt-get check: verificar la correcta resolución de las dependencias.
  7. apt-get clean: limpiar cache desde los paquetes descargados.
  8. apt-cache search searched-package: retorna lista de paquetes que corresponde a la serie «paquetes buscados».

Ver el contenido de un fichero

  1. cat file1: ver los contenidos de un fichero comenzando desde la primera hilera.
  2. tac file1: ver los contenidos de un fichero comenzando desde la última línea.
  3. more file1: ver el contenido a lo largo de un fichero.
  4. less file1: parecido al commando ‘more’ pero permite salvar el movimiento en el fichero así como el movimiento hacia atrás.
  5. head -2 file1: ver las dos primeras líneas de un fichero.
  6. tail -2 file1: ver las dos últimas líneas de un fichero.
  7. tail -f /var/log/messages: ver en tiempo real qué ha sido añadido al fichero.

Manipulación de texto

  1. cat file1 file2 .. | command <> file1_in.txt_or_file1_out.txt: sintaxis general para la manipulación de texto utilizando PIPE, STDIN y STDOUT.
  2. cat file1 | command( sed, grep, awk, grep, etc…) > result.txt: sintaxis general para manipular un texto de un fichero y escribir el resultado en un fichero nuevo.
  3. cat file1 | command( sed, grep, awk, grep, etc…) » result.txt: sintaxis general para manipular un texto de un fichero y añadir resultado en un fichero existente.
  4. grep Aug /var/log/messages: buscar palabras “Aug” en el fichero ‘/var/log/messages’.
  5. grep ^Aug /var/log/messages: buscar palabras que comienzan con “Aug” en fichero ‘/var/log/messages’
  6. grep [0-9] /var/log/messages: seleccionar todas las líneas del fichero ‘/var/log/messages’ que contienen números.
  7. grep Aug -R /var/log/*: buscar la cadena “Aug” en el directorio ‘/var/log’ y debajo.
  8. sed ‘s/stringa1/stringa2/g’ example.txt: reubicar “string1” con “string2” en ejemplo.txt
  9. sed ‘/^$/d’ example.txt: eliminar todas las líneas en blanco desde el ejemplo.txt
  10. sed ‘/ *#/d; /^$/d’ example.txt: eliminar comentarios y líneas en blanco de ejemplo.txt
  11. echo ‘esempio’ | tr ‘[:lower:]‘ ‘[:upper:]‘: convertir minúsculas en mayúsculas.
  12. sed -e ’1d’ result.txt: elimina la primera línea del fichero ejemplo.txt
  13. sed -n ‘/stringa1/p’: visualizar solamente las líneas que contienen la palabra “string1”.

Establecer caracter y conversión de ficheros

  1. dos2unix filedos.txt fileunix.txt: convertir un formato de fichero texto desde MSDOS a UNIX.
  2. unix2dos fileunix.txt filedos.txt: convertir un formato de fichero de texto desde UNIX a MSDOS.
  3. recode ..HTML < page.txt > page.html: convertir un fichero de texto en html.
  4. recode -l | more: mostrar todas las conversiones de formato disponibles.

Análisis del sistema de ficheros

  1. badblocks -v /dev/hda1: Chequear los bloques defectuosos en el disco hda1.
  2. fsck /dev/hda1: reparar / chequear la integridad del fichero del sistema Linux en el disco hda1.
  3. fsck.ext2 /dev/hda1: reparar / chequear la integridad del fichero del sistema ext 2 en el disco hda1.
  4. e2fsck /dev/hda1: reparar / chequear la integridad del fichero del sistema ext 2 en el disco hda1.
  5. e2fsck -j /dev/hda1: reparar / chequear la integridad del fichero del sistema ext 3 en el disco hda1.
  6. fsck.ext3 /dev/hda1: reparar / chequear la integridad del fichero del sistema ext 3 en el disco hda1.
  7. fsck.vfat /dev/hda1: reparar / chequear la integridad del fichero sistema fat en el disco hda1.
  8. fsck.msdos /dev/hda1: reparar / chequear la integridad de un fichero del sistema dos en el disco hda1.
  9. dosfsck /dev/hda1: reparar / chequear la integridad de un fichero del sistema dos en el disco hda1.

Formatear un sistema de ficheros

  1. mkfs /dev/hda1: crear un fichero de sistema tipo Linux en la partición hda1.
  2. mke2fs /dev/hda1: crear un fichero de sistema tipo Linux ext 2 en hda1.
  3. mke2fs -j /dev/hda1: crear un fichero de sistema tipo Linux ext3 (periódico) en la partición hda1.
  4. mkfs -t vfat 32 -F /dev/hda1: crear un fichero de sistema FAT32 en hda1.
  5. fdformat -n /dev/fd0: formatear un disco flooply.
  6. mkswap /dev/hda3: crear un fichero de sistema swap.

Trabajo con la SWAP

  1. mkswap /dev/hda3: crear fichero de sistema swap.
  2. swapon /dev/hda3: activando una nueva partición swap.
  3. swapon /dev/hda2 /dev/hdb3: activar dos particiones swap.

Salvas (Backup)

  1. dump -0aj -f /tmp/home0.bak /home: hacer una salva completa del directorio ‘/home’.
  2. dump -1aj -f /tmp/home0.bak /home: hacer una salva incremental del directorio ‘/home’.
  3. restore -if /tmp/home0.bak: restaurando una salva interactivamente.
  4. rsync -rogpav –delete /home /tmp: sincronización entre directorios.
  5. rsync -rogpav -e ssh –delete /home ip_address:/tmp: rsync a través del túnel SSH.
  6. rsync -az -e ssh –delete ip_addr:/home/public /home/local: sincronizar un directorio local con un directorio remoto a través de ssh y de compresión.
  7. rsync -az -e ssh –delete /home/local ip_addr:/home/public: sincronizar un directorio remoto con un directorio local a través de ssh y de compresión.
  8. dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr ‘dd of=hda.gz’: hacer una salva de un disco duro en un host remoto a través de ssh.
  9. dd if=/dev/sda of=/tmp/file1: salvar el contenido de un disco duro a un fichero. (En este caso el disco duro es “sda” y el fichero “file1”).
  10. tar -Puf backup.tar /home/user: hacer una salva incremental del directorio ‘/home/user’.
  11. ( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr ‘cd /home/share/ && tar x -p’: copiar el contenido de un directorio en un directorio remoto a través de ssh.
  12. ( tar c /home ) | ssh -C user@ip_addr ‘cd /home/backup-home && tar x -p’: copiar un directorio local en un directorio remoto a través de ssh.
  13. tar cf – . | (cd /tmp/backup ; tar xf – ): copia local conservando las licencias y enlaces desde un directorio a otro.
  14. find /home/user1 -name ‘*.txt’ | xargs cp -av –target-directory=/home/backup/ –parents: encontrar y copiar todos los ficheros con extensión ‘.txt’ de un directorio a otro.
  15. find /var/log -name ‘*.log’ | tar cv –files-from=- | bzip2 > log.tar.bz2: encontrar todos los ficheros con extensión ‘.log’ y hacer un archivo bzip.
  16. dd if=/dev/hda of=/dev/fd0 bs=512 count=1: hacer una copia del MRB (Master Boot Record) a un disco floppy.
  17. dd if=/dev/fd0 of=/dev/hda bs=512 count=1: restaurar la copia del MBR (Master Boot Record) salvada en un floppy.

CD-ROM

  1. cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force: limpiar o borrar un cd regrabable.
  2. mkisofs /dev/cdrom > cd.iso: crear una imagen iso de cdrom en disco.
  3. mkisofs /dev/cdrom | gzip > cd_iso.gz: crear una imagen comprimida iso de cdrom en disco.
  4. mkisofs -J -allow-leading-dots -R -V “Label CD” -iso-level 4 -o ./cd.iso data_cd: crear una imagen iso de un directorio.
  5. cdrecord -v dev=/dev/cdrom cd.iso: quemar una imagen iso.
  6. gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom -: quemar una imagen iso comprimida.
  7. mount -o loop cd.iso /mnt/iso: montar una imagen iso.
  8. cd-paranoia -B: llevar canciones de un cd a ficheros wav.
  9. cd-paranoia – ”-3”: llevar las 3 primeras canciones de un cd a ficheros wav.
  10. cdrecord –scanbus: escanear bus para identificar el canal scsi.
  11. dd if=/dev/hdc | md5sum: hacer funcionar un md5sum en un dispositivo, como un CD.

Trabajo con la RED ( LAN y Wi-Fi)

  1. ifconfig eth0: mostrar la configuración de una tarjeta de red Ethernet.
  2. ifup eth0: activar una interface ‘eth0′.
  3. ifdown eth0: deshabilitar una interface ‘eth0′.
  4. ifconfig eth0 192.168.1.1 netmask 255.255.255.0: configurar una dirección IP.
  5. ifconfig eth0 promisc: configurar ‘eth0′en modo común para obtener los paquetes (sniffing).
  6. dhclient eth0: activar la interface ‘eth0′ en modo dhcp.
  7. route -n: mostrar mesa de recorrido.
  8. route add -net 0/0 gw IP_Gateway: configurar entrada predeterminada.
  9. route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1: configurar ruta estática para buscar la red ’192.168.0.0/16′.
  10. route del 0/0 gw IP_gateway: eliminar la ruta estática.
  11. echo “1” > /proc/sys/net/ipv4/ip_forward: activar el recorrido ip.
  12. hostname: mostrar el nombre del host del sistema.
  13. host www.example.com: buscar el nombre del host para resolver el nombre a una dirección ip(1).
  14. nslookup www.example.com: buscar el nombre del host para resolver el nombre a una direccióm ip y viceversa(2).
  15. ip link show: mostar el estado de enlace de todas las interfaces.
  16. mii-tool eth0: mostar el estado de enlace de ‘eth0′.
  17. ethtool eth0: mostrar las estadísticas de tarjeta de red ‘eth0′.
  18. netstat -tup: mostrar todas las conexiones de red activas y sus PID.
  19. netstat -tupl: mostrar todos los servicios de escucha de red en el sistema y sus PID.
  20. tcpdump tcp port 80: mostrar todo el tráfico HTTP.
  21. iwlist scan: mostrar las redes inalámbricas.
  22. iwconfig eth1: mostrar la configuración de una tarjeta de red inalámbrica.
  23. whois www.example.com: buscar en base de datos Whois.

Redes de Microsoft Windows (SAMBA)

  1. nbtscan ip_addr: resolución de nombre de red bios.
  2. nmblookup -A ip_addr: resolución de nombre de red bios.
  3. smbclient -L ip_addr/hostname: mostrar acciones remotas de un host en windows.

Tablas IP (CORTAFUEGOS)

  1. iptables -t filter -L: mostrar todas las cadenas de la tabla de filtro.
  2. iptables -t nat -L: mostrar todas las cadenas de la tabla nat.
  3. iptables -t filter -F: limpiar todas las reglas de la tabla de filtro.
  4. iptables -t nat -F: limpiar todas las reglas de la tabla nat.
  5. iptables -t filter -X: borrar cualquier cadena creada por el usuario.
  6. iptables -t filter -A INPUT -p tcp –dport telnet -j ACCEPT: permitir las conexiones telnet para entar.
  7. iptables -t filter -A OUTPUT -p tcp –dport http -j DROP: bloquear las conexiones HTTP para salir.
  8. iptables -t filter -A FORWARD -p tcp –dport pop3 -j ACCEPT: permitir las conexiones POP a una cadena delantera.
  9. iptables -t filter -A INPUT -j LOG –log-prefix “DROP INPUT”: registrando una cadena de entrada.
  10. iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE: configurar un PAT (Puerto de traducción de dirección) en eth0, ocultando los paquetes de salida forzada.
  11. iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp –dport 22 -j DNAT –to-destination 10.0.0.2:22: redireccionar los paquetes diriguidos de un host a otro.

Monitoreando y depurando

  1. top: mostrar las tareas de linux usando la mayoría cpu.
  2. ps -eafw: muestra las tareas Linux.
  3. ps -e -o pid,args –forest: muestra las tareas Linux en un modo jerárquico.
  4. pstree: mostrar un árbol sistema de procesos.
  5. kill -9 ID_Processo: forzar el cierre de un proceso y terminarlo.
  6. kill -1 ID_Processo: forzar un proceso para recargar la configuración.
  7. lsof -p $$: mostrar una lista de ficheros abiertos por procesos.
  8. lsof /home/user1: muestra una lista de ficheros abiertos en un camino dado del sistema.
  9. strace -c ls >/dev/null: mostrar las llamadas del sistema hechas y recibidas por un proceso.
  10. strace -f -e open ls >/dev/null: mostrar las llamadas a la biblioteca.
  11. watch -n1 ‘cat /proc/interrupts’: mostrar interrupciones en tiempo real.
  12. last reboot: mostrar historial de reinicio.
  13. lsmod: mostrar el kernel cargado.
  14. free -m: muestra el estado de la RAM en megabytes.
  15. smartctl -A /dev/hda: monitorear la fiabilidad de un disco duro a través de SMART.
  16. smartctl -i /dev/hda: chequear si SMART está activado en un disco duro.
  17. tail /var/log/dmesg: mostrar eventos inherentes al proceso de carga del kernel.
  18. tail /var/log/messages: mostrar los eventos del sistema.

Otros comandos útiles

  1. apropos …keyword: mostrar una lista de comandos que pertenecen a las palabras claves de un programa; son útiles cuando tú sabes qué hace tu programa, pero de sconoces el nombre del comando.
  2. man ping: mostrar las páginas del manual on-line; por ejemplo, en un comando ping, usar la opción ‘-k’ para encontrar cualquier comando relacionado.
  3. whatis …keyword: muestra la descripción de lo que hace el programa.
  4. mkbootdisk –device /dev/fd0 `uname -r`: crear un floppy boteable.
  5. gpg -c file1: codificar un fichero con guardia de seguridad GNU.
  6. gpg file1.gpg: decodificar un fichero con Guardia de seguridad GNU.
  7. wget -r www.example.com: descargar un sitio web completo.
  8. wget -c www.example.com/file.iso: descargar un fichero con la posibilidad de parar la descargar y reanudar más tarde.
  9. echo ‘wget -c www.example.com/files.iso‘ | at 09:00: Comenzar una descarga a cualquier hora. En este caso empezaría a las 9 horas.
  10. ldd /usr/bin/ssh: mostrar las bibliotecas compartidas requeridas por el programa ssh.
  11. alias hh=’history’: colocar un alias para un commando –hh= Historial.
  12. chsh: cambiar el comando Shell.
  13. chsh –list-shells: es un comando adecuado para saber si tienes que hacer remoto en otra terminal.
  14. who -a: mostrar quien está registrado, e imprimir hora del último sistema de importación, procesos muertos, procesos de registro de sistema, procesos activos producidos por init, funcionamiento actual y últimos cambios del reloj del sistema.
    Este artículo es un copy/paste. Ver aquí la fuente original.