출력에서
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와 이름을 표시합니다.