programing

특정 포트를 확인하기 위한 명령줄

newstyles 2023. 5. 29. 09:57

특정 포트를 확인하기 위한 명령줄

Windows 명령줄에서 특정 포트의 상태를 검사할 수 있는 방법이 있습니까?netstat을 사용하여 모든 포트를 검사할 수 있지만 netstat은 느리고 특정 포트를 보면 그렇지 않을 수 있습니다.

여기 포트 찾기의 쉬운 해결책이 있습니다...

cmd 단위:

netstat -na | find "8080"

배시:

netstat -na | grep "8080"

PowerShell에서:

netstat -na | Select-String "8080"

사용할 수 있습니다.netstat와 결합하여-np에의 깃발과 파이프find또는findstr명령을 실행합니다.

기본 용도는 다음과 같습니다.

netstat -np <protocol> | find "port #"

예를 들어 TCP의 포트 80을 확인하려면 다음 작업을 수행합니다.netstat -np TCP | find "80"그러면 다음과 같은 출력이 나옵니다.

TCP    192.168.0.105:50466    64.34.119.101:80       ESTABLISHED
TCP    192.168.0.105:50496    64.34.119.101:80       ESTABLISHED

보시다시피 TCP 프로토콜에 대한 포트 80의 연결만 표시됩니다.

사용자:

netstat –aon | find "<port number>"

여기서 o는 프로세스 ID를 나타냅니다.이제 프로세스 ID로 무엇이든 할 수 있습니다.프로세스를 종료하려면 다음을 사용합니다.

taskkill /F /pid <process ID>

제가 WAMP apache에 문제가 있을 때, 저는 포트 80을 사용하는 프로그램을 찾기 위해 이 코드를 사용합니다.

netstat -o -n -a | findstr 0.0:80

여기에 이미지 설명 입력

3068PID이기 때문에 작업 관리자에게 찾아서 해당 프로세스를 중지할 수 있습니다.

다른 내용과 같이 적절한 스위치와 함께 netstat를 사용한 다음 find[str]를 사용하여 결과를 필터링합니다.

가장 기본적인 것:

netstat -an | find ":N"

또는

netstat -a -n | find ":N"

사용할 수 있는 외부 포트 찾기:

netstat -an | findstr ":N[^:]*$"

로컬 포트를 찾으려면 다음을 사용합니다.

netstat -an | findstr ":N.*:[^:]*$"

여기서 N은 관심 있는 포트 번호입니다.

-n모든 포트가 숫자로 표시됩니다. 즉, 서비스 이름으로 변환된 대로 반환되지 않습니다.

-a모든 연결(TCP, UDP, 수신...)을 검색합니다.

에서findstring: 콜론을 포트 한정자로 포함해야 합니다. 그렇지 않으면 번호가 로컬 또는 외부 주소와 일치할 수 있습니다.

필요에 따라 다른 netstat 스위치를 사용하여 검색 범위를 더 좁힐 수 있습니다.

추가 판독(^0^)

netstat /?

find /?

findstr /?
netstat -a -n | find /c "10.240.199.9:8080"

특정 IP 및 포트(서버 포트 번호)에서 활성화된 소켓 수를 제공합니다.

특정 IP의 모든 활성 소켓을 제공합니다.

netstat -an | find "172.20.1.166"

@EndUzr의 응답을 개선하기 위해:

외부 포트(IPv4 또는 IPv6)를 찾으려면 다음을 사용할 수 있습니다.

netstat -an | findstr /r /c:":N [^:]*$"

로컬 포트(IPv4 또는 IPv6)를 찾으려면 다음을 사용합니다.

netstat -an | findstr /r /c:":N *[^ ]*:[^ ]* "

여기서 N은 관심 있는 포트 번호입니다."/r" 스위치는 regexp로 처리하도록 지시합니다."/c" 스위치를 사용하면 findstr은 공백을 검색 문자열 구분 기호로 처리하는 대신 검색 문자열 내에 공백을 포함할 수 있습니다.이렇게 공간이 추가되면 ":80" 대 ":8080" 및 기타 포트 멍 문제와 같은 더 긴 포트가 잘못 처리되는 것을 방지할 수 있습니다.

로컬 RDP 서버에 대한 원격 연결을 나열하려면 다음과 같이 하십시오.

netstat -an | findstr /r /c:":3389 *[^ ]*:[^ ]*"

또는 DNS를 터치하는 사용자를 확인하려면:

netstat -an | findstr /r /c:":53 *[^ ]*:[^ ]*"

로컬 전용 포트를 제외하려면 "/v"와 함께 예외를 사용하고 백슬래시와 함께 이스케이프 문자를 사용할 수 있습니다.

netstat -an | findstr /v "0.0.0.0 127.0.0.1 \[::\] \[::1\] \*\:\*" | findstr /r /c:":80 *[^ ]*:[^ ]*"

Windows 8 사용자: 명령 프롬프트 열기에 대해 netstat -an | find "your port number"를 입력하고 입력합니다.

LISTENING과 같은 응답이 오면 포트가 사용 중이고, 그렇지 않으면 무료입니다.

이것은 당신에게 도움이 될 것입니다.

netstat -atn | grep <port no>          # For tcp
netstat -aun | grep <port no>           # For udp
netstat -atun | grep <port no>          # For both

포트 80의 경우 명령은 다음과 같습니다. netstat - an | find "80" 포트 n의 경우 명령은 다음과 같습니다. netstat - an | find "n"

여기서, netstat는 당신의 기계에 대한 지침입니다.

-a : 모든 연결 및 수신 포트 표시 -n : 모든 주소와 명령을 숫자 형식으로 표시합니다(-a의 출력에 기계 이름이 포함될 수 있으므로 이는 필수).

그런 다음 find 명령을 사용하여 이전 명령의 출력을 "패턴 일치"합니다.

RHEL 7에서는 다음 명령을 사용하여 LISTEN 상태의 여러 포트를 필터링합니다.

sudo netstat -tulpn | grep LISTEN | egrep '(8080 |8082 |8083 | etc )'

Linux에서: 외부 포트를 찾으려면 다음을 사용합니다.

netstat - anp | grep 포트 | '{ print $5}' | grep 포트

로컬 포트를 찾으려면 다음을 사용합니다.

netstat - anp | grep 포트 | '{ print $4}' | grep 포트

정확히 일치하는 경우 [윈도우즈 명령 프롬프트]

netstat -aon | findstr "\<5000\>"

여러 포트를 확인해야 하는 경우 검색을 위해 여러 문자열이 있는 findstr을 사용하는 가장 간단한 방법입니다.

findstr /C:":80 " /C:":443 " /C:":8080"

포트 번호 뒤의 공백은 중요하며 공백 findstr":80"에서 시작하는 모든 항목을 선택합니다.이 경우 전체 명령은 다음과 같습니다.

netstat -an | findstr /C:":80 " /C:":443 " /C:":8080"

lsof -i tcp:port # 명령어 "lsof -i tcp:port #"를 사용하십시오. 여기 예가 있습니다.

$ lsof -i tcp:1555 
COMMAND   PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
java    27330 john  121u  IPv4 36028819      0t0  TCP 10.10.10.1:58615->10.10.10.10:livelan (ESTABLISHED)
java    27330 john  201u  IPv4 36018833      0t0  TCP 10.10.10.1:58586->10.10.10.10:livelan (ESTABLISHED)
java    27330 john  264u  IPv4 36020018      0t0  TCP 10.10.10.1:58598->10.10.10.10:livelan (ESTABLISHED)
java    27330 john  312u  IPv4 36058194      0t0  TCP 10.10.10.1:58826->10.10.10.10:livelan (ESTABLISHED)

이 명령은 모든 포트와 대상 주소를 표시합니다.

netstat -f 

언급URL : https://stackoverflow.com/questions/12010631/command-line-for-looking-at-specific-port