Archive

Archive for the ‘Prompt’ Category

Conocer que equipos hay en una red

October 29th, 2008 Güimi 2 comments

Hay varias herramientas que nos permiten conocer que equipos son alcanzables en nuestra red.
 

nmap

Herramienta de exploración de redes y analizador de puertos.
 
$ nmap -sP 192.168.0.0/24

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2007-06-27 10:13 CEST
Host equipo1 (192.168.0.1) appears to be up.
Host equipo2 (192.168.0.2) appears to be up.
Host equipo3 (192.168.0.4) appears to be up.
...
Nmap finished: 256 IP addresses (12 hosts up) scanned in 2.219 seconds

 

fping

Una herramienta de ping que se puede utilizar fácilmente para múltiples equipos y en scripts.
 
$ fping -g 192.168.0./24

192.168.0.0 error while sending ping: Permission denied
192.168.0.1 is alive
192.168.0.2 is alive
192.168.0.3 is alive
ICMP Host Unreachable from 192.168.0.2  for ICMP Echo sent to 192.168.0.4
...

 
O mejor:
$ fping -g 192.168.0./24 2> /dev/null | grep alive

192.168.0.1 is alive
192.168.0.2 is alive
192.168.0.3 is alive
...

 

ip

Herramienta de configuración del protocolo ip. Permite ver y modificar rutas, dispositivos, tuneles…
 
$ ip neig

192.168.0.4 dev eth1 lladdr xx:xx:xx:xx:xx:xx STALE
192.168.0.60 dev eth1 lladdr xx:xx:xx:xx:xx:xx STALE
192.168.0.61 dev eth1 lladdr xx:xx:xx:xx:xx:xx STALE
192.168.0.52 dev eth1 lladdr xx:xx:xx:xx:xx:xx STALE
...

 

nbtscan

Escanea redes en busca de nombres NETBIOS.
 
# nbtscan -r 192.168.0.0/24

Doing NBT name scan for addresses from 192.168.0.0/24

IP address       NetBIOS Name     Server    User             MAC address
------------------------------------------------------------------------------
192.168.0.0    Sendto failed: Permission denied
192.168.0.2     <unknown>                  <unknown>
192.168.0.60    xxxx-LAB10       <server>  xxxx-LAB10       xx:xx:xx:xx:xx:xx
192.168.0.52    xxxxxxxxxxxx-01  <server>  xxxxxxxxxxxx-01  xx:xx:xx:xx:xx:xx
192.168.0.61    xxxx-LAB11       <server>  xxxx-LAB11       xx:xx:xx:xx:xx:xx
...

 

Conocer que equipos hay en una red, Buscar equipos en una red, Averiguar que equipos hay en una red

Categories: Prompt, Redes

Uso de mencoder

September 5th, 2008 Güimi No comments

mencoder es una herramienta muy potente que viene en el paquete mplayer y permite trabajar con archivos de audio y video.
mencoder genera ficheros en formato AVI a no ser que se le indique lo contrario.

Se utiliza:
mencoder {videos de entrada} [opciones] [-o archivo de salida]

Como se ve puede utilizarse para encadenar varios archivos de video:
mencoder video1.avi video2.avi -o video_unido.avi

Algunas de las opciones más utiles son:

  • oac (output audio codec) {copy,pcm,mp3lame,lavc}
    libavc utiliza un codec de la libreria libavcodec

  • ovc (output video codec) {copy,divx4,raw,libavc}
  • vf (video filter)
    • flip (Voltear arriba-abajo)

    • mirror (Voltear derecha-izquierda)
    • rotate[=...] (Girar)
    • scale[=...] (Escalar)
    • crop[=...] (Recortar)
    • denoise3d[=...] (intenta eliminar el ruido)
    • hqdn3d[=...] (intenta eliminar el ruido con mayor calidad)
    • eq[=brillo:contraste] (Modifica los colores)
    • eq2[=...] (Modifica los colores)

    Opciones que más utilizo:

    Salida como mpeg -of mpeg
    Copiar el video -ovc copy -oac copy
    Recodificar el video -ovc lavc -lavcopts vcodec=xvid:mbd=2:trell:autoaspect
    -ovc lavc -lavcopts vcodec=mpeg4
    Indicar frames per second (fps) -fps 25
    Indicar inicio y fin de la codifiación -ss 0:10 -endpos 01:15:23
    Incluir subtitulos -sub subtitulos.srt
    Rotar video -vf rotate=1 (90º en sentido horario)
    -vf rotate=2 (90º en sentido anti-horario)
    Escalar video -vf scale=320:240
    Usar sonido externo -audiofile audio.mp3
    Des/Codificar archivos de imagen -mf type=png:fps=25 (con mf -multifiles)
    Negativo -vf eq2=1.0:-0.8
    Añadir información -info name=titulo,artist=guimi

    Ejemplos:

    • Reproducción rápida de DVD

      • mplayer dvd://1
    • Codificar videos como mpeg
      • mencoder video1.avi video2.avi -of mpeg -o videoFinal.mpg
    • Rotar un video, quitarle el ruido y darle más luz
      • mencoder -vf rotate=1,hqdn3d,eq=75:100 -oac pcm -ovc lavc videoIn.avi -o videoOut.avi
    • Convertir parte de un video a AVI con codec Xvid
      • mencoder videoIn.ogg -ss 10 -endpos 01:42:55.5 -oac pcm -ovc lavc -lavcopts vcodec=xvid:mbd=2:trell:autoaspect -o videoOut.avi
    • Codificar los capítulos 10-15 del título 2 de un DVD, redimensionando
      • mencoder dvd://2 -chapter 10-15 -vf scale=640:480 -o titulo2.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4
    • Igual pero con libavcodec
      • mencoder dvd://2 -o titulo2.avi -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=1800 -oac copy
    • Codificación de archivos jpg
      • mencoder “mf://*.jpg” -mf fps=25 -o salida.avi -ovc lavc -lavcopts vcodec=mpeg4
    • Codificar video con un fichero de audio externo
      • mencoder videoIn.avi -o videoOut.avi -ovc copy -oac mp3lame -audiofile audio.wav
    • Incluir subtítulos en un vídeo
      • mencoder -ovc lavc -oac mp3lame pelicula.avi -o pelicula_con_subtitulos.avi -sub subtitulos.xxx

    Referencias y ejemplos del manual de mencoder, de Hache Muda y propios.

    Uso de mencoder, comando mencoder en Linux

Categories: Multimedia, Prompt

Comprobaciones de HW en GNU/Linux

April 29th, 2008 Güimi No comments

DISPOSITIVOS

# lspci | cat /proc/cpuinfo

# lsusb | cat /proc/scsi/scsi

 

MEMORIA

# free

# memtest86

 

DISCOS

# dd if=/dev/… of=/dev/null

# smartmontools

 

RED

# nictools_nopci

# nictools_pci

 

CPU

# cpuburn

# crashme

# fuzz

# stress

 

OTROS

# mbmon

# sensord

# lmbench

# lm_sensors

# lshw | hwinfo | x86info

# ltp

# spew

 

Comprobaciones de HW en GNU/Linux, Veruificar hardware en Linux, chequeo de hardware

Categories: GNU/Linux, Hardware, Prompt

Trabajar con PDFs desde el prompt

April 10th, 2008 Güimi No comments

Instalamos PDFTK (The PDF ToolKit):
# aptitude install pdftk

Extraer paginas de un pdf (opcion 1):
$ pdftk file.pdf burst

Extraer paginas de un pdf (opcion 2):
$ convert -density 150 archivo.pdf img_%04d.tiff

Convertir imagenes en un pdf:
$ convert *.tiff archivo.pdf

OCR:
$ for x in $(ls img_*tiff); do gocr $x >> kk.txt; done

Extraer imágenes de un pdf:
$ pdfimages -j file.pdf img

Extraer texto de un pdf:
$ pdftotext file.pdf

Unir pdfs:
$ pdftk *.pdf cat output nuevo.pdf

Unir parte de unos pdfs con otros:
# Insertamos la página 2 del fichero B entre la página 2 y la página 3 del fichero A
$ pdftk A=file1.pdf B=file2.pdf cat A1-2 B2 A3-end output nuevo.pdf

Rotar pdfs:
# S(outh) – 180% ; E(ast) 90%; W(est) 270%; N(orth) 0%
$ pdftk A=file1.pdf cat A1-endS output nuevo.pdf
En un pdf que contiene páginas giradas, será necesario rotar al Norte para que recuperen la orientación original.

Añadir marca de agua:
$ pdftk fileIn.pdf background marca_agua.pdf output fileOut.pdf
Se recomienda que marca_agua.pdf sea del tamaño de las páginas del PDF (A4, letter…).
Si el pdf son imágenes, éstas taparán la marca de agua y no se verá.
Es útil en pdfs con textos. La alternativa es el “sello”.
Añadir sello:
$ pdftk fileIn.pdf stamp sello.pdf output fileOut.pdf
Se recomienda que sello.pdf sea del tamaño de las páginas del PDF (A4, letter…).
El pdf se “estampará” como sello encima de las páginas del pdf. La alternativa es la marca de agua.

Modificar los datos de propiedades de un pdf (autor, fecha de modificación…):
$ pdftk fichero.pdf dump_data output propiedades.dat
$ vi propiedades.dat
$ pdftk fichero.pdf update_info propiedades.dat output fichero_mod.pdf

Convertir pdf en txt:
$ pdftotext -layout fich.pdf fich.txt

Trabajar con PDFs desde el prompt, edición de PDFs desde la línea de comandos

Categories: GNU/Linux, Prompt

Trabajar con imágenes desde el prompt

April 10th, 2008 Güimi No comments

Veremos varios ejemplos, pero primero instalamos ImageMagick:
# aptitude install imagemagick

Convertimos de pdf a imagenes y viceversa:
$ convert -density 150 archivo1.pdf img_%04d.tiff
$ convert *.png archivo2.pdf

Rotamos las imagenes 180 grados:
$ mogrify -rotate 180 *tiff

Cambiamos el formato de las imagenes:
$ mogrify -format png *tiff
$ convert imagen.jpg imagen.png

Cambiamos la profundidad de color:
$ mogrify -colors 16 *png

Cambiamos el tamaño de las imagenes:
$ mogrify -resize 50% *png
$ mogrify -resize 1024×768 *.png
$ mogrify -quality 75-type optimize -resize 1024×768 *.png

Obtenemos informacion sobre una imagen:
$ identify imagen.jpg

Cambiar imagenes a bn:
$ convert imagen_color.jpg -monochrome imagen_bn.jpg

Añadir un texto a una imagen:
$ convert -font courier -fill yellow -pointsize 25 -draw ‘text 100,250 guimi’ imagen.jpg imagen_con_txt.jpg

Incluimos una imagen “firma” -con fondo transparente- en la esquina inferior derecha de otra imagen:
$ combine -gravity SouthEast -compose Over imagen_original.jpg firma.png imagen_firmada.jpg
$ convert -draw ‘image Over 100,100 225,225 firma.png’ imagen_original.jpg
Podemos ver más ejemplos de cómo firmar imágenes en otro post de este blog llamado firmar imágenes.

Crear un índice gráfico con miniaturas:
$ convert “vid:*jpg” indice.png
Crear un índice gráfico con miniaturas (utiliza GUI para mostrar el resultado):
$ display “vid:*.jpg”

Crear un gif animado con varios jpg:
$ convert -delay 15 *.jpg imagen_animada.gif
Extraer los fotogramas de una imagen animada:
$ convert imagen_animada.gif -adjoin imagen.jpg

Trabajar con imágenes desde el prompt, editar y modificar imágenes desde la línea de comandos

Categories: GNU/Linux, Multimedia, Prompt

Iptables

September 26th, 2007 Güimi No comments

Mini introducción

Hay muchos manuales sobre iptables, aunque ninguno explica todo lo que hay que hacer para tener iptables funcionando de principio a fin.
Unos dicen como gestionar las reglas de iptables, crear chains, accept, drop… todo eso.
Otros -pocos- indican como hacer que iptables cargue las reglas en el arranque, “parar” iptables, volver a ponerlo en marcha…
Este texto es aún peor, no enseña nada… pero sirve de guía para poner a funcionar iptables de principio a fin.
 
Si se desea algo más ambicioso que un simple cortafuegos local, tambien tengo una guía completa para montar un Cortafuegos (Router-Firewall) con Proxys transparentes (web proxy y pop3 proxy) con Debian GNU/Linux + iptables + squid + p3scan + clamav + spamassassin.
 
Vamos a ello. Primero hay que generar un script que cree tus reglas iptables. Puedes seguir por ejemplo las guías de pello [1][2].
Tambien puedes ver mi script.
 
Después hay que conseguir un script de inicio/parada:
Debian ya no instala un script de inicio pero puedes usar el viejo si quieres
gunzip /usr/share/doc/iptables/examples/oldinitdscript.gz -c > /etc/init.d/iptables
 
Tambien puedes copiar el script que viene en Knoppix.
 

Otro modo -rápido- de montarlo

Como root

  1. # mkdir /etc/iptables

  2. # cd /etc/iptables
  3. (descargar y descomprimir mis ficheros iptables en este directorio)
  4. # chmod u+x *
  5. # mv iptables /etc/init.d
  6. # ./ipflush.sh
  7. # iptables-save > iptables.flush
  8. # vi iprules.sh (ajustar al gusto)
  9. # ./iprules.sh
  10. # iptables-save > iptables.rc

Para “parar” iptables:# /etc/init.d/iptables stop
Para activar iptables:# /etc/init.d/iptables start
Para modificar las reglas: repetir pasos 8 a 10.
 

Alternativa por interfaces

Cada vez que se levanta una if, se ejecutan por orden alfabetico todos los scripts de /etc/network/if-up.d/
Si queremos ejecutar scripts solo cuando un if se levanta / baja hay que usar /etc/network/interfaces. Por ejemplo:

iface eth0 inet dhcp
    pre-up /sbin/iptables-restore < /etc/iptables/eth0_rules
    post-down /sbin/iptables-restore < /etc/iptables/eth0_flush

(man interfaces)
 

Iptables en GNU/Linux, Guía rápida de Iptables en Linux

Categories: Prompt

Comandos útiles en GNU/Linux

September 6th, 2007 Güimi No comments

Este artículo está dedicado a pequeños comandos, a veces desconocidos o medio olvidados, que no necesitan una receta a parte.

 
# lsb_release -a

Muestra información sobre la distribución.

No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 4.0r1 (etch)
Release:        4.0r1
Codename:       etch

 

  • dmesg : Imprime los mensajes desplegados por el “kernel” al inicio.
  • dmidecode: Este comando proporciona información sobre el hardware, incluyendo número y tipo de módulos de memoria, marca y modelo de la placa base, capacidades de la BIOS… (p.e. dmidecode –type memory, –type baseboard, –type BIOS…)
  • depmod -a : Genera un archivo que contiene las dependencias de los módulos que son cargados para el “Kernel”,esto es, es capaz de reconocer cuales módulos deben de ser cargados para que un tercero sea utilizado en el sistema.
  • free : Estadísticas de uso de Memoria.
  • init q : Comando que vuelve a leer los parámetros que se encuentran en inittab.
  • insmod : Habilita (”loads”) el modulo que se especifica en la linea, para que el “kernel” sea capaz de utilizarlo.(ejemplo: insmod ip_alias.o )
  • ldconfig : Actualiza las librerías utilizadas por el sistema, recomendable ejecutarlo cada vez que se instale un programa.
  • lsmod : Despliega la información referente a los módulos que están habilitados por el “kernel”.
  • mount Permite que particiones del sistemas,CD-ROMs, floppys puedan ser leídas en el sistema. Su formato: mount -t <file system(ext2,vfat)> <partición (/dev/hda1,/dev/cdrom)> <punto de lecutra"mount point" (/mnt/home/ /mnt/cdrom)>.
  • smbmount :Similar al comando mount , excepto que este comando es utilizado para montar particiones en Samba.
  • smbumount : Utilizado para desactivar las particiones activadas con smbmount
  • slocate : Actualiza la base de información que es utilizada
    para encontrar archivos con el comando locate .
  • source : Recarga el archivo de configuración indicado al ambiente de Shell .
  • stat : Despliega información detallada sobre el archivo especificado como: fechas de modificación y cambio, dueño del archivo..etc.
  • sudo : Ejecuta un comando como usario raiz (”root”), significa “super user do”(Super usuario hacer).
  • umount : Desactiva la partición que se indicada, los parámetros que toma este comando son similares a los de mount .
  • uname -a : Información completa sobre el “Host”.
  • uptime : Hora actual, tiempo que lleva el sistema corriendo desde el
    ultimo “reboot”, usuarios conectados al servidor, carga del sistema en los últimos 1,5 y 15 minutos.
  • hostname : El nombre del “Host”.
  • chkconfig : Este comando despliega la información sobre los niveles de ejecución de los “scripts” ubicados en el directorio /etc/rc.d/init.d.
Categories: GNU/Linux, Prompt

Extraer pistas de sonido de DVD

June 17th, 2007 Güimi 1 comment

(Basado en un artículo de togaware y actualizado).

Para extraer pistas de sonido de un DVD, primero hemos de conocer su contenido.
Para ello hacemos:
(Asumimos que el dvd está en /dev/dvd -generalmente mediante un enlace-):
$ lsdvd

  libdvdread: Using libdvdcss version 1.2.10 for DVD access
  Title: 01, Length: 02:32:44 Chapters: 26, Cells: 27, Audio streams: 02, Subpictures: 01
  Title: 02, Length: 00:17:36 Chapters: 02, Cells: 02, Audio streams: 01, Subpictures: 00
  Title: 03, Length: 00:00:11 Chapters: 02, Cells: 02, Audio streams: 01, Subpictures: 00

  Longest track: 01

 
Este DVD tiene tres títulos, siendo el primero (01) el más largo, que probablemente contiene el material principal.
Nos fijamos en que ese título 01 tiene 26 capítulos y 2 pistas de audio.

Para extraer el sonido utilizamos:
$ transcode -i /dev/dvd -x dvd,dvd -T 1,2,1 -a 0 -y null,tcaud -m 02.mp3

 
Con esto le pedimos a transcode que lea en /dev/dvd (-i), que el tipo de medio utilizado es DVD (-x), que el objetivo es el título 1, capítulo 2, ángulo 1 (-T), que la pista de sonido a extraer es la primera (-a 0) que extraiga el audio sin recodificarlo (-y) y que escriba el fichero 02.mp3 (-m).

Para extraer varios capítulos podemos hacer:
$ for i in 1 2 3 4 5; do
> transcode -i /dev/dvd -x dvd,dvd -T 1,$i,1 -a 0 -y null,tcaud -m 0$i.mp3;
> done

 

Categories: Multimedia, Prompt

Compilar núcleo a la manera Debian

June 11th, 2007 Güimi No comments

Comprobamos las versiones de los paquetes necesarios instalados con el script kverif.sh.

# Preparacion

sudo aptitude install linux-source-2.6
sudo aptitude install kernel-package
sudo aptitude install libncurses5-dev
mkdir ~/source
cd ~/source

# Descomprimimos las fuentes

tar xjf /usr/src/linux-source-2.6.17.tar.bz2
cd linux-source-2.6.17/

# Configuramos el kernel

make menuconfig

# Limpiamos el árbol de fuentes y reiniciamos los parámetros de kernel-package

make-kpkg clean

# Compilamos el kernel y generamos el paquete .deb

fakeroot /usr/bin/make-kpkg --revision=custom.1.0 kernel_image

# Instalamos el paquete creado

cd ..
sudo dpkg -i linux-image-2.6.17_custom.1.0_i386.deb

Categories: Debian, Prompt

Confianza ssh

March 1st, 2007 Güimi No comments

Pequeña y sencilla receta que publico solo para recordar el orden de los factores:

  • pc1#ssh-keygen -t dsa

  • pc1#scp PC2:.ssh/id_dsa.pub kk
  • PC2#cat kk >> .ssh/authorized_keys

Categories: Prompt
Para los artículos:
Creative Commons License 2003-2009 Güimi (http://guimi.net)
Está permitido copiar, distribuir y/o modificar los documentos bajo los términos de la licencia "Reconocimiento-Compartir bajo la misma licencia 3.0 España" de Creative Commons.

Puede ver una copia de esta licencia completa.

Para el código de programación:
General Public License GPL 2 - Copyright (c) 1998-2009 Güimi (http://guimi.net)
Está permitido copiar, distribuir y/o modificar los desarrollos bajo los términos de la licencia "GNU General Public License, Versión 2" de Free Software Fundation.

Puede ver una copia de esta licencia completa.

Reconocimiento tautológico: Todas las marcas pertenecen a sus respectivos propietarios.