TOC :
- bash 사용
timeout
- 사용
nc
- 명령
- RHEL 6 (nc-1.84)
- RHEL 7 (nmap-ncat-6.40)
- 비고
bash 및 timeout
:
참고 timeout
RHEL 6+에 존재하는지, 대안 GNU에서 발견은 8.22로 coreutils. MacOS에서는 다음을 사용하여 설치 brew install coreutils
하고로 사용하십시오 gtimeout
.
명령:
$ timeout $TIMEOUT_SECONDS bash -c "</dev/tcp/${HOST}/${PORT}"; echo $?
호스트와 포트를 parametrizing 경우로를 지정해야 ${HOST}
하고 ${PORT}
위와입니다. 같은 단지를 지정하지 마십시오 $HOST
과 $PORT
중괄호없이, 즉; 이 경우에는 작동하지 않습니다.
예:
성공:
$ timeout 2 bash -c "</dev/tcp/canyouseeme.org/80"; echo $?
0
실패:
$ timeout 2 bash -c "</dev/tcp/canyouseeme.org/81"; echo $?
124
의 종료 상태를 유지해야하는 경우 bash
,
$ timeout --preserve-status 2 bash -c "</dev/tcp/canyouseeme.org/81"; echo $?
143
사용 nc
:
이전 버전과 호환되지 않는 버전의 nc
RHEL 7에 설치되었습니다.
명령:
아래 명령은 RHEL 6과 7에서 동일하다는 점에서 고유합니다. 이는 설치와 출력이 다릅니다.
$ nc -w $TIMEOUT_SECONDS -v $HOST $PORT </dev/null; echo $?
RHEL 6 (nc-1.84) :
설치:
$ sudo yum install nc
예 :
성공:
$ nc -w 2 -v canyouseeme.org 80 </dev/null; echo $?
Connection to canyouseeme.org 80 port [tcp/http] succeeded!
0
실패:
$ nc -w 2 -v canyouseeme.org 81 </dev/null; echo $?
nc: connect to canyouseeme.org port 81 (tcp) timed out: Operation now in progress
1
호스트 이름이 여러 IP에 매핑되면 위의 명령이 실패하거나 많은 IP 전체를 순환합니다. 예를 들면 다음과 같습니다.
$ nc -w 2 -v microsoft.com 81 </dev/null; echo $?
nc: connect to microsoft.com port 81 (tcp) timed out: Operation now in progress
nc: connect to microsoft.com port 81 (tcp) timed out: Operation now in progress
nc: connect to microsoft.com port 81 (tcp) timed out: Operation now in progress
nc: connect to microsoft.com port 81 (tcp) timed out: Operation now in progress
nc: connect to microsoft.com port 81 (tcp) timed out: Operation now in progress
1
RHEL 7 (nmap-ncat-6.40) :
설치:
$ sudo yum install nmap-ncat
예 :
성공:
$ nc -w 2 -v canyouseeme.org 80 </dev/null; echo $?
Ncat: Version 6.40 ( http://nmap.org/ncat )
Ncat: Connected to 52.202.215.126:80.
Ncat: 0 bytes sent, 0 bytes received in 0.22 seconds.
0
실패:
$ nc -w 2 -v canyouseeme.org 81 </dev/null; echo $?
Ncat: Version 6.40 ( http://nmap.org/ncat )
Ncat: Connection timed out.
1
호스트 이름이 여러 IP에 매핑되면 위의 명령이 실패하거나 많은 IP 전체를 순환합니다. 예를 들면 다음과 같습니다.
$ nc -w 2 -v microsoft.com 81 </dev/null; echo $?
Ncat: Version 6.40 ( http://nmap.org/ncat )
Ncat: Connection to 104.43.195.251 failed: Connection timed out.
Ncat: Trying next address...
Ncat: Connection to 23.100.122.175 failed: Connection timed out.
Ncat: Trying next address...
Ncat: Connection to 23.96.52.53 failed: Connection timed out.
Ncat: Trying next address...
Ncat: Connection to 191.239.213.197 failed: Connection timed out.
Ncat: Trying next address...
Ncat: Connection timed out.
1
비고 :
-v
( --verbose
) 인수와 echo $?
명령은 설명을위한 물론이다.