Puertos y protocolos en uso

ballester.david en gmail.com ballester.david en gmail.com
Jue Jul 5 11:02:02 BST 2007


El mié, 04-07-2007 a las 23:53 -0500, Julio Cesar Sánchez González
escribió:

> El mié, 04-07-2007 a las 12:11 +0200, Aitor Calero escribió:
> > Hola me gusataría saber si hay algún comando que me diga que puertos
> > hay abiertos en mi ubuntu y qué protocolo utiliza cada uno.
> > 
> 
> Si, se llama nmap y lo puedes usar asi: nmap localhost aunque te
> recomiendo que investigues mas de el, es un port scanner y herramienta
> de auditoria informatica. Si no lo tienes instalado, instalalo con apt



Hola:

Ya han habido 2 respuestas indicando nmap. Efectivamente nmap escanea
puertos de la ip ( o rango )  que le informemos.

Ahora bien, leyendo la pregunta inicial yo entiendo que lo que se está
pidiendo es saber que protocolo ( servicio ) se tiene escuchando en la
propia máquina. En ese caso en particular personalmente creo que es más
fidedigna la información que puede reportar netstat que la que reportará
nmap, por las siguientes razones:

- nestat nos informará de todos los sockets abiertos en todas las
interfaces de red sin necesidad de informar la ip, al contrario que
nmap, al que se le tendrá que informar específicamente de que ips se
quieren escanear ( puede inducir a errores si nos dejamos de informar
una ip específica )

- de los sockets listados, netstat es capaz de decirnos:
protocolo/puerto asignado a cada socket, si hay ( y en que estado está )
una transmisión en ese socket, dando también la información del
origen/destino dependiendo de si el socket es de entrada o salida. Nmap
no es capaz de dar dicha información ya que lo que hace es intentar
conectarse a los puertos de la/las ips indicadas y decir si lo ha
conseguido o no ( aunque usa técnicas para intentar conseguir toda la
información posible, un firewall bien parametrizado minimiza la
obtención de mucha de la información que es capaz de obtener nmap )

- además de la información anterior, netstat también nos dice el proceso
( y su pid ) enganchado al socket. Nmap solo nos dirá que número de
puerto está abierto ( o que ha sido capaz de identificar como abierto )
pero puede ser que el servicio definido como standard para dicho numero
de puerto ( 80 para http, 21 y 20 para ftp, 443 para https... ) no sea
realmente el servicio que se está ofreciendo:

- El consumo de recursos de nmap es muy superior al utilizado por
netstat.


Pequeño testcase guarro en mi propia máquina:

lanzamiento de nmap desde el propio equipo contra loopback e ip local

Como root: nmap -sS -sV -O -p- -PI -PT 127.0.0.1 192.168.1.202


====================== inicio salida nmap ======================

Starting Nmap 4.10 ( http://www.insecure.org/nmap/ ) at 2007-07-05 11:26
CEST
Interesting ports on localhost.localdomain (127.0.0.1):
Not shown: 65524 closed ports
PORT      STATE SERVICE    VERSION
22/tcp    open  ssh        OpenSSH 4.3p2 Debian-5ubuntu1 (protocol 2.0)
25/tcp    open  smtp       Postfix smtpd
631/tcp   open  ipp        CUPS 1.2
1521/tcp  open  oracle-tns Oracle TNS Listener 10.2.0.1.0 (for Linux)
3000/tcp  open  ntop-http  Ntop web interface 3.2
3306/tcp  open  mysql      MySQL 5.0.24a-Debian_9ubuntu2-log
5900/tcp  open  vnc        VNC (protocol 3.7)
6000/tcp  open  X11         (access denied)
7634/tcp  open  hddtemp    hddtemp hard drive info server
11211/tcp open  memcache   memcached
48835/tcp open  oracle-tns Oracle TNS Listener
No exact OS matches for host (If you know what OS is running on it, see
http://www.insecure.org/cgi-bin/nmap-submit.cgi).
TCP/IP fingerprint:
=============================================
========= el fingerprint lo omito ===========
=============================================

Service Info: Host:  localhost.localdomain; OSs: Linux, Unix

Warning:  OS detection will be MUCH less reliable because we did not
find at least 1 open and 1 closed TCP port
All 65535 scanned ports on david-ballester.<dominio> (<ip_local>) are
filtered
Too many fingerprints match this host to give specific OS details

Nmap finished: 2 IP addresses (2 hosts up) scanned in 124.164 seconds

====================== fin salida nmap ======================



Ahora lanzamos netstat

Como root: time netstat -pluta


====================== inicio salida netstat ======================

root en nebuchadnezzar:/# time netstat -pluta
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address
State       PID/Program name   
tcp        0      0 *:48835                 *:*
LISTEN     4956/xe_d000_XE     
tcp        0      0 localhost.localdo:mysql *:*
LISTEN     4712/mysqld         
tcp        0      0 *:11211                 *:*
LISTEN     4613/memcached      
tcp        0      0 *:5900                  *:*
LISTEN     4999/vino-server    
tcp        0      0 *:x11                   *:*
LISTEN     4457/X              
tcp        0      0 *:1521                  *:*
LISTEN     4868/tnslsnr        
tcp        0      0 localhost.localdom:7634 *:*
LISTEN     4590/hddtemp        
tcp        0      0 localhost.localdoma:ipp *:*
LISTEN     6180/cupsd          
tcp        0      0 localhost.localdom:smtp *:*
LISTEN     5273/master         
tcp        0      0 localhost.localdom:7634 localhost.localdo:36135
TIME_WAIT  -                   
tcp        0      0 localhost.localdo:48518 localhost.localdom:1521
ESTABLISHED4933/xe_pmon_XE     
tcp        0      0 david-ballester.n:44254
unserver-local.dominio_local:ssh ESTABLISHED5943/ssh            
tcp        0      0 david-ballester.n:50831
otroserver-local.dominio_local:ipp ESTABLISHED5033/gnome-cups-ico 
tcp        0      0 localhost.localdom:1521 localhost.localdo:48518
ESTABLISHED4868/tnslsnr        
tcp        0      0 david-ballester.n:55961 lm-in-f99.google.co:www
ESTABLISHED5066/evolution-data 
tcp        0      0 david-ballester.n:55960 lm-in-f99.google.co:www
ESTABLISHED5066/evolution-data 
tcp6       0      0 *:lotusnote             *:*
LISTEN     8297/apache2        
tcp6       0      0 *:x11                   *:*
LISTEN     4457/X              
tcp6       0      0 *:ssh                   *:*
LISTEN     5311/sshd           
tcp6       0      0 *:3000                  *:*
LISTEN     4814/ntop           
tcp6       0      0 ip6-localhost:smtp      *:*
LISTEN     5273/master         
udp        0      0 localhost.localdo:32769 *:*
4933/xe_pmon_XE     
udp        0      0 localhost.localdo:32770 *:*
4956/xe_d000_XE     
udp        0      0 localhost.localdo:32771 *:*
4958/xe_s000_XE     
udp        0      0 localhost.localdo:32772 *:*
4960/xe_s001_XE     
udp        0      0 localhost.localdo:32773 *:*
4962/xe_s002_XE     
udp        0      0 localhost.localdo:32774 *:*
4964/xe_s003_XE     
udp        0      0 *:bootpc                *:*
3914/dhclient3      

real    0m0.131s
user    0m0.008s
sys     0m0.056s
root en nebuchadnezzar:/# 
====================== fin salida netstat ======================


Hay mucha diferencia, tanto en recursos usados para devolver la
información como en la calidad de la información devuelta
( servicios/puertos que nmap no resuelve, puertos faked....)



Como resumen, para ver que ofrece una máquina ( o que pueden decir que
se ofrece de la nuestra ) nmap ( y bien parametrizado )

Para saber realmente que está usando/ofreciendo nuestra propia máquina,
netstat.


HTH

D.
-- 
http://dballester.blogspot.com
The Ubuntu Counter Project - user number # 4472
counter.li.org #206389

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: https://lists.ubuntu.com/archives/ubuntu-es/attachments/20070705/c5432dab/attachment.htm 


Más información sobre la lista de distribución ubuntu-es