如何查找linux中开放的端口数量?

如何查找linux中开放的端口数量?

如何查找 Linux 中开放端口的数量?我想查看端口是否用完。另外,如何查看操作系统的限制?

答案1

在现代 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        

答案2

netstat -an | grep ESTABLISHED | wc -l

将为您提供开放端口的数量,在我的情况下是 32 个。

cat /proc/sys/net/ipv4/ip_local_port_range

将会返回类似这样的内容:

32768 61000

这意味着,61000 - 32768 - $OPENPORTS = AvailablePorts

在我的盒子上,那是:

61000-32768-32 = 28200 个可用端口号。

答案3

正如其他人提到的,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>"

答案4

尝试

# lsof -n -i -P 

为了完整起见:)

相关内容