포트란 무엇인가요? 잘 알려진 서비스에서 사용되는 포트를 나열하시겠습니까?
컴퓨터 "포트"는 포트를 영어로 번역한 것으로 컴퓨터와 외부 세계 사이의 통신을 위한 출구라고 볼 수 있습니다. 그 중 하드웨어 분야의 포트는 USB 포트, 직렬 포트 등과 같이 인터페이스라고도 합니다. 소프트웨어 분야의 포트는 일반적으로 연결 서비스와 비연결 서비스를 위한 네트워크의 통신 프로토콜 포트를 의미하며 일부 데이터 구조와 I/O(기본 입력 및 출력) 버퍼를 포함하는 추상적인 소프트웨어 구조입니다.
먼저 연결 지향 및 비연결 프로토콜을 이해할 수 있습니다.
연결 지향 서비스의 주요 특징은 다음과 같습니다. 연결 지향 서비스는 데이터 전송 전의 세 단계를 거칩니다. 연결이 설정된 후
데이터가 전송된 후 연결이 해제됩니다. 연결 지향 서비스는 데이터 전송 순서와 전송 신뢰성을 보장할 수 있습니다.
비연결 서비스의 특징은 다음과 같습니다. 비연결 서비스에는 데이터 전송 단계만 있습니다. 데이터 통신 이외의 오버헤드를 제거합니다. 보내는
엔티티가 활성화되어 있는 한 수신 엔터티도 활성화될 필요는 없습니다. 유연하고 편리하며 빠르다는 장점이 있으며 특히 소수의 산발적인 메시지를 전송하는 데 적합합니다. 그러나 비연결형 서비스는 메시지의 손실, 중복 또는 혼란을 방지할 수 없습니다.
'연결 지향 서비스'와 '무연결 서비스'의 개념을 구별하세요. 특히 간단하고 생생한 예는 전화 걸기와 편지 쓰기입니다. 두 사람이 전화 통화를 하려면 먼저 연결을 설정해야 합니다. 즉, 번호로 전화를 걸고 서로에게 정보를 전송하기 전에 응답을 기다린 다음 마지막으로 연결을 해제하고 전화를 끊어야 합니다.
편지를 쓰는 것은 그다지 복잡하지 않습니다. 주소와 이름을 입력한 후 우편함에 넣으면 받는 사람이 받게 됩니다. TCP/IP 프로토콜은 네트워크 계층에서 비연결입니다(데이터 패킷은 인터넷으로만 전송되며, 어떻게 전송되고 도착하는지, 도착 여부는 네트워크 장비에서 관리됩니다). "포트"는 전송 계층의 내용이며 연결 지향적입니다. 프로토콜에서 1024 미만의 포트는 정확한 정의를 가지며 인터넷의 일부 일반적인 서비스에 해당합니다.
이러한 일반적인 서비스는 TCP 포트를 사용하는 방식(전화 통화 등 연결 방식)과 UDP 포트를 사용하는 방식(편지 쓰기 등 비연결 방식)으로 나눌 수 있습니다.
이름을 지정하고 주소를 지정할 수 있는 네트워크의 통신 포트는 운영 체제에서 할당할 수 있는 리소스입니다. 네트워크 OSI(Open System Interconnection Reference Model) 7계층 프로토콜에 따르면 전송 계층과 네트워크 계층의 가장 큰 차이점은 전송 계층이 프로세스 통신 기능을 제공한다는 점입니다. 네트워크 통신의 최종 주소에는 호스트 주소만이 포함되지 않습니다. , 프로세스를 설명하는 일종의 식별자이기도 합니다. 따라서
TCP/IP 프로토콜에서 제안하는 프로토콜 포트는 네트워크 통신 프로세스의 식별자로 간주될 수 있다.
애플리케이션(일반적으로 호출: 메모리에 로드된 후 프로세스라고 함)이 시스템 호출을 통해 특정 포트와 연결(바인딩, 바인딩)을 설정한 후
전송 계층 해당 프로세스가 데이터를 수신하고, 해당 프로세스가 전송 계층으로 보낸 데이터가 이 포트에서 출력됩니다.
TCP/IP 프로토콜 구현에서 포트 작업은 일반 I/O 작업과 유사합니다. 프로세스를 통해 포트를 얻는 것은 로컬 및 고유한
I/를 얻는 것과 같습니다. O 파일. 파일 설명자와 유사하게 일반적인 읽기 및 쓰기 방법을 사용하여 액세스할 수 있습니다. 각 포트에는 서로 다른 포트를 구별하는 데 사용되는 포트 번호라는 정수 설명자가 있습니다. TCP/IP 전송 계층의 TCP 및 UDP 프로토콜은 완전히 독립적인 두 개의 소프트웨어 모듈이므로 해당 포트 번호도 서로 독립적입니다. 예를 들어 TCP의 포트 번호는 255이고 UDP의 포트 번호는 255일 수도 있습니다. 둘 사이에는 충돌이 없습니다.
포트 번호에는 두 가지 기본 할당 방법이 있습니다. 첫 번째는 글로벌 할당이라고 하며, 이는 인정되고 권위 있는 중앙 기관이 사용자 요구에 따라 통합하는 중앙 집중식 할당 방법입니다. 두 번째 유형은 동적 연결이라고도 알려진 로컬 할당입니다. 즉, 프로세스가 전송 계층 서비스에 액세스해야 할 때 로컬 운영 체제에 적용되고 운영 체제는 로컬 고유 포트 번호를 반환합니다. 그런 다음 프로세스는 적절한 시스템을 호출하여
자신을 포트에 연결합니다(바인딩, 바인딩). TCP/IP 포트 번호 할당은 위의 두 가지 방법을 결합한 것으로, 포트 번호를 두 부분으로 나누어 소량의 예비 포트를 사용하여 전역적으로 서비스 프로세스에 할당합니다. 각 표준 서버에는 공용 포트라고 하는 전역적으로 인식되는 포트가 있습니다. 다른 시스템에서도 포트 번호는 동일합니다. 나머지 포트는 사용 가능한 포트이며 로컬로 할당됩니다.
TCP와 UDP에서는 256보다 작은 포트는 예약된 포트로 사용할 수 있다고 규정하고 있습니다.
포트 번호는 세 가지 범주로 나눌 수 있습니다:
(1) 잘 알려진 포트: 0부터 1023까지, 일부 서비스와 밀접하게 연결되어 있습니다. 일반적으로 이러한 포트의 통신은 특정 서비스의 프로토콜을 명확하게 나타냅니다. 예: 포트 80은 실제로 항상 HTTP 통신입니다.
(2) 등록된 포트: 1024에서 49151까지. 일부 서비스와 느슨하게 연결되어 있습니다. 이는
이 포트에 바인딩된 많은 서비스가 있으며 다른 많은 목적으로도 사용된다는 것을 의미합니다. 예를 들어 많은 시스템이 1024 주변에서 시작하는 동적 포트를 처리합니다.
(3) 동적 및/또는 개인 포트: 49152에서 65535까지. 이론적으로 이러한 포트는
서비스에 할당되어서는 안 됩니다. 실제로 컴퓨터에는 일반적으로 1024부터 시작하는 동적 포트가 할당됩니다. 그러나 예외도 있습니다. SUN의 RPC 포트는 32768부터 시작됩니다.
시스템 관리자는 포트를 "리디렉션"할 수 있습니다.
일반적인 기술은 포트를 다른 주소로 리디렉션하는 것입니다. 예를 들어 기본 HTTP 포트는 80인데 많은 사람들이 이를 8080과 같은 다른 포트로 리디렉션합니다. 이것이 변경된 경우 이 기사에 액세스하려면 이 주소(
:8080)를 사용해야 합니다.
포트 취약점: 포트 8080은 다양한 바이러스 프로그램에 의해 악용될 수 있습니다. 예를 들어 브라운 오리피스(BrO) 트로이 목마 바이러스는 포트 8080을 사용하여 감염된 컴퓨터를 완전히 제어할 수 있습니다. 또한 RemoConChubo 및 RingZero 트로이 목마도 이 포트를 사용하여 공격할 수 있습니다.
작동 제안: 일반적으로 웹 탐색에는 포트 80을 사용합니다. 바이러스 공격을 방지하기 위해 이 포트를 닫을 수 있습니다.
포트: 21
서비스: FTP
설명: FTP 서버에서 열린 포트는 업로드 및 다운로드에 사용됩니다. 가장 일반적인 공격자는 익명 FTP 서버를 여는 방법을 찾는 데 사용합니다. 이러한 서버에는 읽고 쓸 수 있는 디렉터리가 함께 제공됩니다. Doly Trojan, Fore, Invisible FTP, WebEx, WinCrash 및 Blade Runner에 의해 열린 포트.
포트: 22
서비스: Ssh
설명: PcAnywhere에서 설정한 TCP 연결과 이 포트는 SSH를 찾기 위한 것일 수 있습니다. 이 서비스에는 많은 약점이 있습니다. 특정 모드로 구성하면 RSAREF 라이브러리를 사용하는 많은 버전에 많은 취약점이 있습니다.
포트: 23
서비스: Telnet
설명: 원격 로그인, 침입자는 원격 로그인 UNIX 서비스를 검색하고 있습니다. 대부분의 경우 이 포트는 컴퓨터가 실행 중인 운영 체제를 찾기 위해 검색됩니다. 침입자가 비밀번호를 알아낼 수 있는 다른 기술도 있습니다.
Trojan Tiny Telnet Server는 이 포트를 엽니다.
포트: 25
서비스: SMTP
설명: SMTP 서버가 열어둔 포트는 이메일을 보내는 데 사용됩니다. 침입자는 스팸을 전달하기 위해 SMTP 서버를 찾습니다. 침입자의 계정은 폐쇄되었으며 간단한 메시지를 다른 주소로 전달하려면 고대역폭 E-MAIL 서버에 연결해야 합니다. Trojans Antigen, Email Password Sender, Haebu Coceda, Shtrilitz Stealth, WinPC 및 WinSpy는 모두 이 포트를 엽니다.
포트: 80
서비스: HTTP
설명: 웹 탐색에 사용됩니다. Trojan Executor가 이 포트를 엽니다.
포트: 102
서비스: TCP/IP를 통한 메시지 전송 에이전트(MTA)-X.400
설명: 메시지 전송 에이전트.
포트: 109
서비스: Post Office Protocol -Version3
설명: POP3 서버는 메일 수신을 위해 이 포트를 열고 클라이언트는 다음의 메일에 액세스합니다. 서버 측 서브. POP3 서비스에는 알려진 약점이 많이 있습니다. 사용자 이름 및 비밀번호 교환 버퍼 오버플로와 관련된 취약점이 최소 20개 있습니다. 이는 침입자가 실제로 로그인하기 전에 시스템에 들어갈 수 있음을 의미합니다. 로그인 성공 후 다른 버퍼 오버플로 오류가 발생했습니다.
포트: 110
서비스: SUN RPC 서비스의 모든 포트
참고: 일반적인 RPC 서비스에는 rpc.mountd, NFS, rpc.statd, rpc가 포함됩니다. csmd, rpc.ttybd, amd 등
포트: 119
서비스: 네트워크 뉴스 전송 프로토콜
설명: USENET을 전달하는 NEWS 뉴스 그룹 전송 프로토콜 의사소통 . 이 포트는 일반적으로 사람들이 연결할 USENET 서버를 찾는 곳입니다. 대부분의 ISP는 뉴스 그룹 서버에 대한 액세스를 고객에게만 제한합니다. 뉴스 그룹 서버를 열면 누구나 메시지를 게시/읽고, 제한된 뉴스 그룹 서버에 액세스하고, 익명으로 게시하고, 스팸 메시지를 보낼 수 있습니다.
포트: 135
서비스: 위치 서비스
설명: Microsoft는 DCOM 서비스를 위해 이 포트에서 DCE RPC 끝점 매퍼를 실행합니다. 이는 UNIX 포트 111의 기능과 매우 유사합니다. DCOM 및 RPC를 사용하는 서비스는 컴퓨터의 끝점 매퍼에 해당 위치를 등록합니다. 원격 클라이언트가 컴퓨터에 연결되면 서비스 위치를 찾기 위해 끝점 매퍼를 찾습니다. HACKER가 이 컴퓨터에서 실행 중인 Exchange Server를 찾기 위해 컴퓨터의 이 포트를 검색하고 있습니까? 어떤 버전인가요? 이 포트를 직접 대상으로 하는 DOS 공격도 있습니다.
포트: 137, 138, 139
서비스: NETBIOS 네임 서비스
설명: 137, 138은 UDP 포트이며, 네트워크 환경을 통해 파일을 전송할 때 사용하세요. 포트. 포트 139: 이 포트를 통해 들어오는 연결은 NetBIOS/SMB 서비스를 얻으려고 시도합니다. 이 프로토콜은 Windows 파일 및 프린터 공유와 SAMBA에 사용됩니다. WINS 등록에서도 이를 사용합니다.
포트: 161
서비스: SNMP
설명: SNMP는 장치의 원격 관리를 허용합니다. 모든 구성 및 운영 정보는 데이터베이스에 저장되며 SNMP를 통해 사용할 수 있습니다. 많은 관리자 구성 오류가 인터넷에 노출됩니다. Cackers는 기본 비밀번호인 공개 및 비공개를 사용하여 시스템에 액세스하려고 시도합니다. 그들은 가능한 모든 조합을 실험해 볼 수 있습니다.
SNMP 패킷이 사용자 네트워크로 잘못 전달될 수 있습니다.
포트란 무엇입니까?
포트가 무엇인지 이야기하기 전에 먼저 포트가 무엇인지부터 이야기해볼까요? 인터넷에서 "내 호스트에 포트가 몇개나 열려있나? 침입당할까?"라는 말을 자주 듣습니다. ? ” 또는 “어느 항구를 여는 것이 더 안전할까요?” 또한 내 서비스는 어떤 포트에 대응해야 합니까? ? "헤헤! 정말 놀랍습니다! 한 호스트에 왜 이렇게 이상한 포트가 많나요? 이 포트의 역할은 무엇인가요? !
각 네트워크의 서비스 기능이 다르기 때문에 처리를 위해 서로 다른 패킷을 서로 다른 서비스로 보내야 합니다. 따라서 호스트에서 FTP와 WWW 서비스를 모두 활성화하면 다른 사람이 보낸 데이터 패킷이 전송됩니다. 물론 TCP의 포트 번호에 따라 FTP 서비스 또는 WWW 서비스에 의해 처리됩니다. (참고: 헤헤! 인터넷에 거의 액세스할 수 없는 일부 친구들은 종종 다음과 같이 묻습니다. "야! 당신의 컴퓨터에는 왜 FTP, WWW, E-Mail과 같은 많은 서비스가 동시에 있지만, 언제 컴퓨터가 이를 어떻게 알 수 있습니까? 누군가 정보를 전송하는 방법은 무엇입니까? 포트가 다르기 때문입니다. 어느 날 돈을 입금하기 위해 은행에 가면 "호스트"라고 생각할 수 있습니다. 내부에는 창문이 꽤 많이 있습니다. 그래서 문에 들어서면 문 앞에 있는 서비스 직원이 "안녕하세요! 알겠습니다! 무엇을 하시겠습니까? "라고 묻습니다. 돈을 절약하려면!" 그러면 웨이터가 이렇게 말할 것입니다. "그럼 3번 창구로 가셔서 도와주세요!" 지금은 다른 창구로 달려가면 안 되겠죠? ""이 창들은 "포트"라고 생각할 수 있습니다. "! 그러니 컴퓨터가 모니터링되고 있으니 걱정하지 않으셔도 됩니다! 오판의 문제가 됩니다! )
·각 TCP 연결은 한쪽 끝(보통 클라이언트)에서 시작되어야 합니다. 이 포트 일반적으로 1024보다 큰 포트 번호를 수행하기 위해 무작위로 선택됩니다! TCP 패킷은 SYN 플래그를 설정합니다! 이것은 전체 연결의 첫 번째 패킷입니다.
· 상대방(일반적으로 서버)이 이 요청을 수락하는 경우(물론 FTP 포트 21과 같은 특수 포트에서 특수 서비스가 수행되어야 합니다) , 전체 연결의 두 번째 패킷이 요청 측으로 다시 전송됩니다! SYN 플래그 외에도 ACK 플래그도 설정되고 동시에 로컬 측에서 연결 요구를 기다리는 리소스가 생성됩니다.
· 그런 다음 요청 측에서는 서버의 첫 번째 After를 얻습니다. 응답 패킷인 경우에는 확인 패킷으로 상대방에게 응답해야 합니다. 이때 패킷은 ACK 플래그만 전달합니다(사실 후속 연결의 모든 패킷은 ACK 플래그를 전달해야 합니다). · 서버가 요청 측으로부터 승인(ACK) 패킷(즉, 전체 연결의 세 번째 패킷)을 수신해야만 양 끝 사이의 연결이 공식적으로 설정될 수 있습니다. 이것이 소위 TCP 연결의 '3방향 핸드셰이크' 원리입니다.
삼자 악수를 마치고, 하하! 클라이언트 측 포트는 일반적으로 1024보다 높은 임의로 얻은 포트입니다. 호스트 측의 경우 해당 시간에 서비스가 열려 있는 포트에 따라 다릅니다. 예를 들어 WWW는 80을 선택하고 FTP는 21을 일반 연결 채널로 사용합니다. !
간단히 말하면, 여기서 말하는 포트는 컴퓨터 하드웨어의 I/O 포트가 아니라, 도구에서 제공하는 서비스 종류에 따라 소프트웨어 형태의 개념입니다. 두 가지 유형으로 나뉘는데 하나는 TCP 포트이고 다른 하나는 UDP 포트입니다. 컴퓨터가 서로 통신할 때 두 가지 방법이 있습니다. 하나는 정보를 보낸 후 정보가 도착했는지 확인하는 것입니다. 즉, 이 방법은 주로 TCP 프로토콜을 사용하고, 다른 하나는 이를 무시하는 것입니다. , 정보 도착 여부를 확인하지 않고 보내는 방법은 대부분 UDP 프로토콜을 사용합니다.
이 두 프로토콜에 해당하는 서비스에서 제공하는 포트는 TCP 포트와 UDP 포트로 구분됩니다.
그런 다음 공격자가 소프트웨어를 사용하여 대상 컴퓨터를 검사하고 대상 컴퓨터에서 열린 포트를 획득하면 대상 컴퓨터가 어떤 서비스를 제공하는지 알 수 있습니다. 서비스를 제공하려면 서비스 소프트웨어에 취약점이 있어야 한다는 사실을 우리는 모두 알고 있습니다. 이를 기반으로 공격자는 대상 컴퓨터에 대한 사전 이해를 얻을 수 있습니다. 컴퓨터에 너무 많은 포트가 열려 있고 관리자가 이에 대해 알지 못하는 경우 두 가지 상황이 있습니다. 하나는 서비스가 제공되지만 관리자가 주의를 기울이지 않는 것입니다. 예를 들어 IIS를 설치할 때 소프트웨어가 자동으로 많은 포트를 추가합니다. 관리자는 이를 눈치채지 못할 수도 있습니다. 하나는 공격자가 트로이 목마를 사용하여 서버를 설치하고 특수 포트를 통해 통신한다는 것입니다. 두 상황 모두 매우 위험합니다. 최종 분석에서 관리자는 서버가 제공하는 서비스를 이해하지 못하므로 시스템 보안 요소가 감소합니다.