내 컴퓨터에서 어떤 포트가 적극적으로 수신 대기(사용 중?)하는지 이해하려고 노력하고 있지만 실제로 무엇을 하고 있는지는 모릅니다. 내가 시도한 세 가지 명령은 nmap
( ss
? netscan
?) 및 입니다 lsof
.
netscan
1개의 포트만 활성 수신 중임을 보고합니다(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:xx
631과 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을 사용하거나누구나최종적으로는 포트 443을 사용합니다.
따라서 요점은 이 3개의 명령이 서로 다른 것을 표시한다는 것입니다. 왜냐하면 이 명령이 동일한 정보를 표시한다는 귀하의 생각이 잘못되었기 때문입니다. 다음은 사과, 오렌지, 바나나를 비교한 것입니다. 3개의 다른 명령은 서로 다른 정보를 표시하기 때문에 서로 다른 정보를 표시합니다.