상태 - Windows에서 포트에서 수신 대기중인 프로세스를 어떻게 확인할 수 있습니까?




포트 상태 (18)

Windows에서 포트에서 수신 대기중인 프로세스를 어떻게 확인할 수 있습니까?


PID 및 이미지 이름 가져 오기

하나의 명령 만 사용하십시오.

for /f "tokens=5" %a in ('netstat -aon ^| findstr 9000') do tasklist /FI "PID eq %a"

여기서 9000 은 포트 번호로 대체해야합니다.

출력 에는 다음과 같은 내용이 포함됩니다.

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
java.exe                      5312 Services                   0    130,768 K

설명:

  • 다음 명령의 출력에서 ​​모든 행을 반복합니다.

    netstat -aon | findstr 9000
    
  • 모든 줄에서 PID ( %a - 여기서는 이름이 중요하지 않음)가 추출되고 (PID는 해당 줄의 5 번째 요소 임) 다음 명령으로 전달됩니다

    tasklist /FI "PID eq 5312"
    

명령 프롬프트헤더 와 반환을 건너 뛰 려면 다음을 사용할 수 있습니다.

echo off & (for /f "tokens=5" %a in ('netstat -aon ^| findstr 9000') do tasklist /NH /FI "PID eq %a") & echo on

산출:

java.exe                      5312 Services                   0    130,768 K

  1. 관리자 권한으로 명령 프롬프트 창 열기 "시작 \ 검색 상자"에서 "cmd"를 입력하고 "cmd.exe"를 마우스 오른쪽 버튼으로 클릭하고 "관리자 권한으로 실행"을 선택하십시오.

  2. 다음 텍스트를 입력 한 다음 Enter 키를 누릅니다.

    netstat -abno

    -a 모든 연결 W 수신 대기 포트를 표시합니다.

    -b 각 연결 또는 수신 대기 포트 작성에 관련된 실행 파일을 표시합니다. 경우에 따라 잘 알려진 실행 파일은 여러 독립 구성 요소를 호스팅하며 이러한 경우 연결 또는 수신 대기 포트 만들기와 관련된 구성 요소 시퀀스가 ​​표시됩니다. 이 경우 실행 파일 이름은 맨 아래에 [] 안에 있으며, 맨 위에는 호출 된 구성 요소가 있으며, TCP / IP에 도달 할 때까지 계속 실행됩니다. 이 옵션은 시간이 오래 걸릴 수 있으며 충분한 권한이 없으면 실패합니다.

    -n 주소 W 포트 x 호를 숫자 형식으로 표시합니다.

    -o 각 연결과 관련된 소유 프로세스 ID를 표시합니다.

  3. "Local Address"에서 듣고있는 포트를 찾으십시오.

  4. 프로세스 이름 바로 아래에서 프로세스 이름을 확인하십시오.

참고 : 작업 관리자에서 프로세스를 찾으려면

  1. 보고있는 포트 옆의 PID (프로세스 식별자)를 기록하십시오.

  2. Windows 작업 관리자를 엽니 다.

  3. 프로세스 탭을 선택하십시오.

  4. 1 단계에서 netstat을했을 때 언급 한 PID를 찾으십시오.

    • PID 열이 표시되지 않으면 열보기 / 선택을 클릭하십시오. PID를 선택하십시오.

    • "모든 사용자의 프로세스 표시"가 선택되어 있는지 확인하십시오.


NirSoft의 CurrPorts 를 추천합니다.

CurrPorts는 표시된 결과를 필터링 할 수 있습니다. TCPView 에는이 기능이 없습니다.

참고 : 프로세스의 소켓 연결을 마우스 오른쪽 단추로 클릭하고 "선택한 TCP 연결 닫기"를 선택할 수 있습니다 (TCPView에서도이 작업을 수행 할 수 있습니다). VPN을 전환 한 후 Outlook 및 Lync와 연결 문제가 자주 수정됩니다. CurrPorts를 사용하면 "/ close"매개 변수를 사용하여 명령 줄에서 연결을 닫을 수도 있습니다.


Powershell을 사용하는 경우 Get-NetworkStatistics 시도 Get-NetworkStatistics .

> Get-NetworkStatistics | where Localport -eq 8000


ComputerName  : DESKTOP-JL59SC6
Protocol      : TCP
LocalAddress  : 0.0.0.0
LocalPort     : 8000
RemoteAddress : 0.0.0.0
RemotePort    : 0
State         : LISTENING
ProcessName   : node
PID           : 11552

Windows 용 기본 GUI가 있습니다.

  • 시작 >> 모든 프로그램 >> 보조 프로그램 >> 시스템 도구 >> 리소스 모니터

또는 resmon.exe 또는 TaskManager 성능 탭에서 실행


Windows에서 pid로 포트 번호를 얻는 것은 매우 간단합니다.

다음 단계가 있습니다.

1) 실행 -> cmd를 입력 -> Enter 키를 누릅니다.

2) 다음 명령을 작성하십시오 ...

netstat -aon | findstr [port number]

(참고 : 대괄호는 포함하지 마십시오.)

3) Enter 키를 누릅니다 ...

4) 그러면 cmd는 해당 포트에서 실행중인 pid와 함께 실행되는 서비스의 세부 사항을 제공합니다.

5) 작업 관리자를 열고 서비스 탭을 누르고 pid와 cmd를 일치 시키면됩니다.


netstat -a -o 특정 포트에서 실행중인 프로세스의 PID를 표시합니다.

프로세스 id를 기억하고 작업 관리자 및 서비스 또는 세부 정보 탭으로 이동하여 동일한 PID를 갖는 프로세스를 종료하십시오.

따라서 Windows의 특정 포트에서 실행중인 프로세스를 종료 할 수 있습니다.


각 연결과 관련된 모든 소유 프로세스 ID의 목록을 얻으려면 다음을 수행하십시오.

netstat -ao |find /i "listening"

모든 프로세스를 죽이고 싶다면 ID를 가지고이 명령을 사용하면 포트가 비어있게됩니다.

Taskkill /F /IM pidof a process

다음 명령을 실행하면 자세한 정보를 얻을 수 있습니다.

netstat -aon |find /i "listening" |find "port"

'찾기'명령을 사용하면 결과를 필터링 할 수 있습니다. find / i "listening"은 'Listening'인 포트만 표시합니다. 참고, / i가 필요하면 Case를 무시하십시오. 그렇지 않으면 "LISTENING"을 입력하십시오. | find "port"는 결과를 특정 포트 번호를 포함하는 포트로 제한합니다. 이것에 관해서는 응답 문자열의 어느 곳에서나 포트 번호를 가진 결과를 필터링합니다.


다음 명령을 입력하십시오. netstat -aon | findstr :DESIRED_PORT_NUMBER netstat -aon | findstr :DESIRED_PORT_NUMBER

예를 들어, 포트 80을 찾고 싶다면 : netstat -aon | findstr :80 netstat -aon | findstr :80

이 답변은 원래이 글에 게시되었습니다.


먼저 포트를 비우려면 제거해야 할 특정 작업의 프로세스 ID를 찾습니다.

유형
netstat -n -a -o

Windows 명령 행 프롬프트 (cmd)에서이 명령을 실행 한 후 마지막 열이 3312라고 가정하는 pid를 선택하십시오.

지금 입력하십시오.

태스크 킬 / F / PID 3312

이제 netstat 명령을 입력하여 교차 점검을 할 수 있습니다.

참고 : 때로는 Windows가 CMD에서이 명령을 직접 실행할 수 없도록하기 때문에 시작 -> 명령 프롬프트 (명령 프롬프트를 마우스 오른쪽 단추로 클릭하고 관리자 권한으로 실행)에서이 단계를 수행해야합니다.


명령 쉘을 열고 다음을 입력하십시오. (포트가 123456이라고 말함)

netstat -a -n -o | find "123456"

필요한 모든 것을 볼 수 있습니다.

헤더는 다음과 같습니다.

 Proto  Local Address          Foreign Address        State           PID
 TCP    0.0.0.0:37             0.0.0.0:0              LISTENING       1111

이것은 here 언급 된 것과 here


이를 위해 GUI를 원하면 TCPView 사용하십시오. Microsoft가 구입 한 오래된 Sysinternals 앱입니다.


포트 변경이 작동하지 않는 경우 :

1 단계 : Windows에서 '서비스'를 검색하여 서비스로 이동합니다.

2 단계 : 모든 서비스를 사전 순으로 주문하십시오 (필요 없음).

3 단계 : MySQL과 관련된 모든 서비스를 중지합니다.

Step-4 : xampp에서 mysql을 시작한다.


프로세스 이름을 인수로 사용하고 프로세스에 대한 netstat 출력을 제공하는 배치 스크립트를 사용하십시오.

@echo off
set procName=%1
for /f "tokens=2 delims=," %%F in ('tasklist /nh /fi "imagename eq %1" /fo csv') do call :Foo %%~F
goto End

:Foo
set z=%1
echo netstat for : "%procName%" which had pid "%1"
echo ----------------------------------------------------------------------

netstat -ano |findstr %z%
goto :eof

:End

netstat -aonetstat -ab 은 애플리케이션을 알려주지 만, 관리자가 아닌 경우 "요청한 작업에는 권한 상승이 필요합니다"라는 메시지가 표시됩니다.

이상적은 아니지만 sysinternals Process Explorer를 사용하면 특정 프로세스의 속성으로 이동하여 TCP 탭을보고 원하는 포트를 사용하고 있는지 확인할 수 있습니다. 바늘과 건초 더미의 비트 누군가를 도울거야 ....


C:\> netstat -a -b

( -n 을 추가하여 호스트 이름을 분석하는 것을 중지 시키십시오. 호스트 이름을 훨씬 빨리 만들 수 있습니다)

TCPView 대한 Dane의 권장 사항을 참고하십시오. 매우 유용하게 보입니다!

-a 모든 연결 W 수신 대기 포트를 표시합니다.

-b 각 연결 또는 수신 대기 포트 작성에 관련된 실행 파일을 표시합니다. 경우에 따라 잘 알려진 실행 파일은 여러 독립 구성 요소를 호스팅하며 이러한 경우 연결 또는 수신 대기 포트 만들기와 관련된 구성 요소 시퀀스가 ​​표시됩니다. 이 경우 실행 파일 이름은 맨 아래에 [] 안에 있으며, 맨 위에는 호출 된 구성 요소가 있으며, TCP / IP에 도달 할 때까지 계속 실행됩니다. 이 옵션은 시간이 오래 걸릴 수 있으며 충분한 권한이 없으면 실패합니다.

-n 주소 W 포트 x 호를 숫자 형식으로 표시합니다.

-o 각 연결과 관련된 소유 프로세스 ID를 표시합니다.


netstat -aon | find /i "listening"






port