使用shell指令碼配合nc命令來達到我們的目的.
用shell指令碼實現兩個需求:
1 掃瞄多台伺服器的乙個埠是否開啟
2 掃瞄多台伺服器的多個埠是否開啟
關於nc命令
nc 是netcat的縮寫,它是通過使用tcp/udp的網路協議的連線來讀或寫資料,可以直接被第三方程式或指令碼直接呼叫.也是一款功能非常強大的網路除錯工具,它可以建立所有你所需要的連線方式.
nc 工具主要有三種功能模式:
連線模式
監聽模式
通道模式
使用格式:
]# nc [-options][hostname or ip] [portnumber]
應用1
掃瞄多台伺服器的乙個埠是否開啟
1)可以將需要查詢的所有伺服器位址全部寫到乙個server_list.txt檔案裡.每個位址單獨一行
# cat server-list.txt
192.168.1.2
192.168.1.3
192.168.1.4
192.168.1.5
192.168.1.6
192.168.1.7
2)用for迴圈依次掃瞄server_list.txt裡對應伺服器的埠是否開啟.
]#vim port_scan.sh
#!/bin/bash
for server in `more server-list.txt`
do#echo $i
nc -zvw3 $server 22
done
給指令碼賦予執行許可權
]# chmod +x port_scan.sh
3)執行指令碼來自動檢查多個伺服器的22埠是否已經開啟
]# bash port_scan.sh
應用2
掃瞄多台伺服器的多個埠是否已經開啟
1)可以將需要查詢的所有伺服器位址全部寫到乙個server_list.txt檔案裡.每個位址單獨一行
2)將需要查詢的伺服器端口全部寫到乙個port_list.txt檔案裡,每個埠單獨一行
]#cat port-list.txt
22 80
3306
3)用for迴圈依次掃瞄server_list.txt裡對應伺服器port_list.txt所列埠是否開啟.
注意,這裡用兩個for迴圈,第一層是伺服器列表,第二層是埠列表
]#vim multiple_port_scan.sh
#!/bin/bash
for server in `more server_list.txt`
do for port in `more port_list.txt`
do #echo $server
nc -zvw3 $server $port
echo ""
done
done
給指令碼賦予執行許可權
]#chmod +x multiple_port_scan.sh
4)執行指令碼來自動檢查多個伺服器的多個埠是否已經開啟
]# bash multiple_port_scan.sh
shell多個指令碼同時執行
1 編寫多程序實驗指令碼 demo.sh bin bash sub1.log sub2.log sub3.log function sub1 doecho date t sub1.log 注意date 和 號之間有空格。如 date m d date取 月 日 的命令列。sleep 1 done f...
shell指令碼的使用
說明 chmod a x test.sh 使指令碼具有執行許可權 a 20 b 10 1.算術運算子列表 運算子 說明 舉例 加法 expr a b 結果為 30。減法 expr a b 結果為 10。乘法 expr a b 結果為 200。乘法使用不同 除法 expr a b 結果為 2。取餘 e...
Shell指令碼常見使用
shell指令碼常見使用 echo 命令用於向視窗輸出文字 定義變數 your name rrr 變數名和等號之間不能有空格 使用乙個定義過的變數,要在變數名前面加美元符號 如 echo 加花括號是為了幫助直譯器識別變數的邊界 刪除變數 unset variable name 字串 雙引號的優點 雙...