
의 출력에서
netstat -a | grep LISTEN
일반적으로 많은 프로세스가 있습니다. 그들에 대한 정보를 어떻게 (어디에서) 찾을 수 있습니까? 시스템에서 그들의 목적은 무엇이며 그들을 죽일 수 있습니까? 그 중 어느 것이 안전하지 않을 수 있고 어느 것이 안전한가요?
답변1
그들에 대한 정보를 어떻게 (어디에서) 찾을 수 있습니까?
먼저 각 포트에 어떤 프로그램이 바인딩되어 있는지 알아내야 합니다. 불행하게도 모든 *ix 유형 시스템에서 작동하는 단일 표준 방법은 없으며 귀하의 질문에는 이를 지정하지 않습니다.
일부 버전에는 netstat
각 출력 라인에 관련 프로그램 이름을 포함하는 플래그가 있습니다. 예를 들어 --program
Linux 또는 -b
Windows에서.
그러한 플래그(예: OS X) 가 없으면 netstat
시스템에서 작동하는 다른 방법을 찾아야 합니다. lsof -i
, /proc
동굴 탐험 등
시스템에서 그들의 목적은 무엇입니까
프로그램 이름을 알고 나면 man progname
일반적으로 해당 질문에 스스로 답할 수 있는 충분한 정보를 얻을 수 있습니다.
[내가] 그들을 죽일 수 있나요?
각 서버가 무엇을 하는지 알게 되면 그 사실을 알게 될 것입니다.
여기에 단 하나의 답변을 제시하는 것은 당신이 죽일 수 있는 모든 것을 나열하는 데 적합한 위치가 아닙니다. 가능성이 너무 많습니다. 해당 문서를 읽은 후에도 해당 프로그램에 대해 확신이 없다면 여기에 해당 프로그램에 대한 다른 질문을 게시할 수 있습니다. 어떤 것들은 상당히 분명하고(예: sshd
), 어떤 것들은 더 모호합니다(예: avahi
).
그 중 어느 것이 안전하지 않을 수 있고 어느 것이 안전한가요?
절대적으로 안전하지 않은 새로운 *ix 시스템에서 프로그램이 기본적으로 실행되는 경우는 거의 없습니다.
(나쁜 옛날에는 그렇지 않았습니다. 시스템이 telnetd
chroot되지 않고 실행되고 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와 이름을 표시합니다.