Linux에서 특정 포트가 열려있는 프로세스를 확인하는 방법은 무엇입니까? 내 서버에서 nmap을 실행하고 이상한 포트가 열린

내 서버에서 nmap을 실행하고 이상한 포트가 열린 것을 발견했습니다. 해당 포트를 특정 프로세스에 매핑하는 방법이 있는지 알아 내려고하지만 그러한 도구가 있는지는 모릅니다.

어떤 제안?



답변

다른 게시물에서 언급 한 Netstat뿐만 아니라 lsof 명령은이 작업을 올바르게 수행 할 수 있어야합니다. 이것을 사용하십시오 :

lsof -i :<port number>

모든 프로세스가 시작되어야합니다. OS X에서 자주 사용합니다.

lsof에 대한 데비안 관리 기사


답변

경고 : 시스템이 손상되었습니다.

필요한 도구는 lsof파일과 소켓 및 포트를 나열합니다. 그것은 가장 가능성이 설치되어, 그것은 가장 가능성이 의미 공격자의 버전이다 거짓말을 당신에게.

이것은 실제로 루트킷입니다. 이전에이 동작을 보았으며 항상 루트킷입니다. 시스템이 손상되었으며 동일한 시스템에서 시작된 도구를 신뢰할 수 없습니다. 읽기 전용의 신뢰할 수있는 바이너리가있는 라이브 CD로 부팅하여 데이터, 설정 등을 추출하십시오. 가지고있는 모든 프로그램, 가지고있는 스크립트, 버림 . 가져 오지 마십시오 . 그들이 있기 때문에 그들이 나병을 가지고있는 것처럼, 그들하고 시스템을 취급 .

완료되면 궤도에서 핵무기를하십시오 .

가능한 빨리이 작업을 수행하십시오. 아, 그리고 네트워크 연결을 분리하십시오-침입자의 접근을 거부하십시오.


답변

sudo netstat -lnp

들어오는 연결을 수신 대기하는 포트와 포트가 열린 관련 프로세스를 나열합니다.


답변

netstat -anp

“-p”는 포트가 열린 프로세스 ID를 나열하도록 지시합니다. -an은 수신 포트를 나열하고 이름을 확인하지 않도록 지시합니다. 사용량이 많은 시스템에서 시스템 속도를 크게 높일 수 있습니다.

netstat -anp | grep “LIST”

그것은 당신에게 열린 포트를 줄 것입니다.


답변

운영 체제 도구로 포트가 열리지 않고 침입이 의심되는 경우 루트킷이 설치되었을 수 있습니다.

루트킷은 특정 프로세스와 포트 또는 변경된 커널 모듈을 피하기 위해 시스템 도구를 변경했을 수 있습니다.

여러 자동화 도구를 사용하여 루트킷을 확인할 수 있습니다. ‘apt-cache search rootkit’은 우분투에서 다음을 보여줍니다.

chkrootkit - rootkit detector
rkhunter - rootkit, backdoor, sniffer and exploit scanner
unhide - Forensic tool to find hidden processes and ports

루트킷이 있으면 ‘변경된’시스템으로 되돌릴 수 있지만 침입이 어떻게 이루어 졌는지 확인하고 시스템이 반복되지 않도록 강화하는 것이 좋습니다.


그것들은 우분투 독점이 아니며 CentOS에서도 사용할 수 있습니다. 패키지를 찾거나 해당 페이지에서 다운로드하십시오.


해당 포트의 출력으로 실제로 pcanywhere를 실행중인 것 같습니다. ” < 프로세스가 프로세스 목록에 표시되지 않는 이유를 모르겠습니다. 당신은 뿌리입니까?

재부팅을 시도하여 한 번만 실행중인 프로세스인지 확인할 수 있습니다.


답변

@bjtitus의 답변을 설명하려면 다음과 같은 매우 자세한 정보를 얻을 수 있습니다.

$ 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

나는 바로 오징어가 과정이라는 것을 알 수 있지만 실제로 squid-deb-proxy항구를 차지하고있는 것은 내 것입니다.

자바 앱의 또 다른 좋은 예 :

$ 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

당신은에서 볼 수있는 lsof것이 도움이 미만 자바이라고 (목록 열기 파일). psPID로 명령을 실행하면 CrashPlan이라는 것을 즉시 알 수 있습니다.