네트워크 시설을 사용하여 프로세스를 식별하는 방법과 해당 프로세스가 종료될 수 있는지 여부는 무엇입니까?

네트워크 시설을 사용하여 프로세스를 식별하는 방법과 해당 프로세스가 종료될 수 있는지 여부는 무엇입니까?

출력에서

netstat -a | grep LISTEN

일반적으로 많은 프로세스가 있습니다. 그들에 대한 정보를 어떻게 (어디에서) 찾을 수 있고, 시스템에서 그들의 목적은 무엇이며, 그들을 죽일 수 있습니까? 이 중 안전하지 않은 것은 무엇이며 안전한 것은 무엇입니까?

답변1

그들에 대한 정보를 어떻게 (어디서) 찾을 수 있나요?

먼저 각 포트에 어떤 프로그램이 바인딩되어 있는지 알아내야 합니다. 불행하게도 모든 *ix 유형 시스템에서 작동하는 표준 방법은 없으며 귀하의 질문에는 이를 지정하지 않습니다.

일부 버전에는 netstat각 출력 라인에 관련 프로그램 이름을 포함하는 플래그가 있습니다. 예를 들어 --programLinux 또는 -bWindows에서.

그러한 플래그(예: OS X)가 없으면 netstat시스템에 적합한 다른 방법을 찾아야 합니다. lsof -i, /proc동굴 탐험 등

시스템에서 그들의 목적은 무엇입니까

프로그램 이름을 알고 나면 man progname일반적으로 질문에 직접 답할 수 있는 충분한 정보를 얻을 수 있습니다.

[내가] 그들을 죽일 수 있나요?

각 서버가 수행하는 작업을 알고 나면 이를 이해할 수 있습니다.

여기에 대한 단일 답변은 죽일 수 있는 모든 것을 나열하는 데 적합하지 않습니다. 가능성은 너무 많습니다. 해당 문서를 읽은 후 특정 프로그램에 대해 확신이 없으면 여기에 프로그램에 대해 묻는 다른 질문을 게시할 수 있습니다. 어떤 것들은 꽤 분명하고(예를 들어 sshd), 다른 것들은 더 모호합니다(예를 들어 avahi).

이 중 안전하지 않은 것은 무엇이며 안전한 것은 무엇입니까?

절대적으로 안전하지 않은 새로운 *ix 시스템에서는 기본적으로 프로그램이 실행되는 경우가 거의 없습니다.

(예전에는 그렇지 않았습니다. telnetdchroot가 아닌 ftpd명령을 실행하는 시스템을 자주 볼 수 있었습니다 r*...)

기본이 아닌 백그라운드 TCP 수신기는 사용자 또는 신뢰할 수 있는 다른 관리자가 설치해야 보안 문제가 해결되었을 수 있습니다.

여기에는 회색지대가 있습니다. 실행 중인 서버가 절대적으로 안전하지 않을 수는 있지만 조건부로 안전하지 않을 수 있습니다. 제대로 잠겨 있지 않거나 패치되지 않은 버그가 있을 수 있습니다. 그러나 이것은 전체 컴퓨터 보안 경력에 관한 것이므로 여기서 한 가지 질문으로 대답하는 것은 적절하지 않습니다. 이러한 경험이 부족하다면 Google이 최선의 선택이 될 수 있습니다. 원하는 내용을 찾을 수 없다면 여기에 특정 서버에 대한 새로운 질문을 게시할 수 있습니다.

답변2

주문하다

netstat -a | grep LISTEN

다양한 유형의 소켓을 수신하는 모든 프로세스를 나열합니다. 이러한 소켓은 ipv4(udp 또는 tcp), ipv6(udp6 또는 tcp6), unix와 같은 모든 주소 계열일 수 있습니다.

항목은 다음과 같습니다.

tcp        0      0 *:webmin                *:*                     LISTEN
tcp        0      0 *:ftp                   *:*                     LISTEN

tcp내 경우에는 webmin 및 ftp 서버가 실행 중인 것처럼 프로토콜이 사용되고 일부 서버가 컴퓨터에서 실행되고 있음을 의미합니다 .

항목은 다음과 같습니다.

 tcp6       0      0 [::]:8484               [::]:*                  LISTEN     
 tcp6       0      0 [::]:netbios-ssn        [::]:*                  LISTEN     

ipv6의 tcp6 프로토콜 사용을 나타냅니다.

항목은 다음과 같습니다.

unix  2      [ ACC ]     STREAM     LISTENING     13297    /tmp/orbit-pradeep/linc-76d-0-53b2963d93f75
unix  2      [ ACC ]     STREAM     LISTENING     13305    /tmp/orbit-pradeep/linc-775-0-5ddd91eb9510b

ORBit CORBA에 의해 작성되었습니다. CORBA(Common Object Request Broker Architecture)는 여러 컴퓨터 언어로 작성되고 여러 컴퓨터에서 실행되는 소프트웨어 구성 요소가 함께 작동할 수 있도록, 즉 여러 플랫폼을 지원하는 OMG(Object Management Group)에서 정의한 표준입니다.

1. 그들에 대한 정보를 어떻게 (어디서) 찾을 수 있나요?

에 대한 세부 정보를 알고 싶다고 가정해 보겠습니다 /tmp/orbit-pradeep/linc-775-0-5ddd91eb9510b. 다음을 실행하여 세부 정보를 얻을 수 있습니다.

$ lsof -Pwn | grep /tmp/orbit-pradeep/linc-775-0-5ddd91eb9510b

이 명령은 다음과 같은 출력을 제공합니다.

indicator  1909    pradeep   10u  unix 0xf6bd8900          0t0      13305 /tmp/orbit-pradeep/linc-775-0-5ddd91eb9510b
indicator  1909    pradeep   12u  unix 0xf6b1f600          0t0      13314 /tmp/orbit-pradeep/linc-775-0-5ddd91eb9510b

여기:

indicator프로세스와 관련된 unix 명령의 이름입니다. 1909프로세스의 PID입니다 indicator.

2. 시스템에서 그들의 목적은 무엇입니까?

일부 프로세스는 다음과 같습니다.

tcp        0      0 *:ftp                   *:*                     LISTEN

FTP 서버를 모니터링하는 데 사용됩니다.

다른 사람들은 다음을 좋아합니다:

 unix  2      [ ACC ]     STREAM     LISTENING     13297    /tmp/orbit-pradeep/linc-76d-0-53b2963d93f75

CORBA에서 사용하는 서로 다른 프로세스 간의 프로세스 간 통신에 사용됩니다.

3. 그들을 죽일 수 있나요?

프로세스가 얼마나 중요한지에 따라 다릅니다. 수신 대기 중인 서버를 종료하면 해당 서버와 관련된 모든 통신이 중지된다고 가정해 보세요.

4. 다음 중 안전하지 않은 것과 안전한 것은 무엇입니까?

모두 안전한 프로세스입니다.

답변3

netstat -nap | grep LISTEN다음을 포함하는 출력이 제공됩니다.이름그리고PID~의듣다프로세스:

unix  2      [ ACC ]     STREAM     LISTENING     20763  2333/gnome-terminal /tmp/orbit-eugene/linc-91d-0-2dbe139bd35e3
unix  2      [ ACC ]     STREAM     LISTENING     17900  2014/bonobo-activat /tmp/orbit-eugene/linc-7de-0-2b0c0606f265
unix  2      [ ACC ]     STREAM     LISTENING     18325  2274/gnome-screensa /tmp/orbit-eugene/linc-7ef-0-59f130216cc19

-n- 기호화된 호스트, 포트 또는 사용자 이름을 확인하려고 시도하는 대신 숫자 주소를 표시합니다.

-a- 청취 소켓과 비청취 소켓을 표시합니다.

-p 각 소켓이 속한 프로그램의 PID와 이름을 표시합니다.

관련 정보