lunes, enero 31, 2005

De barrapunto



¿Cuanto cobras por crear y mantener una web?

Chats y Criptografia


He tenido que mirar estos temas por una historia del curro. Y me he encontrado con que la wikipedia es una fuente de información buenísima. Al menos en plan introductorio.

Bueno unos links de ella sobre chats:


Y ahora unos de criptografia:





viernes, enero 28, 2005

A ver, a ver....
Probando...., probando... el Spell Checking para Firefox.
Pues esto es una maravilla. Ya no voy a poner faltas cuando escriba aquí.

De barrapunto


Ummmm, hoy viene repletito de contenido...

Un par sobre python:

Mas:


Y un articulo al que llegué desde barrapunto:

jueves, enero 27, 2005

Crear pdfs



Hoy he intentado probar PDFCreator, pero no se porque no me ha chiscado.
La idea esta genial, se te instala como una impresora, de manera que para generar un PDF basta con imprimir el documento. A ver si logro probarlo...

Vlady me comentó que el usa Jaws PDF Creator.
De barrapunto: ¿Es Java Portable?
Interesante este post.
De él he obtenido estos dos links:

Ambas paginas son para programcación en Windows, con tecnologia Microsoft.

Esta aplicación puede ser interesante PDFCreator [sourceforge.net]. Permite generar documentos pdf. Se usa como si fuera un driver de impresión.

miércoles, enero 26, 2005

DTrace in a nutshell



DTrace es la primera herramienta de Solaris 10 cuyo codigo ha sido liberado por Sun.
En los foros de DTrace, me he encontrado este post, donde se describe lo que es brevemente.
Y aqui una introducción del producto.

¿Empieza una nueva etapa para Solaris?


Se ha lanzado OpenSolaris.
La noticia en barrapunto.
La noticia en la web de Sun.

Por lo visto ya han liberado el codigo de DTrace.

martes, enero 25, 2005

lunes, enero 24, 2005

Noticias de barrapunto



Ruby on Rails, a todo tren.
Edición colaborativa en tiempo real con Moonedit.
Posiblemente, habrá una suite libre de desarrollo en Java.

Mas sobre monitorización


Ya estuve buscando el documento ese que tenía de analisis de prestaciones. Se trata de un curso de TID. En el se mencionan una serie de aplicaciones:

    + Comandos del sistema operativo:

      - Visión de sistema: sar, uptime, vmstat, iostat, netstat, snoop
      - Visión de procesos: ps, time


    + Aplicaciones:

      - Sun: perfmeter, glance, gpm, proctool, top
      - HP: glance, gpm, rx, monitor, top
      - SGI: osview, gr_osview, procview, top, xtop



De las cuales ya habia mencionado en el post anterior: sar, iostat, ps, top, uptime, vmstat .

Dicho documento es bastante teórico. Esta bien.
Otro punto de interés es uno en el que muestra las medidas mas significativas a tener en cuenta dentro de un nodo y de la red:


    + Procesador

      - consumo (%): usr, sys, wio, idle
      - load averages: 1 min., 5 min., 15 min.,

    + Disco

      - Throughput: Accesos/s, Kb/s
      - Retardo: service time

    + Memoria

      - Paginado: Page out, Swap out

    + Redes

      - Ethernet: Colisiones

    + Cache

      - Eficiencia (%): Hit rate

viernes, enero 21, 2005

Mas sobre monitorización

Otras herramientas: oprofile y strace (system call trace).
En linux esta disponbile el 'Linux Trace Toolkit', junto con la facilidad DProbe. Eso si, requieren un kernel especial.

Sobre oprofile: OProfile is a low-overhead, transparent profiler for Linux, capable of instruction-grain profiling of all processes, shared libraries, the kernel and device drivers, via the hardware performance counters.

Solaris 10 vs Linux


Un articulo que me ha pasado my bro en el que se comparan dichos SO para servidores de Sun.
Como toda comparativa, los criterios de comparación los escoge quien lo realiza, con lo que hay que tomarlos con cautela.
De todas formas según el articulo Solaris es mejor en Seguridad y si quieres contratar soporte mas barato.
El punto mas flojo según el articulo para Solaris es la disponibilidad de aplicaciones.

Monitorización en Unix

Generalizar en este tema es imposible ya que cada SO tiene particularidades. Recuerdo que tengo algun documento en casa al respecto. A ver si lo busco...

Pero bueno asi de primeras a todo se nos ocurren los comandos ps y top.
Preguntando a Oscar me informa también de vmstat (Report Virtual Memory Statistics).
Haciendo un poco de busqueda ya me encuentro con sar (system activity reporter) e iostat (report I/O statistics).

Ya buscando específicamente sobre linux me he encontrado con este link, Popular Unix Performance-Monitoring Tools for Linux. En el cual mencionan (describiendo su uso):

  • top
  • vmstat
  • xload (X11 tool)
  • xosview (X11 tool)
  • uptime
  • bonnie (disk benchmarking)
  • free (snags information about the state of memory)
  • time

Tambien menciona 'network monitoring tools':
  • ping
  • traceroute
  • tcpdump
  • ntop

Por cierto, sobre su uso siempre se puede recurrir a las paginas del man (que estan online - ver post anterior).

Buscando un poco mas me he encontrado con:

  • pScan: C++/QT based tool for querying, analyzing and displaying Linux process information.

  • Sysstat: suite of resource monitoring tools. Segun veo, se compone de las siguiente utilidades:


    • iostat

    • mpstat (Displays more in-depth CPU statistics)

    • sadc (Known as the system activity data collector, sadc collects system resource utilization information and writes it to a file)

    • sar


Tras preguntar a JJ me comentó sobre Big Brother y mtr, pero son mas de administración de red. Aqui hay un directorio de herramientas de Administración y monitorización para Linux.

En esta pagina hay un articulo sobre BigBro y mencionan otras herramientas.

Para Solaris 10 existe DTrace.

Man pages online



Un par de sitios para consultar man pages online:

miércoles, enero 19, 2005

Sobre Process



Probé la herramienta, en primer lugar para ver el arbol de procesos de FDS. Pero aparte de eso te muestra mucha informacion, como las dlls que usan (de las dlls tb. muestra info), los threads, las entradas de registro, ...

En definitiva es muy completa. Mas info aqui [sysinternals.com].

Por lo visto para que te muestre información sobre las direcciones de los threads y el stack necesita que este instalado el paquete ‘Microsoft Debugging Tools for Windows’. Como yo no lo tenía me sacó un warning al principio.

Monitorizacion de procesos



Posiblemente con este curro con FDS (Fast Data Search) me tocará monitorizar los procesos para poder encontrar cuellos de botellas.
Para ello tendré que usar herramientas tanto en Unix como en Windows.
En este post me voy a centrar en Windows. La idea es ver que herramientas tengo disponibles y sobre todo ver cuales tengo disponibles con el SO.

La mas conocida es taskmgr (Task Manager). Otra no tan conocida es el msinfo32 (Información del Sistema).

Pero con esas no nos basta, necesitamos algo mas para poder ver por ejemplo fallos de pagina a nivel de proceso.

Solucion: googlear un poco.

El primer sitio encontrado de interés fue Windows Server troubleshooting. Tiene muy buena pinta, pero como mi interés se centraba en descubrir herramientas, tampoco lo he mirado mucho.
Eso si, me sirvió para intuir que Microsoft tiene algo y un sitio muy bueno [sysinternals.com]. Tiene bastantes utilidades con muy buena pinta. De ellas he probado el 'Process Explorer'.

De microsort se pueden realicen la siguiente busqueda, que saca resultados interesantes.
Bueno al grano, no se como llegue a ella, pero la siguiente pagina es la buena, va sobre Performance Monitoring en Windows 2000 (que era lo que me interesaba). Esta dentro de los Resource Kits.

Y ya acabando, la herramienta clave es perfmon.exe (Performance Monitor). Se puede acceder a ella desde el panel de control -> herramientas administrativas.

Con ella ya podemos mirar diversos contadores a nivel de proceso, que es lo que nos interesaría.









Unas entradas de barrapunto:

lunes, enero 17, 2005

Como se realiza el dispatching en Apache 2.0.
El de por defecto varia en windows (mpm_winnt) y unix (prefork). Aparte de esos dos esta el worker disponible y otro no disponible.
Un IDE para Python.
Arturo lo probó y me comentó que estaba bien. Lo dejo aqui anotado por si me da por probarlo, pero de momento voy a usar el ultraedit.

Sobre Carnivore y Echelon



Buscando en barrapunto se puede encontrar posts sobre 'Carnivore' y 'Echelon':

Uno es el Echelon, capaz de detectar cualquier tipo de transmisión electrónica, desde una llamada de teléfono hasta la utilización de un cajero automático. El otro, básicamente, es un sistema de filtrado de correo electrónico y de combinación de bases de datos, que utiliza el FBI y se llama Carnivore'

viernes, enero 14, 2005

Mas sobre sockets


Bueno sin haber empollado el tema lo suficiente, y sin haber leido un libro en condiciones (que deberia). Puedo afirmar (gracias web) que (ojo, que en alguna afirmacion podria estar equivocado; no pongo la mano en el fuego):

+ En principio no se pueden reutilizar puertos en diferentes procesos.
+ La excepcion es cuando tenemos un servidor concurrente que atiende las conexiones con procesos hijos. Al hacer el fork(), se comparten los descriptores, con lo cual el puerto se va a compartir. La diferencia con el caso anterior es que el socket ya se ha creado. Supongo que en el caso anterior fallaría la creación del socket.
+ He visto que hay una opcion que se REUSEPORT, si todos los sockets se crean con esta opcion, se podrá reutilizar el puerto. Eso si, todos los procesos deben de usar la opción. Nota: En la faq de sockets indica algún ejemplo de uso.
+ Cuando se acepta una conexión se crea un nuevo socket que es copia del de escucha. Es por ello que un proceso puede tener N conexiones en el mismo puerto.

Seria interesante hacer unas pruebas sobre ello.
Buscando la faq de sockets, me he encontrado con la web definitiva para buscar faqs.

jueves, enero 13, 2005

Mega Ping



Se trata de el ultimo descubrimiento de aplicacion, sobre los temas que he estado mirando ultimante. Muy completa. Me ha hecho saber sobre ella Arturo.
Se puede descargar de aqui.

miércoles, enero 12, 2005

TIME_WAIT


Tenia una duda sobre este estado que aparece cuando cierras un socket. Por lo visto es un tema con el que la gente anda bastante confundida. Aqui lo explican.
Bueno para ir acabando este tema de ir chequenado mi ordenata dos links:

  • Security Task Manager. Pues na una herramienta de seguridad como otras muchas que habrá.
  • Windows Process Library. Forma parte de WinTaskPro. Lo interesante de el link es que muestra muchisimos procesos de windows y te explica para lo que sirven.
Estoy probando Port Explorer.
Un comentario de ella.

Es facil de usar. Pero por lo que veo solo saca procesos, al igual que inzider (segun he visto en la web).

Para buscar este tipo de aplicación, hay que buscar por 'port-to-process mappers'.
¿Bueno y que pasa una vez que hemos usado netstat y vemos que hay puertos que estan escuchando?
Lo suyo es saber que proceso los esta usando. Se podría usar inzider, pero he visto que tiene problemas con las aplicaciones que corren como servicios. Vaya gena. Si es que windows es una gena.

Otra pagina de herramientas, para chequear puertos.

Para acabar, un documento sobre Intrusion Detection.

Sobre netstat



Vaya.... he encontrado un documento muy bueno que explica la salida de netstat.
Que bueno este articulo, ' Remote OS Detection via TCP/IP Fingerprinting.
Un ejemplo muy bueno que dan:

'Otro uso potencial para esta capacidad es evaluacion de compañias

con las que podria hacer negocios. Despues de seleccionar un ISP,
escanealos para ver que equipo usan. Esos tratos de "$99/año" no suena
tan buenos cuando se entera que tienen enrutadores chafas y ofrecen
servicios PPP de una bola de cajas Windows.
'

Mu bueno el nmap este. Te permite no sólo ver que puertos estan abiertos, sino incluso saber las versiones de los servicios (conocidos) que estan en dichos puertos e incluso el OS de la maquina.

Endedando con puertos



Bueno parece que estan intentando arrancar cosillas aqui con fast. A ver que pasa...
Mientras tanto sigo enredando conlos puertos que se me va a venir bien en un futuro...
Ya de momento estoy investigando que puertos usa FAST. Grrrrrrrrrrr.

He estado jugando con nmap junto con netstat.

Un comentario para ir acabando. En principio creo que los primeros 1024 puertos estan reservados. Aqui se puede encontrar un listado de los puertos y servicios que los usan.

Para acabar adjunto un link sobre TCP/IP de Microsoft. Es la TCP/IP Core Networking Guide. Del Windows 2000 resource kits.

martes, enero 11, 2005

Mas sobre la escucha en interfaces de red


Tras hablar con JJ puedo contar mas sobre este tema...

Se podría considerar que lo normal es que una aplicacion escuche sólamente en un interfaz. Es lo mas común. Aunque una maquina tenga varios, uno es el de por defecto.

Desde la aplicación lo que se hace, cuando haces el bind() del socket, es o bien hacerlo sobre todas las interfaces, o sobre alguna en concreto. Si quieres hacerlo en varias pero no en todas, habrá que hacer varios bind.

Lo anterior es usando el API de sockets del OS, pero puede haber recubrimientos que con una sóla llamada puedas usar mas de un interfaz. Quizas en ACE (tengo que mirarlo).

Por otro lado, con los sockets de Unix (hablo sin conocimiento real, sólamente por lo que me ha comentado JJ) se pueden hacer cosas potentes. Por lo visto pueden tener como una parte publica y otra privada. Entonces puedes simular incluso balanceo de carga si en la privada usas mas de un interfaz. O algo así.... Otra cosa a investigar....

nmap



Ya se de otra utilidad para probar, nmap. Hay disponible también un frontend, nmapfe (para X window).
Y otra mas, amap (Application Mapping Tool). Sirve para saber que servicios corren en determinados puertos, sin asumir nada. Lo que no se es si esta disponible para windows.

Sobre nessus



Iba a ese detector de vulnerabilidades open source, pero para no tener que pagar licencia, sólo se puede probar en una red de tipo C. Osea, no puedo probarlo aqui en mi maquina del curro.

Asique como que paso de aceptar la licencia para bajarmelo.

¿Como puedes ver a que tipo de red pertenece una IP? Muy facil, aqui.

El formulario forma parte de este tutorial: IP Addressing Fundamentals.

Switched network



Lo normal ahora es que lo sean. Si una red no lo es, utiliza hubs. La diferencia es que los primeros evitan las colisiones y los segundos no (segun me ha contado mi hermano).

msinfo32


Es la aplicacion que te muestra la informacion del sistema en windows. No la conocia.
Te muestra las dlls que estan ejecutandose, los procesos, las variables de entorno, ...

Sniffers


Esta mañana, ando trasteando con 'Analyzer' y 'WinDump'. Al haber instalado 'WinPCap', con msinfo32 podemos ver la dll (wpcap) que esta cargada en la pestaña de 'modulos'.

En la configuracion de red, podemos ver que winpcap aparece como un monitor de red, aparece como un protocolo y según he visto en la doc, funcina como uno (ver la FAQ).

Antes de nada, dos links:


Estoy mirando esto porque he visto que en la instalacion que hemos realizado de FAST, un procesos esta escuchando en un puerto de una de las interfaces de red del servidor (tiene dos, estando escuchando en la publica).

Por lo que he podido investigar hasta ahora, donde escucha el procesos se define durante la llamada bind() del socket. Creo que se puede hacer que escuche por cualquier interfaz o por alguna especifica. Sigo investigando....


lunes, enero 10, 2005

Sobre ARP, Address Resolution Protocol.

Security Scanner


Eso es lo que es Nessus. Me ha pasado el link JJ. A ver si la pruebo mañana.

Geektools



Mu util wl Whois. Con meter la ip te dice a quien pertenece.
Bueno, aqui el resto de Tools.
Ya hace tiempo escribí (abril 2003) sobre WinDump. De aqui se puede obtener.
Y de aqui WinPCap (necesario por WinDump).

Hay otra herramienta que podria ser interesante para echarle un vistazo, Analyzer.
De Windows 2000 resource kits:


Basicamente las herramientas disponibles son:

  • Arp - View the ARP (Address Resolution Protocol) cache on the interface of the local computer to detect invalid entries.
  • Hostname - Display the host name of the computer.
  • Ipconfig - Display current TCP/IP network configuration values, and update or release Dynamic Host Configuration Protocol (DHCP) allocated leases, and display, register, or flush Domain Name System (DNS) names.
  • Nbtstat - Check the state of current NetBIOS over TCP/IP connections, update the NetBIOS name cache, and determine the registered names and scope ID.
  • Netstat Display statistics for current TCP/IP connections.
  • Netdiag Check all aspects of the network connection.
  • Nslookup Check records, domain host aliases, domain host services, and operating system information by querying Internet domain name servers. Nslookup is discussed in detail in "Windows 2000 DNS" in this book.
  • Pathping Trace a path to a remote system and report packet losses at each router along the way.
  • Ping Send ICMP Echo Requests to verify that TCP/IP is configured correctly and that a remote TCP/IP system is available.
  • Route Display the IP routing table, and add or delete IP routes.
  • Tracert Trace a path to a remote system.

jueves, enero 06, 2005

miércoles, enero 05, 2005

Como ando un poco ocioso, estoy leyendo a Fuckowski.
Habia ya leido lo del proyecto bicicleta. La verdad es que mola el tio escribiendo. Habrá que irlo leyendo todo. Tiene estilo.
Unas noticas de hoy de barrapunto:


Y de ayer:


Y otras:




lunes, enero 03, 2005

Pues si que estaba yo desinformado del tema de Red Hat [redhat.com]. Por lo visto tras la versión 9 ya no exite 'Red Hat Linux' sino que ahora hay dos lineas de producto Fedora Project (¡¡¡ojo!!! Fedora no esta soportado por Red Hat sino por la comunidad linux) y Red Hat Enterprise Linux.