Bash

使用 /dev/tcp/host/port 命令的不同方法以及在哪裡可以找到有關此的手冊頁

  • April 8, 2018

使用 /dev/tcp/host/port 命令有哪些不同的方法以及在哪裡可以找到有關此的手冊頁?

< /dev/tcp/www.google.com/80

cat > /dev/tcp/www.google.com/80

至於語法的官方參考,請man bash並蒐索有關重定向的部分。

從 Solaris 機器檢查數千個節點的某些埠上的連接,其中 netcat 或 nc 不可用

使用 bash 的網路重定向功能的一種方法是將一些文本回顯到該主機的埠並查看它是否成功。Bash 根據其連接到該主機上的該埠的能力返回真/假。

範常式式碼,顯示了一組主機、一組埠,並嘗試通過 TCP 連接到這些埠:

#!/bin/bash

hosts=(127.0.0.1 127.0.0.2 127.0.0.3)
ports=(22 23 25 80)

for host in "${hosts[@]}"
do
 for port in "${ports[@]}"
 do
   if echo "Hi from Bharat's scanner at $(uname -n)" 2>/dev/null > /dev/tcp/"$host"/"$port"
   then
     echo success at "$host":"$port"
   else
     echo failure at "$host":"$port"
   fi
 done
done

由於 UDP 是無狀態的,因此測試的返回碼對掃描沒有用處。您必須使用AB 的範例來擷取輸出並查看它是否符合您的期望。

引用自:https://unix.stackexchange.com/questions/436200