docker - docker ps显示的端口与nmap不同

标签 docker ports nmap

docker ps表示转发了三个端口:

CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS              PORTS                                                      NAMES
06584d4ad44e        quay.io/coreos/etcd:v3.1.8   "etcd -name etcd01..."   2 days ago          Up 3 minutes        0.0.0.0:2379-2380->2379-2380/tcp, 0.0.0.0:4001->4001/tcp   etcd01

但是nmap -sT 127.0.0.1只能找到4001:
Starting Nmap 7.40 ( https://nmap.org ) at 2017-06-13 00:06 CEST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0011s latency).
Not shown: 969 closed ports, 30 filtered ports
PORT     STATE SERVICE
4001/tcp open  newoak

怎么会?我可以验证端口是否以其他方式存在吗?

最佳答案

nmap 默认情况下不扫描所有端口。
如您所见,它仅扫描了1000个端口:969(关闭)+ 30(已过滤)+1(打开)。
要真正扫描所有端口,应指定使用-p选项,如下所示:-p1-65535。不过,可能需要一些时间...定制选项以使其更快。您需要以root用户身份运行以进行TCP SYN扫描。默认的TCP连接速度较慢。
请勿在主机中使用 nmap 来知道打开了哪些端口。使用netstat -tunlp中的 netstat (不建议使用)或 ss (与 netstat 接受大多数相同的选项):ss -tunlp。这些选项是nmemonic的:

-t for TCP

-u for UDP

-n for numeric

-l for listening ports

-p for PID's

关于docker - docker ps显示的端口与nmap不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44509452/

相关文章:

php - docker PHP :fpm—install php extensions

python - 将 Nmap 子进程中的数据直接存储到列表中

python - 如何找出某个地址范围内有多少客户端?

iphone - 如何检测网络上的 iPhone?

docker - 无法在 docker 容器中通过 ssh 获取任何内容

Laravel Sail 在 Ubuntu 20.04 LTS 中无法正常工作

ubuntu - 在 Ubuntu 和 Nginx 中打开多个端口是否正确?

docker - 如果我们在entrypoint.sh 中引导应用程序,应用程序是否会以PID 1 运行并且会收到信号吗?

java - 无法启动 Glassfish Server 4.1.1 http 或 https 监听器端口在服务器未运行时被占用