Obtenha uma lista concisa de sockets abertos (ouvintes) no Fedora 17

-1

Eu tentei netstat e lsof com várias opções, mas estou obtendo resultados ruins. Estou interessado em saber os seguintes dados:

  • aplicativos que ligam o soquete a porta - número da porta

Eu gostaria de excluir os sockets UNIX da lista, se possível, mas isso não é muito importante.

Para elaborar: por "lixo" quero dizer que nem netstat nem lsof imprime o número da porta ... o que estou recebendo é algo como:

rpc.statd   900 rpcuser    8u  IPv4   16330      0t0  UDP *:51038 

onde eu esperava 51038 ser o número da porta, mas não é, não consigo nem descobrir o que é essa informação. Pior ainda, algumas vezes haveria letras em vez de números, onde eu normalmente esperaria o número da porta - isso é extremamente inútil, porque estou tentando descobrir qual programa ocupa a porta que estou tentando ligar / conectar (Eu suspeito que essas letras sejam um pseudônimo de algo, mas, vamos lá ... quem precisa disso?)

    
por wvxvw 06.07.2013 / 15:53

3 respostas

2

Esta é uma adaptação de netstat . Você pode substituir "tcp \ | udp" por "udp" ou "tcp" sozinho:

netstat -nap \
    | grep "^\(tcp\|udp\)" \
    | grep -v "\.255:\|127\.0\.0\.1:" \
    | sort -n -k 4,6 \
    | sort -k 1 \
    | sed -e 's/LISTEN//g' \
    | tr -s " " "\t" | cut -f1,4,6- | column -t

Ele emitirá todos os soquetes TCP e UDP. Você pode adicionar outra linha grep antes do tipo

    | grep ":\*"

para obter somente sockets de escuta (na minha distribuição eles estão associados a ": *" como porta), e outra linha

    | grep -v ":::"

para não listar soquetes IPv6.

A última linha comprime a saída e a reexpande em um formato de coluna ideal após remover as colunas 2, 3 e 5; remova-o se você não tiver column instalado.

No meu sistema de desenvolvimento home (OpenSuSE 12.3, não no Fedora) o script completo

#!/bin/sh
netstat -nap \
        | grep "^\(tcp\|udp\)" \
        | grep -v "\.255:\|127\.0\.0\.1:" \
        | grep -v ":::" \
        | grep ":\*" \
        | sort -n -k 4,6 \
        | sort -k 1 \
        | sed -e 's/LISTEN//g' \
        | tr -s " " "\t" | cut -f1,4,6- | tr "[:/]" " " | column -t

retorna (eu também tenho um protocolo adicional de linha de reescrita de endereço), interface, número da porta, ID do processo e nome do comando.

tcp  ANY       111    649   rpcbind
tcp  ANY       1190   1848  xinetd
tcp  ANY       139    2364  smbd
tcp  ANY       21     1813  vsftpd
tcp  ANY       22     1855  sshd
tcp  ANY       25     3229  master
tcp  ANY       3306   2896  mysqld
tcp  ANY       3690   3053  svnserve
tcp  ANY       389    2293  slapd
tcp  ANY       445    2364  smbd
tcp  ANY       8200   2952  minidlna
tcp  ANY       902    2153  vmware-authd
tcp  INTERNAL  3128   2449  squid
tcp  INTERNAL  53     2386  named
udp  ANY       111    649   rpcbind
udp  ANY       123    2918  ntpd
udp  ANY       137    2177  nmbd
udp  ANY       138    2177  nmbd
udp  ANY       1900   2952  minidlna
udp  ANY       38408  2449  squid
udp  ANY       631    648   cupsd
udp  ANY       825    649   rpcbind
udp  EXTERNAL  123    2918  ntpd
udp  EXTERNAL  137    2177  nmbd
udp  EXTERNAL  138    2177  nmbd
udp  INTERNAL  123    2918  ntpd
udp  INTERNAL  137    2177  nmbd
udp  INTERNAL  138    2177  nmbd
udp  INTERNAL  53     2386  named
udp  INTERNAL  55440  2952  minidlna
    
por 06.07.2013 / 17:06
1

O nmap sempre foi um dos sniffers de portas pesadas para unix e windows. É altamente personalizável e você pode fazer todo tipo de coisa com sua saída. Um exemplo de verificação de localhost:

nmap -Pn localhost

dá:

Starting Nmap 6.25 ( http://nmap.org ) at 2013-07-22 01:48 BST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0023s latency).
rDNS record for 127.0.0.1: localhost.localdomain
Not shown: 997 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
25/tcp  open  smtp
631/tcp open  ipp

Adquira nos repositórios do yum: yum install nmap

    
por 22.07.2013 / 02:52
0

Você já tentou usar o sockstat? Eu não sei sobre o Fedora, mas eu uso o sockstat no FreeBSD e no Ubuntu para obter as informações que você está procurando.

    
por 06.07.2013 / 16:36