lunes, 21 de julio de 2008

Buscando Datos en SQL Server 2005

Cuando nos enfrentamos a bases de datos de las cuales no conocemos su estructura y son medianamente grandes, y tenemos que buscar datos expecificos que se encuentran dentro y no sabemos por donde empezar, les dejo aqui un script que busaca una cadena de texto en toda la bbdd (en todas las tablas y en todos los campos). Demos las gracias a: Apaga y Vamonos

El script es el siguiente :

Use [miBaseDeDatos]

DECLARE @SQL NVARCHAR(4000)
DECLARE @PROXIMA_SENTENCIA NVARCHAR(3500)
DECLARE @NOM_TABLA NVARCHAR(255)
DECLARE @NOM_COLUMNA NVARCHAR(255)
DECLARE @REGISTROS int
DECLARE @CADENA_BUSCAR NVARCHAR(255)
SET @CADENA_BUSCAR = 'prueba'

DECLARE CURSOR_SELECT
CURSOR FOR
SELECT TABLE_NAME
FROM information_schema.tables

OPEN CURSOR_SELECT FETCH NEXT FROM CURSOR_SELECT INTO @NOM_TABLA
-- Recorre las tablas de la base de datos
WHILE @@FETCH_STATUS = 0
BEGIN
print '-----------------------'
print 'TABLA: ' + @NOM_TABLA
print '-----------------------'
-- Crea la cadena de búsqueda
SET @PROXIMA_SENTENCIA = 'SELECT Count(*) FROM ' + @NOM_TABLA + ' WHERE 1=0'
-- Crea el cursor de campos de búsqueda
DECLARE CURSOR_CAMPOS
CURSOR FOR
SELECT COLUMN_NAME
FROM information_schema.columns
WHERE TABLE_NAME like @NOM_TABLA
AND (DATA_TYPE = 'nvarchar' OR DATA_TYPE = 'varchar' OR DATA_TYPE = 'char')
OPEN CURSOR_CAMPOS FETCH NEXT FROM CURSOR_CAMPOS INTO @NOM_COLUMNA
WHILE @@FETCH_STATUS = 0
BEGIN
SET @PROXIMA_SENTENCIA = @PROXIMA_SENTENCIA + ' OR ' + @NOM_COLUMNA + ' like ''%' + @CADENA_BUSCAR + '%'''
FETCH NEXT FROM CURSOR_CAMPOS INTO @NOM_COLUMNA
END
-- Libera memoria
CLOSE CURSOR_CAMPOS
DEALLOCATE CURSOR_CAMPOS
print @PROXIMA_SENTENCIA
-- Ejecuta la sentencia para comprobar si obtiene algún resultado
SELECT @sql = 'DECLARE CURSOR_SENTENCIA CURSOR FOR ' + @PROXIMA_SENTENCIA
EXEC sp_executesql @sql
OPEN CURSOR_SENTENCIA FETCH NEXT FROM CURSOR_SENTENCIA INTO @REGISTROS
WHILE @@FETCH_STATUS = 0
BEGIN
print 'Registros ' + str(@REGISTROS)
FETCH NEXT FROM CURSOR_SENTENCIA INTO @REGISTROS
END
-- Libera memoria
CLOSE CURSOR_SENTENCIA
DEALLOCATE CURSOR_SENTENCIA
FETCH NEXT FROM CURSOR_SELECT INTO @NOM_TABLA
END

/* Libera la memoria */
CLOSE CURSOR_SELECT
DEALLOCATE CURSOR_SELECT
Espero que os sea de utilidad , a mi me ha arreglado el día.

jueves, 29 de mayo de 2008

Registro de Windows


El registro de Windows es como un fichero ini gigante. En este fichero se guarda toda la configuración del sistema. Hay programas que se instalan en maquinas con windows que tambien usan el registro de Windows para almacenar información. De ahi que muchas veces se llene de basura.

El registro de Windows es necesario para arranque el sistema de Windows. Es recomendable hacer copias de seguridad del registro de windows bien sea, medianta aplicaciones de terceros, copiando los ficheros que forman parte del mismo o utlizando la aplicación de puntos de restauración del sistema.

Los ficheros que forman el registro se encuentran en la siguiente Ubicación : c:\WINDOWS\SYSTEM32\CONFIG y lo componen los siguientes ficheros :

  • system
  • software
  • sam
  • security
  • default
La situación es la siguiente , tenemos un cd de Ubuntu en mano y una maquina de windows que no arranca por que nos dice que le faltan o que estan corruptos alguno de los ficheros del registro.

Cargamos Ubuntu, y nos dirigimos a la ubicacion del disco donde se encuentran estos ficheros, hacemos una copia de seguridad de los mismos, tal que asi :

$ cd /media/disk/WINDOWS/system32/config
$ cp system system.old
$ cp software software.old
$ cp sam sam.old
$ cp security security.old
$ cp default default.old


Ahora que tenemos nuestra copia de seguridad copiamos movemos una copia que tiene windows del registro que funciona a esta ubicación. Recomiendo solo copiar el fichero que este dañado no todos. Para ello hacemos lo siguiente:

$ cp /media/disk/WINDOWS/repair/[fichero a recuperar] /media/disk/WINDOWS/system32/config


Recomiendo usar copias de seguridad del registro para no tener que recurrir a este procedimiento, ya que los ficheros que estan repair no son una copia de seguridad del original. Con lo que seguramente en función de que fichero se haya dañado perderemos una serie de información u otra. En mi caso se estropeo el fichero system, no habia copia de seguridad , restaure el registro así y en esta copia del system no tenia los drivers instalados por lo que los tuve que instalar otra vez.

jueves, 22 de mayo de 2008

NTFS para todos


Como siempre, queramos o no, tendremos que acceder a sistemas de ficheros de Windows, hasta hace poco en sistemas de ficheros NTFS, se podia leer y escribir malamente en este tipo de sistemas de ficheros.

Han sacado, ya hace, un paquete para ubuntu que permite la lectura/escritura correcta en sistemas de ficheros NTFS.

Os pongo como ejemplo lo que teneis que hacer para que cuando arranque vuestro Ubuntu, reconozca al vuelo y monte esa partición ó disco.

Para ello haremos lo siguiente:

  • Editar el fichero /etc/fstab que es el fichero que especifica que dispositivos se van a montar en el arranque
  • Editar el fichero /etc/modules que es el fichero que especifica que modulos del kernel se van a cargar cuando arranque el sistema
  • Crear un punto de montaje (carpeta)
  • Cargar un modulo en el kernell
  • Montar y desmontar todo
Lo primero descargar e intalar el paquete : ntfs-3g

# apt-get install ntfs-3g

Lo segundo Averiguar el nombre del dispositivo que esta formateado en NTFS

# sfdisk -l | grep NTFS

El dispositivo será /dev/....

Crear el directorio para el punto de montaje

# mkdir [Ubicación deseada]

Editar el fichero /etc/modules

# gedit /etc/modules

añadir la siguiente linea

/dev/.... [Ubicación deseada] ntfs-3g slient.umask=0,locale=es_ES,vtf8,no-def-opts 0 0


Editar el fichero /etc/modules

# echo "fuse" >> /etc/modules


Ahora para que funcione sin tener que reiniciar

# modprobe fuse // cargar el modulo en cuestion
# umount -a // desmontarlo todo lo de /etc/fstab
# mount -a // montarlo todo lo de /etc/fstab


Con estos pasos, ya no hay que volver hacer nada mñas para que nos reconozca ese sistema de ficheros.

lunes, 19 de mayo de 2008

Recuperando bits y bytes


A día de hoy siempre me ha sido suficiente reparar cualquier disco duro con mi cd-live de ubuntu. Pero por primera vez tuve que recurrir a utlizar cd live´s de Windows, que no me solucionaron nada y al final lo arregle con el Ubuntu.

Si nos decantamos por usar cd lives de windows, este "distro" esta mu bien aunque deberia de estar mejor montada. Windows Xp Pilitos

Esta versión de Windows que se han montado trae el siguiente software para ayudar a recuperar datos de los discos duros y repararlos :

  • ClamWin Antivirus
  • Everest (obtine info del hardware de la maquina)
  • Mcafee Stinger
  • Mcafee VirusScan
  • Nero Burning Rom
  • Norton Ghost
  • Particion Magic 8
  • Robocopy
  • Spybot Search & Destroy
  • Test Memoria
  • RealVNC
  • Winrar
  • Acrobat Reader 6
  • Easy Recovery Professional 6
  • Hacha
  • BgnFO
Esta cd-live de Windows no me atrea por el software que trae, pero a la hora de la verdad no me resolvio, quiero decir :

  • En el primer equipo que la probe , no arrancaba
  • En el segundo no me reconocia la tarjeta de red, por lo que no se pueden actualizar las bases de datos del spybot y de los antivirus
  • En el tercero no reconocia la tarjeta de wi-fi , otra vez sin internet.
Por el contrario , el ubuntu en esas maquinas no daba problema de ningun tipo con las tarjetas de red , ni en arrancar ni na.

Si quereis montaros vuestro cd-live de Windows podeis usar este programa : BartPe

Mas info sobre creación de cd´s live de Windows : aqui

Bueno de lo que queria hablar era de Ubuntu y de lo que hay que hacer para recuperar datos de un disco duro.

Lo primero saber que tipo de sistema de ficheros tiene el disco duro que vamos a examinar , para saber si tenemos que instalar algún paquete o modulo del kernel para que reconozca el sistema de ficheros en cuestion. Para ello basta ejecutar el siguiente comando :

$ sfdisk -l "dispositivo en cuestión" // normalmente /dev/sda
$ sfdisk -T // lista los Ids para saber el tipo
$ sfdisk -V "dispositivo en cuestión" // hace un checkeo e intenta reparar


Otro problema con el que nos podemos encontrar es que el MBR este mal y alla que repararlo para ello es sufiente con bajarse el siguiente paquete y lanzar el siguiente comando :


$ sudo apt-get install ms-sys
$ ms-sys -m "dispositivo en cuestión"

Si con esto no somo capaces de hacer que el sistema vuelva a arrancar o no damos corregido todos los errores del disco nos podemos bajar el siguiente paquete que trae más herramientas
para la detención de errores , particionado y demás

$ sudo apt-get install testdisk

sábado, 19 de abril de 2008

Modificando el tema de login de Ubuntu

De serie nuestro ubuntu lo que nos permite hacer es cambiar entre temas de escritorio. Pero no nos brinda la posibilidad de modificarlos. La cantidad de temas para el arranque que trae el ubuntu no es para echar cohetes y para la gente que le gusta personalizar hasta el ultimo detalle, les puede interesar leer este post.

Para empezar a trabajar necesitamos tener un tema con los elementos que queramos para nuestro diseño. ("Recordar que las plantillas que utilicéis posean una licencia que permita modificarlas" p.e GPL). Un buen sitio para que busqueis temas de arranque : http://ww.gnome-look.org/


Una vez seleccionado el tema que os gusta para vuestro ubuntu, os descargáis el fichero que ha de ser un *.tar.bz2 ó un *.tar.gz . Abrís el fichero y buscais el fichero license.txt para comprobar que podemos modificar el tema a nuestro antojo. Una vez leído esto lanzamos la aplicación de gestion de temas de login de ubuntu para ello.

$ gksu /usr/sbin/gdmsetup

ó

Sistema/Administracion/Ventana de Entrada

Una vez hecho esto ubuntu os preguntara el pass, lo tipeas y seleccionáis la pestaña de local del formulario. En esta pestaña le dais al botón de añadir y añadís el tema que os acabáis de bajar. ( seleccionáis el fichero descargado). Una vez añadido el tema lo seleccionáis y le dais al botón de aceptar del formulario. Una vez hecho esto, intentáis cambiar de usuario para ello : Sistema/salir/Cambiar de usario y comprobáis que carga el tema que os habéis bajado.


Ahora ha llegado el momento de modificar el tema a nuestro antojo, para ello desempaquetáis el fichero que os habéis bajado en una carpeta. Como podéis observar dentro de la carpeta están la imágenes que usa el tema y un fichero *.xml que que define el aspecto y la ubicación de los distintos elementos del menú de login. Llegados a este punto que cada uno se lo modifique como quiera. Y si sabe xml se puede crear el suyo propio. Una vez hechas la modificaciones volvéis a empaquetar la carpeta, elimináis el tema del gestor de temas y lo volvéis a añadir.

A continuación os explico los cambios que he hecho yo con el tema que me baje para que os quede mas claro todo. El tema que me baje fue el siguiente : tema

Cambie las imágenes de background y de la ventana principal del tema. Para cambiar una imagen os aconsejo abrir la que tenéis con un programa de edición de imágenes p.ej. el GIMP pegue sobre la imagen la que quería poner. Guardar y listo. De esta manera se respeta el formato del fichero.

Y por ultimo cambie la posición del menú principal en la pantalla para ello edite el fichero *.xml de la siguiente manera :

<!-- innerbackground --&gt;
<item type="pixmap">
<pos x="75%" y="75%" width="514" height="482" anchor="c"/>
<normal file="innerbackground.png"/>
<box orientation="vertical" spacing="5" xpadding="30" ypadding="20">
<item type="rect">
<pos width="100%" height="40"/>
<!--<normal color="#ff0000"/>-->
<fixed>



Cambie los valores de 50% que indican el centro de la pantalla por 75% que especifican una esquina de la pantalla.

Un buen sitio para buscar imágenes es : www.flirck.com



sábado, 12 de abril de 2008

Ojo que nos vigilan

Virtual Box -> Reconocer Puertos USB


Uso Virtual Box para virtualizar otros sistemas operativos desde mi Ubuntu 7.10. Pero de primeras instalado con la configuración que trae Ubuntu 7.10 no podemos disfrutar de los puertos usb en el sistema que estemos virtualizando. Para corregir esto basta seguir estos pasos:

1.- Dar permisos

$ sudo gedit /etc/udev/rules.d/40-permissions.rules

Cambiar :
SUBSYSTEM==”usb_device”, MODE=”0664″
Por :
SUBSYSTEM==”usb_device”, MODE=”0666″

2.- Cambiar la forma de montar los USB en el arranke

$ sudo gedit /etc/init.d/mountdevsubfs.sh

Descomentar las siguientes Lineas
#
# Magic to make /proc/bus/usb work
#
mkdir -p /dev/bus/usb/.usbfs domount usbfs “” /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644 ln -s .usbfs/devices /dev/bus/usb/devices mount –rbind /dev/bus/usb /proc/bus/us

3.- Reiniciamos el script de arranque que monta los USB's y listo

# /etc/inti.d/mountdevsubfs.sh stop
#
/etc/inti.d/mountdevsubfs.sh start


Listo

miércoles, 9 de abril de 2008

Que pasa ahi dentro ??

No se vosotros, pero desde que ando con maquinas; que siempre me han hecho esperar. Siempre me pregunto que narices están haciendo para no hacer caso de lo que les mando. Más todavía si tengo prisa y me empieza a ir el lenta la maquina.

En este post os pretendo presentar los diferentes comandos que hay para ver que programas, procesos, módulos del kernel y servicios se están ejecutando en vuestra maquina.

Para ver los procesos que se están ejecutando en vuestra maquina podéis usar los siguientes comandos :

Para listarlos :
$ ps -ef
$ ps -aux

Para matarlos :
$ kill -s [numero de señal a enviar al proceso] [nombre del proceso]
$ killall [nombre del proceso]

Nota para listar los numeros de señales que se le envian a los procesos usar :
$ kill -l

Para arrancarlos :
$ [ejecutar el comando en cuestion]


En lo referente a los servicios difieren un poco a los procesos en lo que se refiere al control de su ejecución por que ya traen implementado un script para arrancarlos, pararlos, detenerlos,... Estos scripts se encuentran en /etc/init.d/. Si queremos ver que servicios se están ejecutando (nota : también aparecen con el resto de comandos cuando se usa el comando ps) en el directorio /var/run se encuentran unos ficheros *.PID que indican que servicios están arrancados. Si hacemos un cat del fichero en cuestión. La salida sera el PID (proccess identificator) del proceso que se esta ejecutando. La información del PID del proceso es bastante importante , primero porque los números que se asignan siguen una norma (cuanto más bajo mas prioritario es el proceso, la regla y la función que genera este número es más compleja que esta simple regla que acabo de mencionar), segundo porque con ese numero se identifican los programas en nuestra maquina. Al comando kill se le puede pasar como parámetro el pid para que mate el proceso.

Se me olvidaba lo más importante, la diferencia entre en un servicio un proceso, es que un servicio es un proceso que se esta ejecutando continuamente. Ejemplos el cron (programador de tareas), cupsys (servicio de impresión), ...

Por otra parte los servicios , aunque los puede lanzar el usuario normalmente los lanza ubuntu cuando arranca, esto evidentemente depende del servicio que sea, por esta razón existen los scripts para arrancarlos, pararlos, etc...

Los comandos que vamos a usar son los siguientes :

Para listar servicios en ejecución
$ ls /var/run *.PID

Para listar servicios disponibles
$ ls /etc/init.d/

Para Arrancar, Parar, Reiniciar Servicios
$ /etc/init.d/[script del servicio] [start | stop | restart]
ej : /etc/init.d/cron restart

Si queremos que un servicio no se cargue en el arranque basta con quitarle los permisos de ejecución al script de /init.d/

$ chmod -x /etc/init.d/[nombre del script del servicio]

y para volver a darle permisos

$ chmod +x /etc/init.d/[nombre del script del servicio]


Por ultimo y no menos importante los modulos del kernel, es el ultimo tipo de "procesos" que están consumiendo recursos de nuestra maquina. Os puede interesar saber que módulos carga por si hay algunos que no estais utilizando como pueden ser el bluethooth, pcmciautils (si no usais portatil), ipv6 o algún otro. Por otra parte lo bueno de estos comandos es que sirven para evitar reiniciar la maquina , si se os queda colgado el driver de la Wi-Fi o algun modulo del kernel , en vez de reiniciar siempre podéis descargar y cargar el modulo otra vez en vez de reiniciar y hacerlo con todos los modulos.

Listar módulos cargados
$ lsmod

Descargar un modulo
$ rmmod [nombre_del_modulo]

Cargar un modulo
$ modprobe [nombre_del _modulo]





Llevatela en el bolsillo, XD





Os dejo aqui el link de una web que os permite crear vuestras propias listas de canciones para que las podais escuchar desde cualquier parte.

La web es la siguiente : http://www.radioblogclub.com/

Buscáis vuestros temas preferidos y os creáis una lista. Una vez hecho esto tenéis a vuestra disposición el código de un reproductor con vuestra selección para que lo colguéis donde queráis.

Aquí os dejo un ejemplillo de lo que obtendréis después de haber hecho todo esto :


sábado, 5 de abril de 2008

El maravilloso mundo Linux

Hola a todos a pesar de lo que digan Linux (Ubuntu) es más sencillo. Lo cierto es que lo dificil es migrar de un sistema a otro.

Para hacerse una idea en linux todo es un fichero, con lo cual a la hora buscar algo siempre buscamos un fichero. Casi todos son de texto, es decir los podemos abrir i ver lo que hay dentro sin problema y no si no es un fichero de texto, seguro que tiene su pagina man que nos explica como hay modificar el fichero de configuración del programa.

Por otra parte esta toda la resolución de incidencias que pueda tener uno con su equipo, instalar algo mal, desconfigurar algo, etc..

Os pongo un ejemplo : esta semana actualice de versión mi ubuntu y como me pasa siempre , no hago nunca nada a derechas. El caso es que cuando reinicie (después de haber actualizado y haberle dado a siguiente, siguiente ,... como un enfermo en el proceso de actualización. Si leyera un poco más.) se me había desconfigurado el servidor de las X (programa que controla el monitor, tarjeta gráfica, ...) y no podía ver nada por pantalla. La solución fue tan sencilla como arrancar con el live-cd y copiar el fichero de configuración de las X [/etc/X11/xorg.con] a mi disco duro, reiniciar y listo. Ahora solo me falta comparar los ficheros para ver que ha pasado. Esto desde bash mu simple comando [ diff ].

Aunque parezca un poco arcaico el método siempre es mas sencillo que navegar por infinitos menus que dicen que configuran lo mismo y nunca tienes del todo claro que estas haciendo. Aquí es más fácil se busca la red el fichero en cuestión. cojes tu live-cd y te lo copias.

lunes, 24 de marzo de 2008

Buscando a Nemo

Hola a todos depues de estar unos meses usando el recoll he encotrado otro buscador que le da mil vueltas , tarda tambiém bastante en indexar los datos pero merece la pena.

Busca muchisimo mejor dentro de los documentos , te encuentra los accesos directos dentro de tu maquina y más puro estilo de google.

Estoy hablando del de GoogleDesktop en este link os lo podeis bajar.

Tenies tanto versiones del software para linux , mac y Windows. Dejarle un poco de tiempo para que indece y luego con un poco de picaresca lo tendreis todo a una palabra de distancia.

Lo bueno de este buscador es que ya viene con un acceso de teclado muy comodo. ctrl + ctrl y te sale por pantalla una caja de texto para buscar. Lo bueno es que puedes buscar datos dentro de tu equipo o puedes tipear una dirección y que te la muestre en google maps. El nombre de un amigo y ya te escupe tu contacto de evolution , outlook o el cliente de correo que uses....


martes, 15 de enero de 2008

Maldita Espiral


No se vosotros, pero a mi siempre me pasa lo mismo. Es entrar en casa de alguien y escuchar : oye tio la mula no me tira bien, no se abrir los puertos. Y uno piensa joer con el puto internet, venga ahora te lo miro.
Normalmente el problema no es muy complicado de resolver pero sin lugar a dudas la parte más complicada o la que no siempre tiene solución facil es averiguar la clave del router para abrir los puertos, dado que el dueño del mismo desconece su existencia siempre.

Para solventar este problema navegando por internet encontre el siguiente programilla : fscan.

El susodicho programilla lo que hace es conectarse al router al servidor web que trae e intenta un ataque por diccionario con las claves y usuarios más frecuentes (esto se puede editar y añadir más). Si mediante el ataque por diccionario no lo consigue lo intenta por fuerza bruta (va probando de una en una).

Este programa lo podeis encontrar en la siguiente direccion web : descarga

Y más info sobre el mismo en este post : info

Aqui os dejo un ejemplo de su uso :

D:\Programación\sslscanner>fscan
Fast HTTP Auth Scanner v0.6
(c) Andres Tarasco - www.514.es


Usage: fscan.exe
--threads (Number of threds. default 10)
--timeout (Connection Timeout. default 10)
--logfile (Save results to )
--ipfile (load ips from )
--hosts (ex: --hosts 192.168.1.1-192.168.10.1)
--bruteforce <0|1> (Bruteforce (enabled by default) )
--fulluserlist <0|1> (Test all users (slowest)
--ports [,,,..] (example -p 80,81,82,8080)
--sslports [,,,..] (example -P 443,1443)

Example:
fscan.exe --ports 80 --sslports 443,1433 --hosts 192.168.0.1-192.168.1.254 --threads 200

D:\fscan>fscan.exe --ports 80 --threads 400 --timeout 20 --hosts 192.168.0.0-89.0.0.0 --logfile logfile.txt
Fast HTTP Auth Scanner v0.6
(c) Andres Tarasco - http://www.514.es

[+] Loaded 92 user/pass combinations
[+] Loaded 41 ignored webservers
[+] Loaded 32 Router authentication schemes
[+] Loaded 46 webform authentication schemes
[+] Loaded 12 Single Users
[+] Scanning 16056320 hosts (192.168.0.0 - 89.0.0.0)
[+] Scanning 1 ports - bruteforce is active

Server Port status password banner
192.168.0.48 80 200 not:found Web Server/4.10
192.168.6.112 80 401 admin:1234 RomPager/4.07 UPnP/1.0
192.168.10.113 80 401 admin:1234 ZyXEL-RomPager/3.02
192.168.11.118 80 200 1234 (Zyxel/Prestige 6xxx)
192.168.5.142 80 401 not:found RomPager/4.07 UPnP/1.0
192.168.10.103 80 401 1234:1234 Unknown/0.0 UPnP/1.0 GlobespanVirata-EmWeb/R6_1_0
192.168.11.105 80 401 1234:1234 Unknown/0.0 UPnP/1.0 GlobespanVirata-EmWeb/R6_1_0
192.168.13.28 80 401 admin:1234 RomPager/4.07 UPnP/1.0
192.168.13.108 80 401 1234:1234 Unknown/0.0 UPnP/1.0 GlobespanVirata-EmWeb/R6_1_0
192.168.15.22 80 401 admin:1234 RomPager/4.07 UPnP/1.0
192.168.16.158 80 401 admin:admin
192.168.5.121 80 401 not:found Unknown/0.0 UPnP/1.0 GlobespanVirata-EmWeb/R6_1_0
192.168.17.22 80 401 1234:1234 Unknown/0.0 UPnP/1.0 GlobespanVirata-EmWeb/R6_1_0
192.168.18.115 80 401 admin:1234 ZyXEL-RomPager/3.02
192.168.18.82 80 401 admin:admin Unknown/0.0 UPnP/1.0 Conexant-EmWeb/R6_1_0
192.168.18.135 80 401 not:found ZyXEL-RomPager/3.02
192.168.20.124 80 401 1234:1234 Unknown/0.0 UPnP/1.0 GlobespanVirata-EmWeb/R6_1_0
192.168.20.87 80 401 not:found micro_httpd
192.168.22.14 80 401 1234:1234 RomPager/4.07 UPnP/1.0
192.168.22.113 80 200 Boa/0.92o
192.168.23.249 80 401 admin:1234 ZyXEL-RomPager/3.02
192.168.22.235 80 401 1234:1234 RomPager/4.07 UPnP/1.0
192.168.26.17 80 401 admin:1234 RomPager/4.07 UPnP/1.0
192.168.6.228 80 401 not:found Unknown/0.0 UPnP/1.0 GlobespanVirata-EmWeb/R6_1_0
192.168.27.69 80 401 1234:1234 micro_httpd
192.168.27.14 80 200 admin:1234 Unknown/0.0 UPnP/1.0 Virata-EmWeb/R6_1_0
192.168.27.10 80 401 root:root Nucleus/4.3 UPnP/1.0 Virata-EmWeb/R6_2_0
192.168.28.9 80 401 1234:1234 Unknown/0.0 UPnP/1.0 GlobespanVirata-EmWe