jueves, 5 de enero de 2012

Aplicaciones con puertos abiertos Linux

Primero hay que saber que puertos existen abiertos:
(se puede probar con -nlut para incluir udp.)
[root@0x00000 /]# netstat -nlt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address      Foreign Address    State     
tcp        0      0 127.0.0.1:50505    0.0.0.0:*          LISTEN     
tcp        0      0 127.0.0.1:7337     0.0.0.0:*          LISTEN     
tcp        0      0 0.0.0.0:3306       0.0.0.0:*          LISTEN     
tcp        0      0 0.0.0.0:3790       0.0.0.0:*          LISTEN     
tcp        0      0 0.0.0.0:111        0.0.0.0:*          LISTEN
 

En este caso tengo algunos puertos abiertos por causa de x programa, puedo dar de baja el servicio y listo.
lsof  es comando que nos ayudará a encontrar el programa que mantiene abierto el puerto. De la misma forma se puede localizar los archivos que una dirección IP mantiene abiertos y muchas cosas más.

[root@0x00000 /]# lsof -i TCP:7337
COMMAND    PID TYPE DEVICE SIZE/OFF     NODE NAME
postgres  144  IPv4  108      0t0  TCP localhost.domain:7337 (LISTEN)
[root@0x00000 /]# lsof -i TCP:3306
COMMAND   PID  TYPE DEVICE SIZE/OFF NODE NAME
mysqld    168  IPv4 221950      0t0  TCP *:mysql (LISTEN)
Ahora solo hay que tomar las medidas necesarias.

Uso de ForkManager en perl

Definir que es un fork:
Se refiere a la bifurcación o crear una replica de un programa y que actúa como un proceso hijo del proceso original, ahora llamado padre.

Ejemplo: Cuando necesitas hacer una prueba DoS, puedes crear un programa que a su vez crea una replica de sí mismo o de un socket que realiza una conexión a un servidor.

El Error: 
[root@0x00000 ~]# perl file.pl
Can't locate Parallel/ForkManager.pm in @INC
[root@0x00000 ~]# yum search forkmanager
perl-Parallel-ForkManager.noarch
[root@0x00000 ~]# yum install perl-Parallel-ForkManager.noarch

Aquí un ejemplo con el cual podrían probar (solo con fines educativos).