Linux埠探測指令碼

多喜欢你哟發表於2024-04-22
#!/bin/bash

# 定義需要測試的主機和埠
host="baidu.com"
port="80"

# 設定迴圈測試的間隔時間(以秒為單位)
interval=1

# 定義 nc 命令超時時間
timeout_duration=1

# 定義儲存結果的檔案路徑
output_file="Sc4_port_test.txt"

# 迴圈測試埠連通性
while true; do
  # 使用 timeout 命令設定 nc 命令的超時時間,測試埠連通性
  timeout "$timeout_duration" nc -zv "$host" "$port" >/dev/null 2>&1

  # 檢查 nc 命令的退出狀態碼
  if [ $? -eq 0 ]; then
    result="$(date) Port $port is connected to host $host"
  else
    result="$(date) Connected port $port is inaccessible on host $host"
  fi

  # 將結果追加到檔案中
  echo "$result" >> "$output_file"

  # 等待一段時間後進行下一次測試
  sleep "$interval"
done

相關文章