window

#include <stdio.h>
#include <WinSock2.h>

#define PORT	7230
#define IP		"127.0.0.01"
#define MAXLINE	256

struct Msg {
	char data[MAXLINE];
	int length;
	int msgNum;
};

int main(int argc, char **argv) {
	WSADATA wsaData;
	SOCKET sockfd;
	struct sockaddr_in addr, recvAddr;
	int addrlen;
	int currentMsgNum = 0;
	struct Msg msg;

	if(WSAStartup(MAKEWORD(2,2), &wsaData) != 0) {
		return 1;
	}

	if((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) == INVALID_SOCKET) {
		return -1;
	}

	memset((void *)&addr, 0x00, sizeof(addr));
	addr.sin_family = AF_INET;
	addr.sin_addr.S_un.S_addr = inet_addr(IP);
	addr.sin_port = htons(PORT);

	while(1) {
		memset(msg.data, 0x00, MAXLINE);
		printf(">> ");
		scanf("%s", msg.data);
		msg.length = htonl(strlen(msg.data));
		msg.msgNum = htonl(currentMsgNum++);

		addrlen = sizeof(addr);
		sendto(sockfd, (char *)&msg, sizeof(msg), 0, 
			(struct sockaddr *)&addr, addrlen);

		memset(msg.data, 0x00, MAXLINE);
		recvfrom(sockfd, (char *)&msg, sizeof(msg), 0,
			(struct sockaddr *)&addr, &addrlen);
		printf("SERVER >> %s\n", msg.data);
	}

	closesocket(sockfd);
	WSACleanup();
	return 0;
}


unix

#include <stdio.h>
#include <sys/socket.h>
#include <sys/types.h>

#define PORT 7230
#define MAXLEN 256

struct Msg {
	char data[MAXLEN];
	int length;
	int msgNum;
};

int main(int argc, char **argv) {
	int sockfd;
	socklen_t addrlen;
	struct Msg msg;
	struct sockaddr_in addr, cliaddr;
	int currentNum = 0;

	if((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) == -1) {
		return 1;
	}

	memset((void *)&addr, 0x00, sizeof(addr));
	addr.sin_family = AF_INET;
	addr.sin_addr.s_addr = htonl(INADDR_ANY);
	addr.sin_port = htons(PORT);

	addrlen = sizeof(addr);
	if(bind(sockfd, (struct sockaddr *)&addr, addrlen) == -1) {
		return -1;
	}

	printf("running...\n");
	while(1) {
		addrlen = sizeof(cliaddr);
		recvfrom(sockfd, (char *)&msg, sizeof(msg), 0,
				(struct sockaddr *)&cliaddr, &addrlen);
		printf("client >> %s\n", msg.data);

		memset((void *)&msg, 0x00, sizeof(msg));
		printf(">> ");
		scanf("%s", msg.data);
		msg.length = htonl(strlen(msg.data));
		msg.msgNum = htonl(currentNum++);

		printf("%s %d %d \n", msg.data, msg.length, msg.msgNum);
		sendto(sockfd, (void *)&msg, sizeof(msg), 0,
				(struct sockaddr *)&cliaddr, addrlen);

	}
	return 1;
}


  • 3389 - mstsc(원격데스크톱)
    • 서버 관리자라면 보안 향상을 위해 다른 포트로 변경하는 것이 좋다.

0 ~ 1023 포트는 잘 알려진 포트(Well Known Ports)이고 1024 ~ 49151 포트는 등록된 포트(Registered Ports) 49152 ~ 65535 포트는 동적/개인적 포트(Dynamic and/or Private Ports)로 나뉘어 진다.


윈도우 사용중인 포트 확인하기

cmd -> netstat -ano


대부분의 포트 확인하기1, 2 


포트번호

TCP/UDP

서비스

설명

20

TCP

FTP

FTP 전송 포트

21

TCP

FTP

FTP 제어(명령) 포트

22

TCP

SSH

ssh scp, sftp 같은 프로토콜 및 포트 포워딩

23

TCP

Telnet

암호화되지 않은 텍스트 통신

25

TCP

SMTP

Simple Mail Transfer Protocol - 이메일 전송에 사용

37

TCP

TIME

37

UDP

TIME


42

TCP

NAME SERVER

호스트 네임 서버

49

UDP

TACACS

53

TCP

DNS

Domain Name System

53

UDP

DNS

67

UDP

DHCP

DHCP 서버

68

UDP

BOOTP

69

UDP

TFTP

Trivial File Transfer (인증없는 파일전송)

70

TCP

GOPHER

79

TCP

Finger

핑거

80

TCP

HTTP

World Wide Web HTTP

80

UDP

HTTP

World Wide web HTTP

88

TCP

Kerberos

kerberos 보안 규격

101

TCP

Host Name

NIC Host Name Server

107

TCP

rTelnet

Remote Telnet Service

109

TCP

POP2

Post Office Protocol version 2 - 전자우편 가져오기에 사용

110

TCP

POP3

Post Office Protocol version 3 - 메일 수신

113

TCP

ident

예전 서버 인증 시스템, 현재 IRC 서버에서 사용자 인증에 사용

119

TCP

NNTP

Network News Transfer Protocol - 뉴스 그룹 메시지 가져오기 사용

123

UDP

NTP

Network Time Protocol - 시간 동기화

137

TCP

NetBOIS-ns

 

138

TCP

NetBIOS-dgm

 

139

TCP

NetBIOS-ssn


143

TCP

IMAP4

인터넷 메시지 접근 프로토콜 4 - 이메일 가져오기에 사용

161

UDP

SNMP

Simple Network Management Protocol

177

TCP

XDMCP

원격 호스트 접속 포트

179

TCP

BGP

Border Gateway Protocol

194

TCP

IRC

Internet Relay Char

389

TCP

LDAP

Lightweight Directory Access Protocol

443

TCP

HTTPS

HTTP over SSL (암호화 전송)

445

TCP

Microsoft-DS

액티브 디렉터리, 윈도 공유, Sasser-worm, Agobot, Zobotworm

445

UDP

Microsoft-DS

SMB 파일 공유

465

TCP

514

UDP

syslog

시스템 로그 작성

515

TCP

LPD

프린터 스풀러

540

TCP

UUCP

Unix-to-Unix Copy Protocol

542

UDP

542

UDP

554

TCP

rtsp


587

TCP

SMTP

email message submission

593

TCP

RPC over HTTPS

Exchange Server

636

TCP

LDAPS

IDAP Protocol over TLS/SSL

666

TCP

873

TCP

rsync

파일 동기화 프로토콜

989

TCP

FTPS

FTP Protocol, Data, over TLS/SSL

993

TCP

IMAPS

IMAP4 Protocol over TLS/SSL

995

TCP

POP3S

POP3 Protocol over TLS/SSL

1521

TCP

Oracle

Oracle 

1935

TCP 

Wowza

동영상 스트리밍 서버

3306

TCP

MySQL

MySQL 서버

3389

TCP

TERMINAL

넷미팅 원격 데스크탑


참고1, 참고2, 참고3, 참고4



+ Recent posts