nmap, ss(netscan?) 및 lsof가 다른 결과를 제공하는 이유는 무엇입니까?

nmap, ss(netscan?) 및 lsof가 다른 결과를 제공하는 이유는 무엇입니까?

나는 내 컴퓨터에서 어느 포트가 적극적으로 수신 대기(사용 중?)하는지 이해하려고 노력하고 있지만 실제로 내가 무엇을 하고 있는지는 모릅니다. 제가 실험한 세 가지 명령은 nmap, ss(? netscan?) 및 입니다 lsof.

netscan1개의 포트만 활성 수신 중이라고 보고합니다(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?)는 2개의 포트가 사용 중이라고 보고합니다(631 & 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             [::]:*       

마지막으로 를 사용하여 개별 포트를 확인하면 lsof -i:xx631 및 53에 대한 결과는 물론 포트 80 및 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)

나는 이 세 가지 명령이 기본적으로 동일한 정보에 대한 다른 관점이라고 생각했습니다. 이러한 명령 중 일부에서만 일부 포트가 표시되는 이유는 무엇입니까?

답변1

ss와 의 차이부터 시작합니다 nmap. 포트 53의 경우 localhost로컬 시스템용으로 예약된 1,600만 개의 주소 간의 차이가 원인입니다 . 127.0.0.1와 동일하지 않습니다 127.0.0.53. 주소 127.0.0.1로 제한되는 ss동안 로컬 시스템의 모든 포트를 보고합니다 .nmap

의 추가 보고서에 따르면 lsof이는 매우 다른 것을 찾고 있습니다. 귀하 ss와 명령은 상태, 즉 들어오는 연결을 기다리는 nmap소켓을 찾고 있습니다 . LISTEN귀하는 lsof모든 소켓을 찾고 있습니다. 특히 여기에는 확립된 연결과 끊어진 연결이 포함됩니다. 당신은 물건을 찾고 있습니다어느 하나끝이 포트 80을 사용하고 있거나어느 하나end는 포트 443을 사용하고 있습니다.

핵심은 이 3가지 명령이 서로 다른 것을 보여준다는 것입니다. 왜냐하면 이것이 동일한 정보를 표시하고 있다는 믿음이 틀렸기 때문입니다. 이것은 사과와 오렌지, 바나나를 비교한 것입니다. 3개의 다른 명령은 서로 다른 정보를 표시하기 때문에 서로 다른 정보를 표시합니다.

관련 정보