Operation System/General 포트 오픈 확인하기 (telent, curl, python) - 728x90 반응형 서버 대 서버 또는 클라이언트 대 서버 포트 연결이 정상적으로 이루어져있는지 확인하는 방법 telnet telnet을 통해 확인할 수 있는 포트 오픈 상태 telnet <IP> <PORT> 서버와 통신이 되며 포트 오픈이 되었을 때 # telnet 192.168.152.31 8629 Trying 192.168.152.31... Connected to 192.168.152.31. Escape character is '^]'. 서버와 통신이 되며 포트 오픈이 되어 있지 않을 때 # telnet 192.168.151.32 18629 Trying 192.168.151.32... telnet: connect to address 192.168.151.32: Connection refused 서버와 통신이 되며 포트 오픈이 되어 있고 네트워크 상태가 정상이라면 즉시 telnet에 연결 됩니다. 서버와 통신이 되며 포트 오픈이 되어 있지 않으면 telnet 명령 수행 시 15초(timeout) 동안 통신 되지 않으면 telnet이 종료 됩니다. 15초 내에 통신이 재개 되거나 즉시 연결이 되지 않고 간헐적으로 연결이 늦어진다면 네트워크 상태가 불안할 수 있습니다. 간혹 서버와 통신 되며 포트 오픈이 되어 있다고 하지만 통신이 안된다고 하면 ! 프로세스가 다운 되어 있을 수 있습니다. 프로세스가 다운되면 포트도 함께 내려 갑니다. 방화벽에서 차단되고 있을 수 있습니다. OS 방화벽 (iptables, firewalld, Windows Defender 방화벽) 방화벽 장비 curl curl -v 옵션을 사용하여 Connected를 확인할 수 있습니다. 생각보다 유용하며 docker container 환경에서도 telnet은 설치되어 있지 않지만 curl은 설치 되어 있으니 활용 가능 합니다. 연결 성공 # curl -v telnet://x.x.x.x:22 * About to connect() to x.x.x.x port 22 (#0) * Trying x.x.x.x... * Connected to x.x.x.x (x.x.x.x) port 22 (#0) 연결 실패 # curl -v telnet://x.x.x.x:1521 * About to connect() to x.x.x.x port 1521 (#0) * Trying x.x.x.x... * Connection refused * Failed connect to x.x.x.x:1521; Connection refused * Closing connection 0 curl: (7) Failed connect to x.x.x.x:1521; Connection refused python Linux/Unix는 기본적으로 python2가 설치되어 있습니다. (최신버전에서는 python3으로 변경 됨) python2나 python3는 테스트에는 영향 없음 # cat portscan.py import socket sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.settimeout(2) result = sock.connect_ex(('<IP>',<Port>)) if result == 0: print('open') else: print('false') 연결 성공 # python portscan.py open 연결 실패 # python portscan.py false 대부분의 환경에서는 telnet이 사용 가능 합니다. 최근 MSA(MicroService Architecture) 때문에 Container 환경이 주를 이루는 경우 telnet 패키지가 설치가 되어 있지 않는 경우가 있습니다. Container 환경에 curl은 image에 기본으로 탑재되어 있어 활용 가능 합니다. curl도 되지 않는 환경이라면 활용 가능한 언어에서 socket라이브러리를 활용하여 직접 구현하여 사용하셔도 됩니다. (python, 기타 언어들) 728x90 반응형 공유하기 URL 복사카카오톡 공유페이스북 공유엑스 공유 게시글 관리 구독하기Tracker 저작자표시 비영리 변경금지 당신이 좋아할만한 콘텐츠 파일 정합성 확인 (MD5, SHA1, SHA2, HASH) 2022.09.01 댓글 0 + 이전 댓글 더보기