Mac OS X에서 어떤 프로세스가 열린 TCP / IP 포트를 가지고 있는지 어떻게 알 수 있습니까?


답변:


22

한 가지 대안은 lsof유틸리티를 사용하는 것입니다 . 특히, lsof -i 4tcp일종의 TCP IPv4 네트워크 소켓이 열린 모든 프로세스를 나열합니다. 맨 페이지 lsof에서 유틸리티 사용 방법 및 출력 해석 방법에 대한 자세한 정보를 제공합니다.


9

특정 포트에 관심이 있다면 다음 예제를 사용할 수 있습니다.

lsof -i 4tcp:8080 -sTCP:LISTEN

프로세스 ID 만 얻으려면 다음을 실행하십시오.

lsof -i 4tcp:8080 -sTCP:LISTEN -Fp

1

TCP 또는 UDP의 특정 포트에있는 모든 것을 보려면 아래 명령을 사용하십시오. 이 -n옵션은 IP 주소를 도메인 이름으로 해석 -P하지 못하게하고 특정 포트의 이름을 알아 내지 못하게합니다. 또한 as root를 실행하면 일반 사용자로 실행하는 것보다 더 많은 프로세스가 표시됩니다.

sudo lsof -iTCP:53 -iUDP:53 -n -P


0

다음 코드 예제는 로컬 OSX 시스템에서 실행중인 모든 TCP 서버를 나열합니다.

netstat -a -Ptcp | egrep 'tcp4.*LISTEN'

tcp4       0      0  127.0.0.1.2022         *.*                    LISTEN               0          0
tcp4       0      0  *.3141                 *.*                    LISTEN               0          0

LISTEN연결을 수신하는 소켓 만 표시합니다. 즉, 서버입니다.

첫 번째 줄은 localhost, aka 127.0.0.1, port에 바인딩 된 서버를 보여줍니다 2022. 인터넷 요청이 아닌 로컬 요청에 응답합니다.

두 번째 줄은 모든 주소, 즉 *port에 바인딩 된 서버 3141입니다. 그것은 것이다 인터넷 쿼리에 응답.

클라이언트 서버가 사용하는 포트를 나열하려면 다음을 사용하십시오.

netstat -an -Ptcp | grep tcp4

3
그러나 netstatBSD 기반 호스트에는 프로세스 정보가 나열되어 있지 않습니다.
Tonin

-1

이것은 Netstat 명령을 사용하여 터미널 창에서 가능해야합니다 .

그리고 GUI 방식을 더 좋아한다면 :

Mac OS X 10.5에서 / Applications / Utilities 폴더에는 다음과 같은 네트워크 유틸리티가 포함되어 있습니다. 네트워크 유틸리티, 핑, 조회, 트레이스 루트, 후이즈, 핑거 및 포트 스캔과 함께 GUI 애플리케이션에 표시되는 이러한 통계는 Netstat 탭을 참조하십시오.


2
OS X의 netstat에는 소켓이 연결된 프로세스를 나열하는 옵션이 없습니다.
Steve Folly
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.