매뉴얼에서는 -p 옵션을 사용하여 포트를 입력하도록 지시합니다. 사용하려고 하면 "연결 포트가 없습니다"라고 뜹니다. localhost에 연결 중입니다. 하지만 nc localhost 3000
대신 사용하면 연결이 완료됩니다 nc localhost -p 3000
. localhost에 연결할 때 다른가요? 아니면 설명서를 잘못 해석한 건가요?
답변1
연결에는 두 개의 끝점이 있습니다.
nc
로컬 끝점인 일부 로컬 주소 및 포트에 바인딩됩니다. 로컬 포트는 다음과 같습니다.자동 할당또는 특정 포트를 요청할 수 있으며 이것이 -p
바로 그 용도입니다. 당신은 그것을 사용할 수도 있고 그렇지 않을 수도 있습니다 -p
.
nc
원격 엔드포인트인 특정 주소와 포트에 연결해 보세요. nc host port
원격 주소와 포트를 지정합니다 . 원격 포트를 지정해야 합니다. 그렇지 않으면 도구가 연결할 위치를 알 수 없습니다(예 no port to connect
: ).
원격 측에서는 nc localhost -p 3000
에 있지만 localhost
이는 아무것도 변경하지 않습니다. 도구는 주소가 무엇인지 localhost
, 무엇인지 상관하지 않습니다. 주소를 알아야 합니다.그리고 항구에 연결되었습니다. 이는 필수입니다. 주소는 알려주었지만 연결할 포트는 알려주지 않았습니다(그래서 no port to connect
). 바인딩할 포트를 지정합니다. 이는 선택 사항입니다.
nc localhost 3000
연결할 위치를 정확하게 지정할 수 있습니다 . 아니요 -p
, 도구는 임의의(-ish) 포트에 바인딩됩니다. 도구가 제대로 작동하려면 이것으로 충분합니다.