리눅스 통신 테스트 방법
프로젝트 및 개발 할때 가장 기본이 되는게 방화벽 확인 및 통신테스트 인 것 같습니다.
그리고 네트워크 담당자 서버 담당자들이 다 다르고 telnet 등 명령어가 설치가 안되거나 하는 경우도 있습니다.
그럴때는 난감해서 리눅스에서 통신테스트 하는 방법 3가지를 설명해드리고자 글을 작성하였습니다.
그리고 telnet 통신시 상황에 따라 판단해야 할 방법도 같이 설명해드리겠습니다.
리눅스에서 통신 테스트 하는 방법 3가지 알려드리겠습니다.
1. telnet
사용법
telnet IP PORT
[성공시]
$ telnet 192.168.10.100 23311
Trying 192.168.10.100 ...
Connected to 192.168.10.100 .
Escape character is '^]'.
[실패시 1]
$ telnet 192.168.10.100 23312
Trying 192.168.10.100 ...
telnet: connect to address 192.168.10.100 : Connection refused
설명 : Connection refused : 방화벽은 열려있지만, 프로세스가 안 떠있는 상태
[실패시 2]
$ telnet 192.168.10.100 23312
Trying 192.168.10.100 ...
Connection timed out
설명 : Connection refused : 방화벽 막혀있는 상태
[실패시 3]
연결후 바로 끊기는경우
설명 : 서버 자체 보안솔루션 확인 필요
telnet 설치되어 있지만 telnet 명령어 막혀있는경우
alias tnet='telnet'
tnet IP PORT
$ alias tnet='telnet'
$ telnet 192.168.10.100 23311
Trying 192.168.10.100 ...
Connected to 192.168.10.100 .
Escape character is '^]'.
2. curl
curl -v telnet://IP:PORT/
연결 실패 시
$ curl -v telnet:// 192.168.10.100 : 23312
* About to connect() to 192.168.10.100 port 23312 (#0)
* Trying 192.168.10.100 ...
* 연결이 거부됨
* Failed connect to 192.168.10.100 : 23312 ; 연결이 거부됨
* Closing connection 0
curl: (7) Failed connect to 192.168.10.100 : 23312 ; 연결이 거부됨
연결 성공 시
$ curl -v telnet:// 192.168.10.100 : 23311
* About to connect() to 192.168.10.100 port 23311 (#0)
* Trying 192.168.10.100 ...
* Connected to 192.168.10.100 ( 192.168.10.100 ) port 23311 (#0)
3. /dev/tcp
/dev/tcp/IP/PORT
연결 실패 시
$ echo > /dev/tcp/ 192.168.10.100 / 23312
-bash: connect: 연결이 거부됨
-bash: /dev/tcp/ 192.168.10.100 / 23312 : 연결이 거부됨
$ echo $?
1
연결 성공 시
$ echo > /dev/tcp/ 192.168.10.100 / 23311
$ echo $?
0
처음 서버를 받고나서 혹은 개발서버 운영서버 소스코드 올리거나 프로젝트 오픈하기전에 위 3가지 방법으로 통신테스트 하시면 될 것 같습니다.
감사합니다.