如何使用 netstat 查找开放端口?

如何使用 netstat 查找开放端口?

当我执行 a 时netstat -tuln,我得到以下输出

Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:9390            0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp6       0      0 ::1:25                  :::*                    LISTEN
tcp6       0      0 :::4444                 :::*                    LISTEN
tcp6       0      0 :::22                   :::*                    LISTEN

我懂了22, 25, 4444, 63799390端口。其中有多少正在监听外部机器?

Local Address上面的结果告诉我们什么?127.0.0.1是 localhost,那么它只能从机器本身访问吗?是否0.0.0.0意味着它可以从任何接口访问?

我只是想找到哪些端口可以从远程机器访问,例如nmap -p-从外部机器,它只返回22港口

Not shown: 65534 filtered ports
PORT   STATE SERVICE
22/tcp open  ssh

nmap如何从 netstat/ss 获取此类信息?我基本上想找到无需使用外部机器即可监听其他机器的端口。

答案1

上述结果中的本地地址告诉我们什么?127.0.0.1 是本地主机,那么它只能从机器本身访问吗?0.0.0.0 是否意味着它可以从任何接口访问?

您的假设是正确的。0.0.0.0 基本上意味着您机器上的任何 IP 地址 = 所有配置的网络接口。127.0.0.1 = 环回接口。

我只是想找到哪些端口可以从远程机器访问,例如,从外部机器执行 nmap -p- 操作,它只返回 22 端口

默认情况下,nmap 仅扫描 1000 个最常用的端口。添加以下内容:-p 0-65535或:-p-。然后它应该会检测到端口 9390 也处于打开状态。

相关内容