netstat пропускает некоторые порты - PullRequest
0 голосов
/ 17 марта 2019
$ nmap localhost

Starting Nmap 6.40 ( http://nmap.org ) at 2019-02-12 12:59 +00
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0027s latency).
Other addresses for localhost (not scanned): 127.0.0.1
Not shown: 995 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
25/tcp  open  smtp
80/tcp  open  http
111/tcp open  rpcbind
443/tcp open  https

Nmap done: 1 IP address (1 host up) scanned in 0.23 seconds
$ sudo netstat -lnt 
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
tcp6       0      0 :::111                  :::*                    LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
tcp6       0      0 ::1:25                  :::*                    LISTEN     
$

Почему 80 и 443 не захвачены netstat?

ss также не сообщает об отсутствующих портах. Это найдено на коробке 7 центов. И 80, и 443 фактически открыты и работают, как выяснилось nmap - curl с другого хоста может получить данные как положено.

Особенность состоит в том, что 80 и 443 открываются док-контейнером, работающим на этом хосте (команды, чтобы быть понятными, запускались на хосте, а не в контейнере). Остальные 3 (22, 25, 111) являются не-докерскими локальными программами. Я предполагаю, что докер делает какое-то вуду, но я не смог найти ничего полезного.

...