miércoles, 20 de agosto de 2014

Píldora: Sacar un listado de los sites configurados en IIS (6.0 y 7.x)

Estoy en plena migración de unos sites alojados en IIS 6.0 y 7.0, y necesito tener toda la información disponible: URLs configuradas, sobre qué IPs responden, etc.  En lugar de tener que ir entrando en las configuraciones de cada site, lo que hago es una exportación de esos datos desde el CLI (sí, un 'defecto' de los linuxeros, qué le vamos a hacer).

Aquí va mi receta:

Para IIS 6.0:

> CScript.Exe C:\WINDOWS\system32\IIsWeb.vbs /query
o

> CScript.Exe %windir%\system32\IIsWeb.vbs /query


Para IIS 7.x: 

> C:\WINDOWS\system32\inetsrv\appcmd list site
o
> %windir%\system32\inetsrv\appcmd list site

En el caso de que lo que queráis sea traspasar los datos desde un IIS 6.0 a otro servidor Windows con IIS 6.0 (no sé si funcionará con otras versiones, lo siento), te recomiendo que te centres en el comando

C:\WINDOWS\system32\IIsCnfg.vbs

con el que podrás hacer la exportación y la importación directamente. Tienes más información en

http://msdn.microsoft.com/en-us/library/ms525006.aspx

lunes, 18 de agosto de 2014

Qué puertos tengo abiertos y escuchando?


Habéis necesitado alguna vez saber qué puertos y qué servicios están escuchando en esos puertos? Es normal que al menos utilices una de estas formas, pero si sabes que hay más, es posible te resulte más fácil hacer estas averiguaciones la próxima vez (sin necesidad de instalar el software si es necesario)


Nmap

Para mí, es la más antigua en uso; desde que la conocí, es un comando obligado en cada sistema que monto, pero también he aprendido que no siempre está disponible, así que me he tenido que buscar un poco la vida...


esther@Celacanto:~$ nmap localhost

Starting Nmap 5.21 ( http://nmap.org ) at 2014-08-18 12:43 CEST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00056s latency).
Not shown: 992 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
53/tcp   open  domain
80/tcp   open  http
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
631/tcp  open  ipp
3306/tcp open  mysql
3689/tcp open  rendezvous

Nmap done: 1 IP address (1 host up) scanned in 0.13 seconds
esther@Celacanto:~$


Lsof

Lsoft te muestra, además de los puertos abiertos,  las conexiones que tienes establecidas en este momento,


esther@Celacanto:~$ lsof -i
COMMAND    PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
firefox   2857 esther   55u  IPv4 105538      0t0  TCP Celacanto.local:50484->mad01s08-in-f7.1e100.net:https
(ESTABLISHED)
firefox   2857 esther   56u  IPv4  99754      0t0  TCP Celacanto.local:52932->199.16.156.52:https
 (ESTABLISHED)
firefox   2857 esther   57u  IPv4 104799      0t0  TCP Celacanto.local:51760->mad01s09-in-f3.1e100.net:http
 (ESTABLISHED)
firefox   2857 esther   61u  IPv4 106927      0t0  TCP Celacanto.local:38367->ticketing.conzentra.com:http-alt
 (ESTABLISHED)
firefox   2857 esther   93u  IPv4 102390      0t0  TCP Celacanto.local:35392->we-in-f191.1e100.net:https
 (ESTABLISHED)
firefox   2857 esther  113u  IPv4 103466      0t0  TCP Celacanto.local:35566->vc-in-f94.1e100.net:https
 (ESTABLISHED)
firefox   2857 esther  118u  IPv4 103460      0t0  TCP Celacanto.local:37161->mad01s14-in-f8.1e100.net:https
(ESTABLISHED)
skype     4177 esther   15u  IPv4  25938      0t0  UDP localhost:35709
skype     4177 esther   50u  IPv4  28241      0t0  TCP
Celacanto.local:35904->db3msgr5010720.gateway.messenger.live.com:https (ESTABLISHED)
skype     4177 esther   51u  IPv4  26862      0t0  TCP Celacanto.local:38060->157.56.116.205:12350
 (ESTABLISHED)
skype     4177 esther   52u  IPv4  26208      0t0  TCP *:63916 (LISTEN)
skype     4177 esther   53u  IPv4  26209      0t0  UDP *:63916
skype     4177 esther   55u  IPv4 105773      0t0  TCP Celacanto.local:33011->snt404-m.hotmail.com:https
 (ESTABLISHED)
skype     4177 esther   60u  IPv4  28208      0t0  TCP Celacanto.local:47544->111.221.74.42:40011
 (ESTABLISHED)
rhythmbox 4743 esther   18u  IPv6  56747      0t0  TCP *:daap (LISTEN)
ssh       6136 esther    3u  IPv4  98422      0t0  TCP Celacanto.local:33097->nemesys:ssh (ESTABLISHED)


Netstat
netstat es un comando potente, pero ten en mente estas combinaciones  de opciones, que te pueden sacar de un aprieto y dar mucha información si lo necesitas

esther@Celacanto:~$ netstat -ltpun | grep ESC
Proto  Recib Enviad Dirección local         Dirección remota       Estado       PID/Program name


tcp        0      0 127.0.0.1:3306          0.0.0.0:*               ESCUCHAR    -             
tcp        0      0 0.0.0.0:139             0.0.0.0:*               ESCUCHAR    -             
tcp        0      0 0.0.0.0:63916           0.0.0.0:*               ESCUCHAR    4177/skype    
tcp        0      0 0.0.0.0:80              0.0.0.0:*               ESCUCHAR    -             
tcp        0      0 192.168.122.1:53        0.0.0.0:*               ESCUCHAR    -             
tcp        0      0 192.168.1.64:53         0.0.0.0:*               ESCUCHAR    -             
tcp        0      0 127.0.0.1:53            0.0.0.0:*               ESCUCHAR    -             
tcp        0      0 0.0.0.0:22              0.0.0.0:*               ESCUCHAR    -             
tcp        0      0 127.0.0.1:631           0.0.0.0:*               ESCUCHAR    -             
tcp        0      0 127.0.0.1:953           0.0.0.0:*               ESCUCHAR    -             
tcp        0      0 0.0.0.0:445             0.0.0.0:*               ESCUCHAR    -             
tcp6       0      0 :::3689                 :::*                    ESCUCHAR    4743/rhythmbox
tcp6       0      0 :::139                  :::*                    ESCUCHAR    -             
tcp6       0      0 :::53                   :::*                    ESCUCHAR    -             
tcp6       0      0 :::22                   :::*                    ESCUCHAR    -             
tcp6       0      0 ::1:631                 :::*                    ESCUCHAR    -             
tcp6       0      0 ::1:953                 :::*                    ESCUCHAR    -             
tcp6       0      0 :::445                  :::*                    ESCUCHAR    -

esther@Celacanto:~$ netstat -ltp | grep ESC
Proto  Recib Enviad Dirección local         Dirección remota       Estado       PID/Program name
tcp        0      0 localhost:mysql         *:*                     ESCUCHAR    -              
tcp        0      0 *:netbios-ssn           *:*                     ESCUCHAR    -              
tcp        0      0 *:63916                 *:*                     ESCUCHAR    4177/skype     
tcp        0      0 *:http                  *:*                     ESCUCHAR    -              
tcp        0      0 Celacanto.local:domain  *:*                     ESCUCHAR    -              
tcp        0      0 Celacanto.local:domain  *:*                     ESCUCHAR    -              
tcp        0      0 localhost:domain        *:*                     ESCUCHAR    -              
tcp        0      0 *:ssh                   *:*                     ESCUCHAR    -              
tcp        0      0 localhost:ipp           *:*                     ESCUCHAR    -              
tcp        0      0 localhost:953           *:*                     ESCUCHAR    -              
tcp        0      0 *:microsoft-ds          *:*                     ESCUCHAR    -  

 * Nota: en mi caso, hago un grep de 'ESC', pero en cualquier sistema con base en inglés, deberá cambiarse por 'LIS' o 'LISTEN'