亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

測試是否從Shell腳本打開了遠程TCP端口

測試是否從Shell腳本打開了遠程TCP端口

API
阿晨1998 2019-11-04 15:51:01
我正在尋找一種快速,簡單的方法來從Shell腳本內部正確測試遠程服務器上是否打開了給定的TCP端口。我已經用telnet命令做到了,當打開端口時,它可以正常工作,但是當端口不打開時,它似乎并沒有超時,而只是掛在那里。這是一個示例:l_TELNET=`echo "quit" | telnet $SERVER $PORT | grep "Escape character is"`if [ "$?" -ne 0 ]; then  echo "Connection to $SERVER on port $PORT failed"  exit 1else  echo "Connection to $SERVER on port $PORT succeeded"  exit 0fi我或者需要一種更好的方法,或者是一種強制telnet超時的方法(例如,如果它在8秒內沒有連接),然后返回我可以在Shell中捕獲的內容(返回代碼或stdout中的字符串)。我知道Perl方法,該方法使用IO :: Socket :: INET模塊并編寫了成功的腳本來測試端口,但如果可能的話,希望避免使用Perl。注意:這就是我的服務器正在運行的(我需要從中運行)SunOS 5.10 Generic_139556-08 i86pc i386 i86pc
查看完整描述

3 回答

?
紅糖糍粑

TA貢獻1815條經驗 獲得超6個贊

正如B. Rhodes指出的那樣,nc將完成此工作。一種更緊湊的使用方式:


nc -z <host> <port>

這樣nc只會檢查端口是否打開,成功則以0退出,失敗則以1退出。


快速互動檢查(5秒超時):


nc -z -v -w5 <host> <port>


查看完整回答
反對 回復 2019-11-04
  • 3 回答
  • 0 關注
  • 998 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號