2008-09-25 4 views
88

TCP/IP 포트에서 수신 대기하는 앱을 개발할 때 기본 포트를 어떻게 선택해야합니까? 이 응용 프로그램은 많은 컴퓨터에 설치되며 포트 충돌을 피하는 것이 바람직하다고 가정합니다.새 서비스를위한 기본 TCP/IP 포트를 선택하는 방법은 무엇입니까?

+0

의 두 숫자 대신 넣어 여기 : http://stackoverflow.com/questions/10476987/best-tcp-port-number-range-for-internal-applications – matt2000

답변

41

이동 here 및 설명과 함께 포트를 선택 Unassigned

+8

그가 100 세 미만의 항구를 선택 하시겠습니까? – mpen

+1

어느 것을 골라야합니까? – Owen

+0

모든 개발자가이 논리를 따르면 모든 새로운 서비스가 몇 개의 할당되지 않은 포트에 모이게됩니다. 할당 된 포트에서 서비스가 실행중인 확률과 할당되지 않은 포트는 무엇입니까? (미안 일부 영업 비밀을 노출하지 않으면 :) – hultqvist

26

첫 번째 단계 : IANA listing보고 :

당신이 목록

"동적 및/또는 개인의 꼬리에서 볼 수 포트는 49152에서 65535 사이의 값입니다. "

이렇게하면 더 나은 선택이 될 수 있지만, 한 번 선택하면 항상 인기있는 앱이 있는지 알아볼 수 있습니다. 모자는 이미 "claim"했다.

+4

하지만 동적 포트를 사용하면 간헐적 인 (드물지만) 포트 충돌이 발생하지 않을까요? 등록되지 않은 포트 또는 모호한 앱에 할당 된 등록 된 범위의 포트를 사용하는 것이 더 안전 할 수도 있습니다. –

+4

명시 적으로 포트 선택을 IANA에 등록하지 않으면, "UNASSIGNED"를 사용하여 동일한 충돌 확률을 실행합니다. 실제로 많은 사람들이 할당되지 않았기 때문에 아마 IMHO 일 가능성이 높습니다. – curtisk

+2

가능한 충돌을 처리하기 위해 사용자/관리자 구성 가능한 포트 옵션을 사용하여 항상 할당되지 않은 범위에서 시작하십시오. 응용 프로그램이 광범위하게 사용되는 경우에만 (비트 토런트 또는 다른 큰 사용법을 생각해보십시오.) 할당 된 포트를 실제로 신청해야합니다. 그렇지 않으면 지정된 범위를 벗어나지 마십시오. 이것이 엄격하게 내부/개인을위한 것이라면 다양한 서비스로 사용중인 포트를 문서화하면 사람들이 온라인 어딘가에서 그들을 볼 수있는 한 괜찮습니다. 비 라우트 IP와 비슷한 개인/동적 범위를 생각해보십시오. 작은/개인적인 용도로 완벽합니다. – jefflunt

0

자주 사용되는 포트 번호 here을 참조하고 다른 사람을 사용하지 않도록 할 수 있습니다.

"대중에게 공개"하면 자신의 시스템에서 포트를 여는 것이고 시스템 관리자와 어떤 일을하는지 쉽게 알 수 있습니다.

2

this list (위키 백과)의 포트는 사용하지 않는 것이 좋습니다.

하나만 선택하면 대중이 앱을 사용하면 포트 번호가 인식되어 해당 목록에 포함됩니다.

0

내가 nmap-services 알고 공식 IANA 포트 번호와 비공식 포트 번호의 가장 포괄적 인 목록이 아닙니다 verycommon

5

널리 사용에 의해, 당신은 미래에 그것을 사용하는 다른 사용자로부터 보호하려는 의미하는 경우, 당신은에서 할당되지 않은 하나를 선택 IANA here

1

하여 응용 프로그램을 위해 예약대로 표시하도록 적용 할 수 있습니다 대개 IANA 목록으로 충분하지만 상업적으로 출시 된 제품에 대해 이야기하는 경우 IANA에 신청하여 귀하에게 할당해야합니다. 이 작업을 수행하는 과정은 간단하지만 느립니다. 마지막으로 제가 한 명을 신청했을 때 일 년이 걸렸습니다.

1

널리 사용되기를 기대하는 응용 프로그램의 경우 here을 등록하여 다른 사람이 사용하지 않도록하십시오.

그렇지 않으면 사용하지 않은 것을 무작위로 선택하십시오.

동적 범위에서 하나를 사용하면 동적 포트 번호로 사용될 수 있으므로 사용하지 못할 수 있습니다.

0

가장 일반적인 데몬과 서버를 방해하지 않는 기본 포트를 선택하십시오. 또한 포트 번호가 일부 바이러스에 대한 공격 경로로 나열되지 않도록하십시오. 어떤 회사는 무엇이든 상관없이 그러한 포트를 차단하는 엄격한 정책을 가지고 있습니다. 마지막으로 포트 번호를 구성 할 수 있는지 확인하십시오.

2

다른 언급이 있으면 IANA를 확인하십시오.

그런 다음 로컬 시스템/etc/services를 점검하여 이미 사용중인 사용자 정의 포트가 있는지 확인하십시오.

그리고 하드 코딩하지 마십시오. 구성 할 수 있는지, 어쨌든, 어쨌든 - 다른 이유로 개발자가 자신의 현지화 된 빌드를 동시에 사용할 수 있기를 원하는지 확인하십시오.

+1

IATA? IANA를 말하는거야? – bortzmeyer