如何find在Linux的开放端口数量?

如何find在Linux的开放端口数量? 我想看看我是否用尽了端口。 另外,我如何看到我的操作系统的限制?

在现代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是用来确定当前正在使用什么端口的工具。 至于限制,可用端口的数量是一个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>"交互地添加/修改“net.ipv4.ip_local_port_range”。

 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可用端口号。

我个人更喜欢nmap。 您可以通过发布nmap -P 1-65535目标来查找所有端口的状态。 大多数发行版应该可以通过软件包pipe理器获得这个软件包。

尝试

 # lsof -n -i -P 

为了完整性:)

netstat将允许您查看哪些端口是开放的,请执行“netstat – ”来查看最适合您需求的内容。

'nmap localhost'会为你提供所有的开放端口和服务。

netstat -tulnp

下面列出了netstat程序的参数:

 * t - Show TCP * u - Show UDP * l - Show only listening processes (netstat can show both listening and all established connections, ie as a client too) * n - Do not resolve network IP address names or port numbers * p - Show the process name that is listening on the port 

在terminal上使用以下命令检查所有端口

 netstat -lntu 

要查看特定的端口状态,请使用以下命令

 netstat -an | grep ':6060' 

用您的特定端口号replace6060。