当我执行 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, 6379和9390端口。其中有多少正在监听外部机器?
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 也处于打开状态。