[server] 리눅스에서 열린 포트 수를 찾는 방법은 무엇입니까?

리눅스에서 열린 포트 수를 찾는 방법은 무엇입니까? 포트가 부족한지 확인하고 싶습니다. 또한 OS의 한계를 어떻게 알 수 있습니까?



답변

최신 Linux에서는 ss (소켓 통계) 유틸리티를 사용하십시오.

$ ss -s
Total: 10160 (kernel 10262)
TCP:   10349 (estab 8886, closed 408, orphaned 0, synrecv 0, timewait 393/0), ports 3147

Transport Total     IP        IPv6
*         10262     -         -
RAW       0         0         0
UDP       5         5         0
TCP       9941      9941      0
INET      9946      9946      0
FRAG      0         0         0


답변

netstat -an | grep ESTABLISHED | wc -l

내 경우에는 32 개의 열린 포트 수를 제공합니다.

cat /proc/sys/net/ipv4/ip_local_port_range

다음과 같은 것을 반환합니다 :

32768 61000

61000-32768-$ OPENPORTS = 사용 가능한 포트

내 상자에는

61000-32768-32 = 28200 사용 가능한 포트 번호.


답변

다른 사람들이 언급했듯이 netstat는 현재 사용중인 포트를 확인하는 데 사용되는 도구입니다. 한계와 관련하여 사용 가능한 포트 수는 16 비트 부호없는 정수이며 범위는 0-65535입니다. 응용 프로그램이 바인딩 할 수있는 포트는 예약 된 권한있는 포트 / 루트 포트 (0-1024)와 임시 포트 범위에 포함되지 않은 모든 포트입니다.

을 실행하여 임시 포트를 볼 수 있습니다 cat /proc/sys/net/ipv4/ip_local_port_range.

이를 영구적으로 수정하려면 /etc/sysctl.conf 파일에서 “net.ipv4.ip_local_port_range”를 추가하거나 수정해야합니다. sysctl -n net.ipv4.ip_local_port_range="<start_port> <end_port>"


답변

개인적으로 저는 nmap을 선호합니다. nmap -P 1-65535 대상을 실행하여 모든 포트의 상태를 찾을 수 있습니다. 대부분의 배포판은 패키지 관리자를 통해이 패키지를 사용할 수 있어야합니다.


답변

시험

# lsof -n -i -P

완전성을 위해 🙂


답변

netstat를 사용하면 열려있는 포트를 확인하고 “netstat-“를 수행하여 가장 적합한 포트를 확인하십시오.


답변

‘nmap localhost’는 열려있는 모든 포트와 서비스를 제공합니다.