다른 서버나 컴퓨터의 특정 포트로 통신 가능한지 확인하는 방법

서버를 운영하거나 네트워크 문제를 점검하다 보면 “상대 서버의 특정 포트로 접속이 되는지” 확인해야 할 때가 많습니다. 예를 들어 웹 서버의 80번, 443번 포트가 열려 있는지 확인하거나, DB 서버의 3306, 5432 포트로 접속 가능한지 확인해야 하는 경우가 있습니다. 또한 방화벽 정책을 변경한 뒤 실제로 통신이 가능한지 검증할 때도 포트 확인은 매우 중요합니다.

특정 포트로 통신이 가능한지 확인한다는 것은 단순히 상대 서버가 켜져 있는지 보는 것과 다릅니다. ping이 된다고 해서 특정 포트가 열려 있다는 뜻은 아니고, 반대로 ping이 안 된다고 해서 반드시 서비스 접속이 불가능하다는 뜻도 아닙니다. 실제 서비스 통신 가능 여부는 해당 서버의 IP 주소와 포트 번호를 기준으로 확인해야 합니다.

윈도우

telnet 명령어 이용하는 방법

  • 텔넷 클라이언트 기능을 추가합니다.
  • 명령 프롬프트(CMD) 또는 PowerShell에서 다음과 같이 명령합니다. google.com의 443 포트가 열렸는지 확인하는 것입니다.
C:\Users\JB>telnet google.com 443
  • 포트가 열려 있다면 아무 내용 없는 창이 나옵니다.
  • 만약 닫혀 있다면 아래와 같이 연결하지 못한다는 메시지가 나옵니다.
C:\Users\JB>telnet google.com 444
연결 대상 google.com...호스트에 연결할 수 없습니다. 포트 444: 연결하지 못했습니다.

tnc 명령어 이용하는 방법

  • PowerShell에서 다음과 같이 명령합니다. google.com의 443 포트가 열렸는지 확인하는 것입니다.
  • 열려 있다면 True...
PS C:\Users\JB> tnc google.com -port 443

ComputerName     : google.com
RemoteAddress    : 142.250.76.142
RemotePort       : 443
InterfaceAlias   : Ethernet
SourceAddress    : 192.168.0.201
TcpTestSucceeded : True
  • 그렇지 않다면 False를 반환합니다.
PS C:\Users\JB> tnc google.com -port 444
경고: TCP connect to (142.250.76.142 : 444) failed

ComputerName           : google.com
RemoteAddress          : 142.250.76.142
RemotePort             : 444
InterfaceAlias         : Ethernet
SourceAddress          : 192.168.0.201
PingSucceeded          : True
PingReplyDetails (RTT) : 34 ms
TcpTestSucceeded       : False

Test-NetConnection 명령어 이용하는 방법

  • PowerShell에서 다음과 같이 명령합니다. google.com의 443 포트가 열렸는지 확인하는 것입니다.
PS C:\Users\jb> Test-NetConnection -ComputerName google.com -Port 443                                                                                                                                                                                                                                                                                                   ComputerName     : google.com
RemoteAddress    : 142.250.207.110
RemotePort       : 443
InterfaceAlias   : Ethernet
SourceAddress    : 192.168.0.200
TcpTestSucceeded : True

리눅스

  • nc 명령어로 확인할 수 있습니다.
# nc -zv google.com 443
Ncat: Version 7.70 ( https://nmap.org/ncat )
Ncat: Connected to 142.250.206.206:443.
Ncat: 0 bytes sent, 0 bytes received in 0.05 seconds.

 

같은 카테고리의 다른 글
HP 노트북 / BIOS에서 펑션키 사용 해제 하는 방법

HP 노트북 / BIOS에서 펑션키 사용 해제 하는 방법

가끔 사용하는 구형 HP 노트북이 있다. 사양이 좋지 않아서 윈도우와 꼭 필요한 소프트웨어만 설치해서 사용한다. HP에서 제공하는 각종 유틸리티도 설치하지 않았다. 그래서 펑션키(Function Key) 사용 여부를 소프트웨어로 제어할 수 없다. 이런 경우 BIOS에서 설정을 변경하여 펑션키 사용을 해제할 수 있다. 부팅할 때 ESC 키를 누르면 다음과 같은 화면이 나온다. F10을 눌러서 BIOS Setup으로 ...

컴퓨터 부팅 시 Over Current Have Been Detected On Your USB Device!! 에러가 날 때 해결 방법

컴퓨터 부팅 시 Over Current Have Been Detected On Your USB Device!! 에러가 날 때 해결 방법

컴퓨터를 켤 때 다음과 같은 문구를 보여준 후 컴퓨터가 꺼지는 경우가 있다. Over Current Have Been Detected On Your USB Device!! System will shutdown after 15 seconds to protect your mainboard!! 이유는 문구에 있는대로 메인보드에 연결된 USB에 문제가 있다는 것. 해결 방법... 컴퓨터에 연결된 모든 USB를 제거하고 켜지는지 확인하는 것이다. USB 포트에 연결된 것을 ...

안드로이드 / 앱 / 동행복권 / 스마트폰에서 로또 당첨 여부 쉽게 확인하는 방법

안드로이드 / 앱 / 동행복권 / 스마트폰에서 로또 당첨 여부 쉽게 확인하는 방법

로또를 거의 매주 산다. 돈을 기부한다는 느낌이 들기도 하지만, 가끔 당첨이 된다. 가장 많이 받은 건 5만 원. 그 돈으로 다시 로또를 사니 별 의미는 없다. 당첨 여부 확인은... 예전에는 숫자를 보면서 하나하나 맞췄는데 요즘은 동행복권 Lite라는 앱으로 한다. 로또에는 QR 코드가 있고, 동행복권 Lite라는 앱에서 스캔하면... 바로 결과가 나온다. 너무 빨라서 ...

Ubuntu 18.04 Server / Apache / 사용자 인증 만드는 방법

Ubuntu 18.04 Server / Apache / 사용자 인증 만드는 방법

웹사이트의 콘텐츠를 특정 사용자만 볼 수 있게 하는 방법은 여러 가지가 있습니다. 만약 웹서버에 대한 충분한 권한이 있다면, Apache를 이용하여 구현할 수 있습니다. 비밀번호 파일 만들기 비밀번호 파일은 htpasswd 명령어로 만듭니다. /home/auth/ 디렉토리에 passwords라는 이름의 파일을 만들고, 사용자 user1의 비밀번호를 정하고 싶다면 다음과 같이 명령합니다. # htpasswd -c /home/auth/passwords user1 .htaccess 파일 만들기 웹사이트의 루트 ...

Ubuntu 18.04 Server / phpMyAdmin 설치하는 방법

Ubuntu 18.04 Server / phpMyAdmin 설치하는 방법

phpMyAdmin은 MySQL, MariaDB를 웹브라우저에서 관리할 수 있게 해주는 소프트웨어입니다. Ubuntu 18.04에 phpMyAdmin을 설치하고 설정하는 방법을 알아보겠습니다. 설치 apt install phpmyadmin 설치하는 과정에서 몇 가지 질문을 합니다. 사용하는 웹서버를 선택합니다. 비밀번호를 정하고... 다시 한 번 입력합니다. Yes를 선택하고 진행하면 설치가 끝납니다. 접속 웹브라우저로 서버 주소에 phpmyadmin을 붙여서 접속합니다. MySQL 또는 MariaDB의 사용자명과 암호를 입력해서 로그인하는데... root 계정으로 접속이 불가능할 수도 있습니다. 만약 root으로 ...

리눅스 / 명령어 / cd / 다른 디렉토리로 이동하는 명령어

cd는 change directory의 약자로, 다른 디렉토리로 이동하는 명령어이다. cd 현재 로그인한 사용자의 홈 디렉토리로 이동한다. 일반적으로 root 계정이라면 /root로, 사용자 jb 계정이라면 /home/jb로 이동한다. cd ~user user의 홈 디렉토리로 이동한다. 다음과 같이 명령하면 jb 사용자의 홈 디렉토리로 이동한다. # cd ~jb cd 디렉토리명 지정한 디렉토리로 이동한다. 절대경로, 상대경로 다 사용할 수 있다. 다음과 같이 명령하면 /etc 디렉토리로 이동한다. # cd /etc 현재 ...

AMD CPU, 기가바이트 메인보드 사용 시 가상화 기능 활성화하는 방법

AMD CPU, 기가바이트 메인보드 사용 시 가상화 기능 활성화하는 방법

Windows에서 VirtualBox, 안드로이드 스튜디오 등을 사용하려면 가상화 기능을 활성화해야 합니다. 기가바이트 메인보드에서 AMD CPU 가상화 기능은 보통 BIOS에서 SVM Mode라고 표시됩니다.

워드프레스 / 업데이트 하는 방법

워드프레스 / 업데이트 하는 방법

업데이트 알림 업데이트가 있으면 여기 저기 알림이 뜬다. 이를 클릭하여 업데이트 페이지로 이동한다. 업데이트는 워드프레스 자체, 플러그인, 테마, 번역 네 가지로 구분된다. 워드프레스 업데이트 워드프레스 자체를 업데이트할 때는 를 클릭한다. 잠시 기다리면 업데이트가 완료되고, 새 버전에 대한 안내가 나온다. 플러그인, 테마 업데이트 플러그인이나 테마는 여러 개를 선택해서 일괄적으로 업데이트할 수 있다. 주의할 점 업데이트를 했을 때 문제가 ...

워드프레스 / 함수

워드프레스 / 함수

current_user_can() Returns whether the current user has the specified capability. Administrator라면 123을 출력한다. if ( current_user_can( 'administrator' ) ) { echo '123'; } is_admin()은 백엔드에서만 작동된다고 한다. has_post_thumbnail() 썸네일이 존재하는지 체크한다. wp_is_mobile() 모바일로 접속했는지 체크한다.

워드프레스 / 샘플 데이터 만드는 방법

워드프레스 / 샘플 데이터 만드는 방법

워드프레스를 공부하거나, 테마를 만들 때 글, 페이지, 이미지, 댓글 등이 필요하다. 이러한 샘플 데이터를 만드는 방법 중의 하나는 플러그인을 사용하는 것이다. 플러그인 추가 페이지에서 dummy로 검색하면 꽤 많은 결과가 나온다. 하지만, 개인적으로 애용하는 건 Theme Unit Test이다. 다양한 형식의 글과 페이지들을 포함하고 있기 때문이다. 사용하는 방법은... XML 파일 다운로드 Theme Unit Test 사이트에 ...