Por que nmap, ss (netscan?) e lsof fornecem resultados diferentes?

Por que nmap, ss (netscan?) e lsof fornecem resultados diferentes?

Estou tentando entender quais portas estão escutando ativamente (em uso?) Na minha máquina e não sei realmente o que estou fazendo. Os três comandos que experimentei são nmap, ss(? netscan?) e lsof.

netscanrelata que apenas 1 porta está escutando ativamente (631):

$ sudo nmap -sT  localhost
Starting Nmap 7.91 ( https://nmap.org ) at 2021-06-02 21:28 EDT
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000094s latency).
Not shown: 999 closed ports
PORT    STATE SERVICE
631/tcp open  ipp

ss( netscan??) relata que 2 portas estão em uso (631 e 53):

$ sudo ss -tulwn | grep LISTEN
tcp    LISTEN  0       4096     127.0.0.53%lo:53           0.0.0.0:*            
tcp    LISTEN  0       5            127.0.0.1:631          0.0.0.0:*            
tcp    LISTEN  0       5                [::1]:631             [::]:*       

Finalmente, se eu verificar portas individuais com lsof -i:xx, vejo resultados para 631 e 53, mas também para portas 80 e 443:

$ sudo lsof -i:80

COMMAND  PID       USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
firefox 3481 me   74u  IPv4  85172      0t0  TCP Machine:56024->lga25s63-in-f3.1e100.net:http (ESTABLISHED)

$ sudo lsof -i:443
COMMAND    PID       USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
skypeforl 2426 me   27u  IPv4  77133      0t0  TCP Machine:60396->13.83.65.43:https (ESTABLISHED)
skypeforl 2453 me   72u  IPv4  56536      0t0  TCP Machine:58945->40.86.187.166:https (ESTABLISHED)
firefox   3481 me   95u  IPv4  81375      0t0  TCP Machine:53788->104.16.249.249:https (ESTABLISHED)
firefox   3481 me  157u  IPv4  80283      0t0  TCP Machine:49080->lga34s15-in-f5.1e100.net:https (ESTABLISHED)
chrome-gn 3799 me   74u  IPv4  55080      0t0  TCP Machine:42196->server-52-85-61-100.ewr53.r.cloudfront.net:https (CLOSE_WAIT)
chrome-gn 3799 me   95u  IPv4  55072      0t0  TCP Machine:43998->104.16.248.249:https (CLOSE_WAIT)

Eu pensei que esses três comandos eram basicamente visões diferentes da mesma informação. Por que algumas portas são reveladas apenas por alguns desses comandos?

Responder1

Começando com a diferença entre sse nmap. Para a porta 53, o motivo é a diferença entre localhostos outros 16 milhões de endereços reservados para a máquina local. 127.0.0.1não é o mesmo que 127.0.0.53. ssestá reportando todas as portas da máquina local enquanto nmapse restringe ao endereço 127.0.0.1.

Quanto aos relatórios extras de lsof, procuramos algo muito diferente. Seus comandos sse nmapestão procurando por soquetes em LISTENestado, ou seja, aguardando conexões de entrada. Você lsofestá procurando por todos os soquetes, em particular, incluindo quaisquer conexões estabelecidas e conexões que foram desfeitas. Você está procurando por coisas ondequalquerend está usando a porta 80 ouqualquerend está usando a porta 443.

Portanto, a conclusão é que esses três comandos mostram coisas diferentes porque sua crença de que eles mostram as mesmas informações está incorreta. Esta é uma comparação de maçã com laranja e banana. 3 comandos diferentes mostram informações diferentes porque mostram informações diferentes.

informação relacionada