Como descobrir quem usa a conexão e como fecha-la [RESOLVIDO]

1. Como descobrir quem usa a conexão e como fecha-la [RESOLVIDO]

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 11/05/2012 - 08:54h

Estava testando o software HardInfo 0.5.1. E percebi uma conexões tcp que desconheço. Aí como root, executei o comando:
# netstat -na | grep tcp 


Retornou assim:
tcp        1      0 192.168.0.164:32785     91.189.94.25:80         ESPERANDO_FECHAR 


Como faço para descobrir quem ou o que está usando esta conexão tcp ?
Como posso fecha-la ? Ou melhor rsrs, como sei se vou ou não fechar ?

Veja como instalar o HardInfo no Ubuntu: http://www.vivaolinux.com.br/dica/Verificacao-de-hardware-com-Hardinfo-no-Ubuntu-10.10







  


2. MELHOR RESPOSTA

Pedro Pereira
pogo

(usa Fedora)

Enviado em 11/05/2012 - 09:03h

O comando fuser resolve isso pra você. Aqui você aprende como: http://www.picoloto.com.br/linux/informacao_porta.php.

Pra matar uma conexão, dá uma lida aqui: http://www.pedropereira.net/como-matar-conexoes-que-aparecem-no-netstat/.

[]'s
Pedro Pereira.

3. Re: Como descobrir quem usa a conexão e como fecha-la [RESOLVIDO]

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 11/05/2012 - 09:06h

pogo escreveu:

O comando fuser resolve isso pra você. Aqui você aprende como: http://www.picoloto.com.br/linux/informacao_porta.php.

Pra matar uma conexão, dá uma lida aqui: http://www.pedropereira.net/como-matar-conexoes-que-aparecem-no-netstat/.

[]'s
Pedro Pereira.


Valeu :) já estou conferindo.




4. Re: Como descobrir quem usa a conexão e como fecha-la [RESOLVIDO]

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 11/05/2012 - 09:11h

Perfeito @pogo era isso mesmo que precisava.

Fonte: http://www.picoloto.com.br/linux/informacao_porta.php.


Dica 14 – Como saber qual processo está utilizando determinada porta
Pra que saber qual processo está utilizando determinada porta ? Imagine a situação: seu servidor está se comportando de maneira estranha, muito tráfego na rede por exemplo, e você analisa a rede e descobre que seu servidor está com uma ou mais portas abertas e ouvindo conexõs.

Primeiro, como saber quais são as portas que estão abertas no Linux ? Para isso, vamos utilizar o comando netstat. De acordo com a página man do netstat (que pode ser acessada digitando man netstat), o netstat mostra conexões de rede, tabelas de roteamento, estatísticas de interface e conexões, mascaradas.

Neste artigo, precisaremos saber quais portas estão listen ou ouvindo (ou seja, aguardando conexões) no protocolo tcp. Para isso, usaremos os parâmetros n e a do netstat para não resolver nomes (vai mostrar somente o IP, que deixa o comando mais rápido) e mostrar todas as conexões respectivamente. Sem usar o a, o netstat só irá mostrar as portas que está conectadas. Alé disso, vamos usar o grep para filtrar o que for somente tcp e o que estiver com status listen, assim:

netstat -na | grep tcp | grep -i listen

Para saber que processo está utilizando determinada porta, execute o fuser seguido da porta/protocolo. Por exemplo, para ver qual processo está utilizando a porta 22, usamos o fuser assim:

# fuser 22/tcp
22/tcp: 1683

O comando fuser informou que a porta 22/tcp está sendo usada pelo processo cujo PID é 1683. Então temos que somente usar o ps para descobrir quem é o processo 1683:

# ps aux | grep 1683
root 1683 0.0 0.2 4984 1080 ? Ss 08:46 0:00 /usr/sbin/sshd

Neste caso, descobrirmos que a porta 22/tcp estava sendo usada pelo sshd. Nada anormal neste servidor :)

Podemos usar este procedimento para verificar todas as portas que estão abertas.

Para melhorar a dica, pode-se elaborar um script para automatizar esta tarefa. Este script poderia comparar as portas que estão abertas no momento com uma lista predefinida e, caso não estivesse ok, o script poderia enviar um email informando isso.

Atualizado em 14 de julho de 2009:

Complementando, no caso de um Sun Solaris, pode-se usar uma combinação dos comandos lsof, grep e ps, assim (supondo que desejamos saber o que roda na porta 12345):

# lsof |grep 12345

java 11110 root 10u IPv4 0x300099a61e0 0t0 TCP *:12345 (LISTEN)
Aqui temos um processo do java rodando na porta 12345 TCP cujo PID é 11110 (segunda coluna). Então, basta um ps -ef com grep nesta porta, assim:
# ps -ef|grep 11110
root 11110 1 0 jul 06 ? 11:15 /opt/java/bin/java
Com isso, sabemos que é um processo do java que roda na porta 12345 e que o mesmo está no diretório /opt/java/bin/java.

Fonte: http://www.pedropereira.net/como-matar-conexoes-que-aparecem-no-netstat/

Como matar conexões que aparecem no netstat

O netstat é um comando utilizado para obter informações sobre conexões (tanto de entrada quanto de saída) de rede da máquina onde é executado. Mas, como matar uma conexão ativa que você encontrou na saída do netstat? Usando o tcpkill! :)

O tcpkill é um software que facilita o processo de finalizar uma conexão TCP de um host, rede ou porta (ou qualquer combinação destas três características) em progresso através do gateway da sua rede. Ele é instalado através do pacote dsniff da sua distribuição e utiliza o tcpdump para trabalhar.

A sintaxe do comando é a seguinte:

# tcpkill -i interface-a-monitorar -[1-9] ‘expressão que identifica a conexão’

Onde:

interface-a-monitorar pode ser eth0, eth1, etc.;
-[1-9] indica a velocidade e quantidade de pacotes RST que serão utilizados para matar a conexão;
‘expressão que identifica a conexão’ pode ser o nome do host, porta, etc.

Por exemplo:

# tcpkill -i eth0 -9 ‘www.google.com

Assim, o tcpkill irá iniciar sua execução e só vai parar quando você matar o processo dele. Portanto, enquanto o tcpkill estiver sendo executado não será possível acessar o Google. Você pode substituir o nome www.google.com.br">www.google.com.br por um IP também.

Você também pode especificar mais de um host na mesma linha assim:

# tcpkill -i eth0 -9 ‘host www.google.com and host www.microsoft.com’

Para matar uma conexão em uma porta específica:

# tcpkill -9 ‘port 1234′


No meu caso a resposta foi a seguinte:


COMMAND    PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
ubuntu-ge 2025 gatux 7u IPv4 14933 0t0 TCP GaTux:32785->mulberry.canonical.com:http (CLOSE_WAIT)


ok, agora já sei que esta conexão é de mulberry.canonical.com:http (CLOSE_WAIT)
Posso matar esta conexão ? Ou vai dar algum problema ?







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts