TOC:
- ใช้ทุบตีและ
timeout
- การใช้
nc
- คำสั่ง
- RHEL 6 (nc-1.84)
- RHEL 7 (nmap-ncat-6.40)
- หมายเหตุ
ใช้ทุบตีและtimeout
:
โปรดทราบว่าtimeout
ควรมี RHEL 6+ หรือพบได้ใน GNU coreutils 8.22 บน MacOS, ติดตั้งโดยใช้และใช้เป็นbrew install coreutils
gtimeout
คำสั่ง:
$ timeout $TIMEOUT_SECONDS bash -c "</dev/tcp/${HOST}/${PORT}"; echo $?
หากทำการโฮสต์โฮสต์และพอร์ตตรวจสอบให้แน่ใจว่าได้ระบุเป็น${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 หลาย ๆ คำสั่งที่ล้มเหลวด้านบนจะวนไปวนมาหลายคนหรือทั้งหมด ตัวอย่างเช่น:
$ 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 หลาย ๆ คำสั่งที่ล้มเหลวด้านบนจะวนไปวนมาหลายคนหรือทั้งหมด ตัวอย่างเช่น:
$ 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 $?
คำสั่งของหลักสูตรสำหรับภาพเท่านั้น