development

사용할 포트를 어떻게 결정합니까?

big-blog 2020. 11. 25. 08:11
반응형

사용할 포트를 어떻게 결정합니까?


그렇게 말할 규칙 이 없기 때문에 이것은 약간 주관적 입니다. 서버를 만들 때마다 "사용하기에 가장 좋은 포트는 무엇입니까?"라고 생각합니다. 나는 생각 대답은 "상관 오래 같이 사용자가 변경할 수있다." 그렇다면 다른 사람들은 기본 포트를 선택하는 방법을 어떻게 결정합니까? 개인적으로 HTTP와 관련된 경우 8000-something과 같은 것을 사용하는 것을 좋아하며 이것이 매우 일반적인 추세라는 것을 알았습니다. 하지만 8000이 이미 사용 중이라면 어떨까요? 8001을 사용 하시겠습니까? 약간 임시적인 것 같고 그럴 것 같습니다.

이 질문을 한 사람은 제가 처음이 아닙니다. IANA는 포트 번호 목록을 유지 관리합니다 . 할당되지 않은 범위 (48620-49150)로 이동합니다. 나는 우리가 정말로 이것을 사용해야한다고 생각하지만 왜 더 많은 프로그래머가 그렇게하지 않는가? 어떤 것을 사용할지 어떻게 결정합니까? 모두가 # 1에서 시작했다면 모두 48620을 사용하고있을 것입니다.


나는 당신이 가능한 한 당신의 질문에 거의 대답했다고 생각합니다. 당신이 말한 것 이상으로 여기에서 따를 수있는 엄격한 규칙은 없습니다. 그러나 일반적으로 :

  • IANA 목록을보고 사용하지 않는 포트를 선택하십시오.
  • 기억하기 쉬운 포트 번호를 선택하십시오.
  • 코드에서 포트 번호를 수정하지 마십시오. 일부 다른 제품은 사용자와 동일한 포트를 선택했을 수 있으며 서버에서 공존해야하는시기를 알 수 없으므로 필요한 경우 다시 컴파일하지 않고도 변경할 수 있도록 구성 파일에 포트 번호를 어딘가에 넣으십시오. 포트 번호를 변경하는 기능은 방화벽을 재구성하지 않고도 방화벽을 통과하는 데 도움이 될 수 있습니다. (구성 파일이없는 경우 항상 선택한 값을 기본값으로 사용할 수 있습니다.)
  • 임시 포트에 사용되는 범위와 충돌 할 수 있으므로 너무 높은 것을 선택하고 싶지 않다는 주장이 있습니다 . 이것에 맞을 것 같지는 않지만, 그것이 발생했을 때 디버깅하는 것은 어려운 문제입니다.

(그리고 기억에 남는 포트 번호를 고르기위한 팁을 원한다면 동료의 내선 전화 번호를 기반으로 포트 번호를 기억하는 사람과 함께 일한 적이 있습니다.)


기억하기 쉽고 적절하게 엉뚱한 할당되지 않은 (IAA 당) 포트 :

27182 (e)

31415 (pi)

60221 (아바 가드 로스)


테스트 중 ... 항상 포트 # 666;)


자신의 질문에 대답 했습니까? 할당되지 않은 포트를 선택하고 사용자가 변경할 수 있도록합니다.


어때 :

defaultPort = (new Random()).Next(48620, 49150);

이 방법을 선호합니다 : (파이썬 코드 다음)

#!/usr/bin/env python3
import random as R
r = R.SystemRandom()
print([r.randrange(1024, 65535) for x in range(4)])

그리고 제가 가장 좋아하는 번호를 선택합니다. 또는 허용되는 숫자에 대해 더 엄격한 제한이있는 경우 범위를 변경하십시오.


명확한 지 확인하기 위해 빠른 Google 검색 후 일반적으로 몇 가지 개인적인 의미를 선택합니다.


다른 운영 체제 프로세스에 충돌하고 Ephemeral 포트를 할당 할 수 있으므로 5 자리와 같은 큰 숫자의 포트는 사용하지 않는 것이 좋습니다. 제한으로 인해 '이미 사용 중 오류'가 발생하기 시작합니다.

참고 URL : https://stackoverflow.com/questions/2200199/how-do-you-decide-what-port-to-use

반응형