Assim como o Netstat, mencionado em outros posts, o comando lsof deve ser capaz de fazer isso muito bem. Apenas use isso:
lsof -i :<port number>
e todos os processos devem surgir. Eu uso no OS X com bastante frequência.
Eu corri o nmap no meu servidor e encontrei uma porta estranha aberta. Eu estou tentando descobrir se há uma maneira de mapear essa porta para um processo específico, mas não tenho idéia se existe tal ferramenta.
Alguma sugestão?
Assim como o Netstat, mencionado em outros posts, o comando lsof deve ser capaz de fazer isso muito bem. Apenas use isso:
lsof -i :<port number>
e todos os processos devem surgir. Eu uso no OS X com bastante frequência.
A ferramenta que você precisa é lsof
, que listará arquivos (e soquetes e portas). É mais provável que seja instalado, e é mais provável que seja a versão do invasor, o que significa que ele irá mentir para você.
Este é realmente um rootkit. Eu já vi esse comportamento antes, e é sempre um rootkit. Seu sistema está comprometido e qualquer ferramenta que você esteja usando originária da mesma máquina não é confiável. Inicialize em um Live CD (que tem binários confiáveis somente leitura) e use-o para extrair seus dados, configurações, etc. Quaisquer programas que você tenha, quaisquer scripts que tenha, os abandona. Não os traga . Trate-os, e o sistema, como se eles tivessem hanseníase, porque eles fazem
.
Faça isso o mais rápido possível. Ah, e desconecte sua conexão de rede - negue o acesso do invasor.
sudo netstat -lnp
Lista as portas que estão atendendo conexões de entrada e o processo associado que tem a porta aberta.
netstat -anp
O "-p" informa para listar o ID do processo que tem a porta aberta. O -an diz para listar as portas de escuta e não resolver os nomes. Em sistemas ocupados que podem acelerar bastante a velocidade de retorno.
netstat -anp | grep "LIST"
Isso vai te dar as portas abertas.
Se você não conseguir ver a porta aberta com as ferramentas do sistema operacional e suspeitar de uma intrusão, pode ser que um rootkit tenha sido instalado.
O rootkit pode ter mudado as ferramentas de sistema para evitar certos processos e portas ou módulos do kernel modificados.
Você pode verificar o rootkit com várias ferramentas automatizadas. 'apt-cache search rootkit' mostra o seguinte no Ubuntu:
chkrootkit - rootkit detector
rkhunter - rootkit, backdoor, sniffer and exploit scanner
unhide - Forensic tool to find hidden processes and ports
Se acontecer de você ter um rootkit, você pode reverter o 'alterado' para o seu sistema, mas eu recomendo que você descubra como a intrusão foi feita e endureça o sistema para que ele não se repita.
Eles não são exclusivos do Ubuntu, você pode usá-los no CentOS também. Basta procurar o pacote ou baixá-lo de sua página.
Pela saída dessa porta, parece que você está executando o pcanywhere de fato: " Ы < Enter >" é muito semelhante a "Por favor, pressione < Enter >" que é pcanywhere mensagem de boas vindas. Eu não sei porque o processo não aparece na lista de processos. Você é raiz?
Você pode tentar reinicializar para ver se também é um processo único em execução.
Para expor a resposta por @bjtitus você pode obter algumas informações muito detalhadas, por exemplo:
$ lsof -i :8000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
squid3 1289 proxy 15u IPv6 14810490 0t0 TCP *:8000 (LISTEN)
$ ps -fp 1289
UID PID PPID C STIME TTY TIME CMD
proxy 1289 1 0 09:48 ? 00:00:00 /usr/sbin/squid3 -N -f /etc/squid-deb-proxy/squid-deb-proxy.conf
Eu posso ver ali que o squid é o processo, mas é realmente meu squid-deb-proxy
que está ocupando a porta.
Outro bom exemplo de um aplicativo java:
$ lsof -i :4242
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 3075 root 86u IPv4 12019 0t0 TCP *:4242 (LISTEN)
$ ps -fp 3075
UID PID PPID C STIME TTY TIME CMD
root 3075 1 15 May24 ? 3-16:07:25 /usr/local/crashplan/jre/bin/java -Dfile.encoding=UTF-8 -Dapp=CrashPlanService -DappBaseName=CrashPl
Você pode ver em lsof
(LiSt Open Files) que é java, o que é menos que útil. Executando o comando ps
com o PID, podemos ver imediatamente que é o CrashPlan.