[問題] 有關 nc 的執行結果
各位好,
不知道有沒有哪位大大同時在 CentOS 和 RHEL3 上面使用過 nc 這個指令的?
我主要是想要用這個指令對其他機器進行監控,
然後利用監控的結果來發檢查信。
但無奈地光是使用這個指令就會有不同的結果發生。
以下 xxx.xxx.xxx.xxx 和 yyyy 分別代表我要監控的 Host IP 和 Port
RHEL3:
指令:nc -v -w 1 xxx.xxx.xxx.xxx -z yyyy
結果:xxx-xxx-xxx-xxx.com.tw [xxx.xxx.xxx.xxx] yyyy open
而且這個結果不能直接用指令抓來用,
原因是他如果在 nc 的執行指令最後面加上 2>/dev/null 就不會有這行結果了。
CentOS:
指令:nc -v -w 1 xxx.xxx.xxx.xxx -z yyyy
結果:Connection to xxx.xxx.xxx.xxx yyyy port [tcp] succeeded!
這行可以直接以指令抓來用,所以可以直接用來判定監控結果是否正確。
所以想請問一下,nc 這個指令是否可以在 RHEL3 上面使用?
或是有什麼其他的執行結果可供抓取?感謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.24.141.18
→
02/27 01:37, , 1F
02/27 01:37, 1F
→
02/27 02:01, , 2F
02/27 02:01, 2F
直接下指令:echo $(nc -v -w 1 xxx.xxx.xxx.xxx -z yyyy) | grep open | wc -1
可以正確抓到 1 的數值
但是,如果把他寫成條件式就抓不到,不清楚為啥 @@
條件式寫法:
(前面省略)
result=$(nc -v -w 1 $ip -z $port 2>&1)
if "[ "$(echo $result | grep "open" | wc -1)" == 1 ];
then echo -e "connection succeeded."
elif "[ "$(echo $result | grep "refused" | wc -l)" == 1 ];
then echo -e "connection failed."
else echo -e "connection data error!"
fi
(後面省略)
※ 編輯: pizzahut 來自: 60.248.152.80 (02/27 10:05)
→
02/27 10:26, , 3F
02/27 10:26, 3F
→
02/27 11:05, , 4F
02/27 11:05, 4F
推
02/27 20:03, , 5F
02/27 20:03, 5F
→
03/01 21:47, , 6F
03/01 21:47, 6F