所以我有一個腳本創建一個隧道。要做到這一點,它使用隨機端口。 這是隨機的端口代如何確保選擇殼體中的開放端口
RPORT=1
while [ $RPORT -lt 2000 ]
do
RPORT=$[($RANDOM % 3000) + 1]
done
這是一個好只有當它選擇的端口是不使用的邏輯。如果該端口處於活動狀態,則在使用該端口時無法訪問該服務器。
我想要做這樣的事情
while [netsat -nat | grep $RPORT] = true
do
RPORT=$[($RANDOM % 3000) + 1]
所以我首先要檢查,如果該端口正在使用中,如果是這樣,尋找另一個隨機端口,檢查它是否在使用中,如果沒有則用它。
非常感謝您提前幫助您!
https://superuser.com/questions/885414/linux-command-get-unused-port –
非常感謝鏈接!這個功能就是我所需要的。 'code'function random_unused_port {netstat --listening --all --tcp --numeric | sed'1,2d; s/[^ [:space:]] * [[:space:]] * [^ [:空間:]] * [[:空間:]] * [^ [:空間:]] * [[:空間:]] * [^ [:空間:]] *:\([0-9] * \)[[:space:]] *。*/\ 1/g'| sort -n | uniq; seq 1 1000; seq 1 65535 ) sort -n | uniq -u | shuf -n 1 } RANDOM_PORT = $(random_unused_port)'code' –